OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/api/input_ime/input_ime_api.h" | 5 #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" |
6 | 6 |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/chrome_notification_types.h" | 9 #include "chrome/browser/chrome_notification_types.h" |
10 #include "chrome/browser/chromeos/input_method/input_method_engine.h" | 10 #include "chrome/browser/chromeos/input_method/input_method_engine.h" |
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 return true; | 770 return true; |
771 } | 771 } |
772 #endif | 772 #endif |
773 | 773 |
774 InputImeAPI::InputImeAPI(content::BrowserContext* context) | 774 InputImeAPI::InputImeAPI(content::BrowserContext* context) |
775 : profile_(Profile::FromBrowserContext(context)) { | 775 : profile_(Profile::FromBrowserContext(context)) { |
776 registrar_.Add(this, | 776 registrar_.Add(this, |
777 chrome::NOTIFICATION_EXTENSION_LOADED, | 777 chrome::NOTIFICATION_EXTENSION_LOADED, |
778 content::Source<Profile>(profile_)); | 778 content::Source<Profile>(profile_)); |
779 registrar_.Add(this, | 779 registrar_.Add(this, |
780 chrome::NOTIFICATION_EXTENSION_UNLOADED, | 780 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, |
781 content::Source<Profile>(profile_)); | 781 content::Source<Profile>(profile_)); |
782 | 782 |
783 EventRouter* event_router = ExtensionSystem::Get(profile_)->event_router(); | 783 EventRouter* event_router = ExtensionSystem::Get(profile_)->event_router(); |
784 event_router->RegisterObserver(this, input_ime::OnActivate::kEventName); | 784 event_router->RegisterObserver(this, input_ime::OnActivate::kEventName); |
785 event_router->RegisterObserver(this, input_ime::OnFocus::kEventName); | 785 event_router->RegisterObserver(this, input_ime::OnFocus::kEventName); |
786 } | 786 } |
787 | 787 |
788 InputImeAPI::~InputImeAPI() { | 788 InputImeAPI::~InputImeAPI() { |
789 ExtensionSystem::Get(profile_)->event_router()->UnregisterObserver(this); | 789 ExtensionSystem::Get(profile_)->event_router()->UnregisterObserver(this); |
790 } | 790 } |
(...skipping 17 matching lines...) Expand all Loading... |
808 if (!input_components) | 808 if (!input_components) |
809 return; | 809 return; |
810 for (std::vector<extensions::InputComponentInfo>::const_iterator component = | 810 for (std::vector<extensions::InputComponentInfo>::const_iterator component = |
811 input_components->begin(); component != input_components->end(); | 811 input_components->begin(); component != input_components->end(); |
812 ++component) { | 812 ++component) { |
813 if (component->type == extensions::INPUT_COMPONENT_TYPE_IME) { | 813 if (component->type == extensions::INPUT_COMPONENT_TYPE_IME) { |
814 input_ime_event_router()->RegisterIme( | 814 input_ime_event_router()->RegisterIme( |
815 profile_, extension->id(), *component); | 815 profile_, extension->id(), *component); |
816 } | 816 } |
817 } | 817 } |
818 } else if (type == chrome::NOTIFICATION_EXTENSION_UNLOADED) { | 818 } else if (type == chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED) { |
819 const Extension* extension = | 819 const Extension* extension = |
820 content::Details<const UnloadedExtensionInfo>(details)->extension; | 820 content::Details<const UnloadedExtensionInfo>(details)->extension; |
821 const std::vector<InputComponentInfo>* input_components = | 821 const std::vector<InputComponentInfo>* input_components = |
822 extensions::InputComponents::GetInputComponents(extension); | 822 extensions::InputComponents::GetInputComponents(extension); |
823 if (!input_components) | 823 if (!input_components) |
824 return; | 824 return; |
825 if (input_components->size() > 0) | 825 if (input_components->size() > 0) |
826 input_ime_event_router()->UnregisterAllImes(profile_, extension->id()); | 826 input_ime_event_router()->UnregisterAllImes(profile_, extension->id()); |
827 } | 827 } |
828 } | 828 } |
829 | 829 |
830 void InputImeAPI::OnListenerAdded(const EventListenerInfo& details) { | 830 void InputImeAPI::OnListenerAdded(const EventListenerInfo& details) { |
831 InputMethodEngineInterface* engine = | 831 InputMethodEngineInterface* engine = |
832 input_ime_event_router()->GetActiveEngine(details.extension_id); | 832 input_ime_event_router()->GetActiveEngine(details.extension_id); |
833 if (engine) | 833 if (engine) |
834 engine->NotifyImeReady(); | 834 engine->NotifyImeReady(); |
835 } | 835 } |
836 | 836 |
837 InputImeEventRouter* InputImeAPI::input_ime_event_router() { | 837 InputImeEventRouter* InputImeAPI::input_ime_event_router() { |
838 return InputImeEventRouter::GetInstance(); | 838 return InputImeEventRouter::GetInstance(); |
839 } | 839 } |
840 | 840 |
841 } // namespace extensions | 841 } // namespace extensions |
OLD | NEW |