1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "mojo/services/html_viewer/blink_basic_type_converters.h"
6
7#include "mojo/public/cpp/bindings/string.h"
8#include "third_party/WebKit/public/platform/WebString.h"
9
10using blink::WebString;
11
12namespace mojo {
13
14// static
15String TypeConverter<String, WebString>::Convert(const WebString& str) {
16  return String(str.utf8());
17}
18
19// static
20WebString TypeConverter<WebString, String>::Convert(const String& str) {
21  return WebString::fromUTF8(str.get());
22}
23
24// static
25Array<uint8_t> TypeConverter<Array<uint8_t>, blink::WebString>::Convert(
26    const blink::WebString& input) {
27  std::string utf8 = input.utf8();
28  Array<uint8_t> result(utf8.size());
29  for (size_t i = 0; i < utf8.size(); ++i)
30    result[i] = utf8[i];
31  return result.Pass();
32}
33
34}  // namespace mojo
35