summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions
diff options
context:
space:
mode:
authortony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-29 19:48:54 +0000
committertony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-29 19:48:54 +0000
commit08daf0542dc5743a82bf55e8684bf1625ad7d997 (patch)
treeff4c2a2199746fff3c6d29e46d32e7e0e9e5ced9 /chrome/renderer/extensions
parentaece9ccd4c38dca6daad04c94d1cc96677e1fbac (diff)
downloadchromium_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.cc10
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|