diff --git a/libcef/browser_webkit_glue_mac.mm b/libcef/browser_webkit_glue_mac.mm index b4536e673..71dc2c302 100644 --- a/libcef/browser_webkit_glue_mac.mm +++ b/libcef/browser_webkit_glue_mac.mm @@ -60,9 +60,22 @@ string16 GetLocalizedString(int message_id) { LOG(FATAL) << "failed to load webkit string with id " << message_id; } - string16 result; - UTF8ToUTF16(res.data(), res.length(), &result); - return result; + // Data packs hold strings as either UTF8 or UTF16. + string16 msg; + switch (g_resource_data_pack->GetTextEncodingType()) { + case ui::DataPack::UTF8: + msg = UTF8ToUTF16(res); + break; + case ui::DataPack::UTF16: + msg = string16(reinterpret_cast(res.data()), + res.length() / 2); + break; + case ui::DataPack::BINARY: + default: + break; + } + + return msg; }