| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index a835f6a70886f0407638539606d0cc47866f14ad..51b9d242cc3b54aed150601519465bfcb4dc92ac 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -93,6 +93,8 @@
|
| #endif
|
|
|
| #if defined(OS_CHROMEOS) && defined(TOUCH_UI)
|
| +#include "chrome/browser/chromeos/cros/cros_library.h"
|
| +#include "chrome/browser/chromeos/cros/input_method_library.h"
|
| #include "chrome/browser/extensions/extension_input_ui_api.h"
|
| #endif
|
|
|
| @@ -1265,6 +1267,24 @@ void ExtensionService::NotifyExtensionLoaded(const Extension* extension) {
|
|
|
| if (plugins_changed || nacl_modules_changed)
|
| PluginService::GetInstance()->PurgePluginListCache(false);
|
| +
|
| +#if defined(OS_CHROMEOS) && defined(TOUCH_UI)
|
| + chromeos::InputMethodLibrary* input_method_library =
|
| + chromeos::CrosLibrary::Get()->GetInputMethodLibrary();
|
| + for (std::vector<Extension::InputComponentInfo>::const_iterator component =
|
| + extension->input_components().begin();
|
| + component != extension->input_components().end();
|
| + ++component) {
|
| + if (component->type == Extension::INPUT_COMPONENT_TYPE_VIRTUAL_KEYBOARD &&
|
| + !component->layouts.empty()) {
|
| + const bool is_system =
|
| + !Extension::IsExternalLocation(extension->location());
|
| + input_method_library->RegisterVirtualKeyboard(extension->url(),
|
| + component->layouts,
|
| + is_system);
|
| + }
|
| + }
|
| +#endif
|
| }
|
|
|
| void ExtensionService::NotifyExtensionUnloaded(
|
|
|