diff options
author | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-29 19:48:54 +0000 |
---|---|---|
committer | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-29 19:48:54 +0000 |
commit | 08daf0542dc5743a82bf55e8684bf1625ad7d997 (patch) | |
tree | ff4c2a2199746fff3c6d29e46d32e7e0e9e5ced9 /chrome/renderer/extensions | |
parent | aece9ccd4c38dca6daad04c94d1cc96677e1fbac (diff) | |
download | chromium_src-08daf0542dc5743a82bf55e8684bf1625ad7d997.zip chromium_src-08daf0542dc5743a82bf55e8684bf1625ad7d997.tar.gz chromium_src-08daf0542dc5743a82bf55e8684bf1625ad7d997.tar.bz2 |
Convert ReplaceStringPlaceholders(std::string...) to take a
StringPiece as the format string instead. This allows us to save
a string copy in the new tab page.
Also clean up some code in the extensions process binding that
was doing excess string conversions.
BUG=26228
Review URL: http://codereview.chromium.org/347019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30491 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions')
-rw-r--r-- | chrome/renderer/extensions/extension_process_bindings.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc index 428281e..2a69afd 100644 --- a/chrome/renderer/extensions/extension_process_bindings.cc +++ b/chrome/renderer/extensions/extension_process_bindings.cc @@ -325,7 +325,7 @@ class ExtensionImpl : public ExtensionBase { std::string message = ExtensionMessageBundle::GetL10nMessage(message_name, *l10n_messages); - std::vector<string16> substitutions; + std::vector<std::string> substitutions; if (args[1]->IsNull() || args[1]->IsUndefined()) { // chrome.i18n.getMessage("message_name"); // chrome.i18n.getMessage("message_name", null); @@ -333,7 +333,7 @@ class ExtensionImpl : public ExtensionBase { } else if (args[1]->IsString()) { // chrome.i18n.getMessage("message_name", "one param"); std::string substitute = *v8::String::Utf8Value(args[1]->ToString()); - substitutions.push_back(UTF8ToUTF16(substitute)); + substitutions.push_back(substitute); } else if (args[1]->IsArray()) { // chrome.i18n.getMessage("message_name", ["more", "params"]); v8::Array* placeholders = static_cast<v8::Array*>(*args[1]); @@ -343,15 +343,15 @@ class ExtensionImpl : public ExtensionBase { std::string substitute = *v8::String::Utf8Value( placeholders->Get(v8::Integer::New(i))->ToString()); - substitutions.push_back(UTF8ToUTF16(substitute)); + substitutions.push_back(substitute); } } else { NOTREACHED() << "Couldn't parse second parameter."; return v8::Undefined(); } - return v8::String::New(UTF16ToUTF8(ReplaceStringPlaceholders( - UTF8ToUTF16(message), substitutions, NULL)).c_str()); + return v8::String::New(ReplaceStringPlaceholders( + message, substitutions, NULL).c_str()); } // Common code for starting an API request to the browser. |value_args| |