summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_thread.cc
diff options
context:
space:
mode:
authorcira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-28 19:38:49 +0000
committercira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-28 19:38:49 +0000
commit75e126b937df6fcf5590f607adb460099211fb5a (patch)
treedea2e8c33b6777b36df3435179fd9e6840b77710 /chrome/renderer/render_thread.cc
parent99a19b7411d408c7471b3ee2c452f06f4d09259d (diff)
downloadchromium_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.cc9
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()
}