Commit a611d299 authored by abarth@chromium.org's avatar abarth@chromium.org

Introduce webkit_glue::Latin1OrUTF16ToUTF16

This function is helpful for converting WebStrings to string16s. See
https://codereview.chromium.org/15866003/ for more context about why we need
this function defined in base rather than in Blink.

R=darin

Review URL: https://chromiumcodereview.appspot.com/15720004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202644 0039d316-1c4b-4281-b951-d872f2087c98
parent 40270e2f
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "webkit/glue/latin1_string_conversions.h"
namespace webkit_glue {
string16 Latin1OrUTF16ToUTF16(size_t length,
const Latin1Char* latin1,
const char16* utf16) {
if (!length)
return string16();
if (latin1)
return string16(latin1, latin1 + length);
return string16(utf16, utf16 + length);
}
} // namespace webkit_glue
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef WEBKIT_GLUE_LATIN1_STRING_CONVERSIONS_H_
#define WEBKIT_GLUE_LATIN1_STRING_CONVERSIONS_H_
#include <string>
#include "base/base_export.h"
#include "base/string16.h"
#include "webkit/glue/webkit_glue_export.h"
namespace webkit_glue {
// This definition of Latin1Char matches the definition of LChar in Blink. We
// use unsigned char rather than char to make less tempting to mix and match
// Latin-1 and UTF-8 characters..
typedef unsigned char Latin1Char;
// This somewhat odd function is designed to help us convert from Blink Strings
// to string16. A Blink string is either backed by an array of Latin-1
// characters or an array of UTF-16 characters. This function is called by
// WebString::operator string16() to convert one or the other character array
// to string16. This function is defined here rather than in WebString.h to
// avoid binary bloat in all the callers of the conversion operator.
WEBKIT_GLUE_EXPORT string16 Latin1OrUTF16ToUTF16(size_t length,
const Latin1Char* latin1,
const char16* utf16);
} // namespace webkit_glue
#endif // WEBKIT_GLUE_LATIN1_STRING_CONVERSIONS_H_
......@@ -206,6 +206,8 @@
'glue_serialize.h',
'image_decoder.cc',
'image_decoder.h',
'latin1_string_conversions.cc',
'latin1_string_conversions.h',
'network_list_observer.h',
'npruntime_util.cc',
'npruntime_util.h',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment