From 771a61858de4f2fdb386fc807354cd90c7e2f7da Mon Sep 17 00:00:00 2001 From: "yusukes@chromium.org" Date: Wed, 5 Oct 2011 16:32:52 +0000 Subject: Stop using ExtensionInputMethodEventRouter as a singleton. This should be better since ~ExtensionInputMethodEventRouter depends on another singleton, InputMethodManager, and such dependency tend to cause a problem on shutdown. BUG=chromium-os:21283 TEST=trybot Review URL: http://codereview.chromium.org/7982052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104113 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/extensions/extension_input_method_api.cc | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'chrome/browser/extensions/extension_input_method_api.cc') diff --git a/chrome/browser/extensions/extension_input_method_api.cc b/chrome/browser/extensions/extension_input_method_api.cc index 60cec6e..cf2bbd2 100644 --- a/chrome/browser/extensions/extension_input_method_api.cc +++ b/chrome/browser/extensions/extension_input_method_api.cc @@ -7,6 +7,8 @@ #include "base/values.h" #include "chrome/browser/chromeos/input_method/input_method_manager.h" #include "chrome/browser/chromeos/extensions/input_method_event_router.h" +#include "chrome/browser/extensions/extension_service.h" +#include "chrome/browser/profiles/profile.h" namespace { @@ -21,16 +23,21 @@ GetInputMethodFunction::~GetInputMethodFunction() { } bool GetInputMethodFunction::RunImpl() { - if (!chromeos::ExtensionInputMethodEventRouter:: - IsExtensionWhitelisted(extension_id())) { +#if !defined(OS_CHROMEOS) + error_ = kErrorInputMethodPrivateApi; + return false; +#else + chromeos::ExtensionInputMethodEventRouter* router = + profile_->GetExtensionService()->input_method_event_router(); + if (!router->IsExtensionWhitelisted(extension_id())) { error_ = kErrorInputMethodPrivateApi; return false; } chromeos::input_method::InputMethodManager* manager = chromeos::input_method::InputMethodManager::GetInstance(); - std::string input_method = - chromeos::ExtensionInputMethodEventRouter::GetInputMethodForXkb( - manager->current_input_method().id()); + const std::string input_method = + router->GetInputMethodForXkb(manager->current_input_method().id()); result_.reset(Value::CreateStringValue(input_method)); return true; +#endif } -- cgit v1.1