Commit 727c393d authored by alemate's avatar alemate Committed by Commit bot

InputImeEventRouter::RegisterImeExtension should register extensions

to correct profile.

BUG=409501,407373
TEST=manual

Review URL: https://codereview.chromium.org/531613002

Cr-Commit-Position: refs/heads/master@{#292911}
parent 8b1ace10
......@@ -8,6 +8,7 @@
#include "base/values.h"
#include "chrome/browser/chromeos/input_method/input_method_engine.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
......@@ -340,6 +341,7 @@ InputImeEventRouter::GetInstance() {
}
bool InputImeEventRouter::RegisterImeExtension(
Profile* profile,
const std::string& extension_id,
const std::vector<extensions::InputComponentInfo>& input_components) {
VLOG(1) << "RegisterImeExtension: " << extension_id;
......@@ -388,8 +390,9 @@ bool InputImeEventRouter::RegisterImeExtension(
chromeos::InputMethodEngine* engine = new chromeos::InputMethodEngine();
engine->Initialize(observer.Pass(), extension_id.c_str());
engine_map_[extension_id] = engine;
manager->GetActiveIMEState()->AddInputMethodExtension(
extension_id, descriptors, engine);
chromeos::UserSessionManager::GetInstance()
->GetDefaultIMEState(profile)
->AddInputMethodExtension(extension_id, descriptors, engine);
return true;
}
......@@ -825,8 +828,10 @@ void InputImeAPI::OnExtensionLoaded(content::BrowserContext* browser_context,
const std::vector<InputComponentInfo>* input_components =
extensions::InputComponents::GetInputComponents(extension);
if (input_components)
input_ime_event_router()->RegisterImeExtension(extension->id(),
*input_components);
input_ime_event_router()->RegisterImeExtension(
Profile::FromBrowserContext(browser_context),
extension->id(),
*input_components);
}
void InputImeAPI::OnExtensionUnloaded(content::BrowserContext* browser_context,
......
......@@ -37,6 +37,7 @@ class InputImeEventRouter {
static InputImeEventRouter* GetInstance();
bool RegisterImeExtension(
Profile* profile,
const std::string& extension_id,
const std::vector<extensions::InputComponentInfo>& input_components);
void UnregisterAllImes(const std::string& extension_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment