| Index: chrome/browser/extensions/extension_input_ime_api.cc
|
| diff --git a/chrome/browser/extensions/extension_input_ime_api.cc b/chrome/browser/extensions/extension_input_ime_api.cc
|
| index 67a75de4a03e5319f4682829c076ca6d79211697..134581931c5fa9c358d6cddd77f87fd2fb093247 100644
|
| --- a/chrome/browser/extensions/extension_input_ime_api.cc
|
| +++ b/chrome/browser/extensions/extension_input_ime_api.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/extensions/extension_input_ime_api.h"
|
|
|
| #include "base/json/json_writer.h"
|
| +#include "base/stl_util.h"
|
| #include "base/string_number_conversions.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/chromeos/input_method/input_method_engine.h"
|
| @@ -423,6 +424,29 @@ bool ExtensionInputImeEventRouter::RegisterIme(
|
|
|
| return true;
|
| }
|
| +
|
| +void ExtensionInputImeEventRouter::UnregisterAllImes(
|
| + Profile* profile, const std::string& extension_id) {
|
| + std::map<std::string,
|
| + std::map<std::string,
|
| + chromeos::InputMethodEngine*> >::iterator engine_map =
|
| + engines_.find(extension_id);
|
| + if (engine_map != engines_.end()) {
|
| + STLDeleteContainerPairSecondPointers(engine_map->second.begin(),
|
| + engine_map->second.end());
|
| + engines_.erase(engine_map);
|
| + }
|
| +
|
| + std::map<std::string,
|
| + std::map<std::string,
|
| + chromeos::ImeObserver*> >::iterator observer_list =
|
| + observers_.find(extension_id);
|
| + if (observer_list != observers_.end()) {
|
| + STLDeleteContainerPairSecondPointers(observer_list->second.begin(),
|
| + observer_list->second.end());
|
| + observers_.erase(observer_list);
|
| + }
|
| +}
|
| #endif
|
|
|
| chromeos::InputMethodEngine* ExtensionInputImeEventRouter::GetEngine(
|
|
|