Chromium Code Reviews| 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..cf1f5304a5653c22abbead61260109e34578c125 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(extension_id); |
|
Yusuke Sato
2011/12/05 03:42:13
nit: engines_.erase(engine_map); would be better
Zachary Kuznia
2011/12/06 01:50:08
Done.
|
| + } |
| + |
| + 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(extension_id); |
|
Yusuke Sato
2011/12/05 03:42:13
ditto.
observers_.erase(observer_list);
Zachary Kuznia
2011/12/06 01:50:08
Done.
|
| + } |
| +} |
| #endif |
| chromeos::InputMethodEngine* ExtensionInputImeEventRouter::GetEngine( |