diff options
author | cira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-28 19:38:49 +0000 |
---|---|---|
committer | cira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-28 19:38:49 +0000 |
commit | 75e126b937df6fcf5590f607adb460099211fb5a (patch) | |
tree | dea2e8c33b6777b36df3435179fd9e6840b77710 /chrome/renderer/render_thread.cc | |
parent | 99a19b7411d408c7471b3ee2c452f06f4d09259d (diff) | |
download | chromium_src-75e126b937df6fcf5590f607adb460099211fb5a.zip chromium_src-75e126b937df6fcf5590f607adb460099211fb5a.tar.gz chromium_src-75e126b937df6fcf5590f607adb460099211fb5a.tar.bz2 |
Implementing chrome.i18n.getMessage call, that loads message from the extension catalog, and if necessary replaces placeholders (up to 9).
I have 3 forms of getMessage call:
getMessage("name") for simple messages without placeholders.
getMessage("name", "one param") for messages with only one placeholder.
getMessage("name", ["one", "two"]) for messages with only one or more placeholders.
getMessage returns string.
BUG=12131
TEST=Load samples/i18n extension (switch Chrome to sr locale) and observe ext. name, description and toolstrip texts should be in Serbian.
Review URL: http://codereview.chromium.org/225009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27393 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_thread.cc')
-rw-r--r-- | chrome/renderer/render_thread.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index 788b852..d753556 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -5,6 +5,7 @@ #include "chrome/renderer/render_thread.h" #include <algorithm> +#include <map> #include <vector> #include "base/command_line.h" @@ -238,6 +239,12 @@ void RenderThread::OnExtensionSetHostPermissions( ExtensionProcessBindings::SetHostPermissions(extension_url, permissions); } +void RenderThread::OnExtensionSetL10nMessages( + const std::string& extension_id, + const std::map<std::string, std::string>& l10n_messages) { + ExtensionProcessBindings::SetL10nMessages(extension_id, l10n_messages); +} + void RenderThread::OnControlMessageReceived(const IPC::Message& msg) { // App cache messages are handled by a delegate. if (appcache_dispatcher_->OnMessageReceived(msg)) @@ -273,6 +280,8 @@ void RenderThread::OnControlMessageReceived(const IPC::Message& msg) { OnExtensionSetAPIPermissions) IPC_MESSAGE_HANDLER(ViewMsg_Extension_SetHostPermissions, OnExtensionSetHostPermissions) + IPC_MESSAGE_HANDLER(ViewMsg_Extension_SetL10nMessages, + OnExtensionSetL10nMessages) IPC_END_MESSAGE_MAP() } |