Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: chrome/browser/extensions/extension_input_ime_api.cc

Issue 8761018: Start the IME Daemon when adding an extension IME (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code Review Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_input_ime_api.h" 5 #include "chrome/browser/extensions/extension_input_ime_api.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/stl_util.h"
8 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
9 #include "base/values.h" 10 #include "base/values.h"
10 #include "chrome/browser/chromeos/input_method/input_method_engine.h" 11 #include "chrome/browser/chromeos/input_method/input_method_engine.h"
11 #include "chrome/browser/extensions/extension_event_router.h" 12 #include "chrome/browser/extensions/extension_event_router.h"
12 #include "chrome/browser/extensions/extension_input_module_constants.h" 13 #include "chrome/browser/extensions/extension_input_module_constants.h"
13 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
14 15
15 namespace keys = extension_input_module_constants; 16 namespace keys = extension_input_module_constants;
16 17
17 namespace { 18 namespace {
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 417
417 engine_map[component.id] = engine; 418 engine_map[component.id] = engine;
418 419
419 std::map<std::string, chromeos::ImeObserver*>& observer_list = 420 std::map<std::string, chromeos::ImeObserver*>& observer_list =
420 observers_[extension_id]; 421 observers_[extension_id];
421 422
422 observer_list[component.id] = observer; 423 observer_list[component.id] = observer;
423 424
424 return true; 425 return true;
425 } 426 }
427
428 void ExtensionInputImeEventRouter::UnregisterAllImes(
429 Profile* profile, const std::string& extension_id) {
430 std::map<std::string,
431 std::map<std::string,
432 chromeos::InputMethodEngine*> >::iterator engine_map =
433 engines_.find(extension_id);
434 if (engine_map != engines_.end()) {
435 STLDeleteContainerPairSecondPointers(engine_map->second.begin(),
436 engine_map->second.end());
437 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.
438 }
439
440 std::map<std::string,
441 std::map<std::string,
442 chromeos::ImeObserver*> >::iterator observer_list =
443 observers_.find(extension_id);
444 if (observer_list != observers_.end()) {
445 STLDeleteContainerPairSecondPointers(observer_list->second.begin(),
446 observer_list->second.end());
447 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.
448 }
449 }
426 #endif 450 #endif
427 451
428 chromeos::InputMethodEngine* ExtensionInputImeEventRouter::GetEngine( 452 chromeos::InputMethodEngine* ExtensionInputImeEventRouter::GetEngine(
429 const std::string& extension_id, const std::string& engine_id) { 453 const std::string& extension_id, const std::string& engine_id) {
430 std::map<std::string, 454 std::map<std::string,
431 std::map<std::string, chromeos::InputMethodEngine*> >::const_iterator 455 std::map<std::string, chromeos::InputMethodEngine*> >::const_iterator
432 engine_list = engines_.find(extension_id); 456 engine_list = engines_.find(extension_id);
433 if (engine_list != engines_.end()) { 457 if (engine_list != engines_.end()) {
434 std::map<std::string, chromeos::InputMethodEngine*>::const_iterator 458 std::map<std::string, chromeos::InputMethodEngine*>::const_iterator
435 engine_ix = engine_list->second.find(engine_id); 459 engine_ix = engine_list->second.find(engine_id);
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 876
853 bool handled = false; 877 bool handled = false;
854 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(1, &handled)); 878 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(1, &handled));
855 879
856 ExtensionInputImeEventRouter::GetInstance()->OnEventHandled( 880 ExtensionInputImeEventRouter::GetInstance()->OnEventHandled(
857 extension_id(), request_id_str, handled); 881 extension_id(), request_id_str, handled);
858 882
859 return true; 883 return true;
860 } 884 }
861 #endif 885 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698