Chromium Code Reviews| 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 #ifndef CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ |
| 7 | 7 |
| 8 #include "chrome/browser/extensions/extension_function.h" | |
| 9 | |
| 10 #include "base/memory/singleton.h" | |
| 11 #include "base/values.h" | |
| 12 #include "chrome/browser/chromeos/input_method/input_method_engine.h" | |
| 13 #include "chrome/common/extensions/extension.h" | |
| 14 | |
| 15 #include <map> | 8 #include <map> |
| 16 #include <string> | 9 #include <string> |
| 17 #include <vector> | 10 #include <vector> |
| 18 | 11 |
| 12 #include "base/memory/singleton.h" | |
| 13 #include "base/values.h" | |
| 14 #include "chrome/browser/chromeos/input_method/input_method_engine.h" | |
| 15 #include "chrome/browser/extensions/extension_function.h" | |
| 16 #include "chrome/browser/profiles/profile_keyed_service.h" | |
| 17 #include "chrome/common/extensions/extension.h" | |
| 18 #include "content/public/browser/notification_observer.h" | |
| 19 #include "content/public/browser/notification_registrar.h" | |
| 20 | |
| 19 class Profile; | 21 class Profile; |
| 20 | 22 |
| 21 namespace chromeos { | 23 namespace chromeos { |
| 22 class InputMethodEngine; | 24 class InputMethodEngine; |
| 23 class ImeObserver; | 25 class ImeObserver; |
| 24 } | 26 } |
| 25 | 27 |
| 26 namespace extensions { | 28 namespace extensions { |
| 27 | 29 |
| 28 class InputImeEventRouter { | 30 class InputImeEventRouter { |
| 29 public: | 31 public: |
| 30 static InputImeEventRouter* GetInstance(); | 32 static InputImeEventRouter* GetInstance(); |
| 31 void Init(); | |
| 32 | 33 |
| 33 bool RegisterIme(Profile* profile, | 34 bool RegisterIme(Profile* profile, |
| 34 const std::string& extension_id, | 35 const std::string& extension_id, |
| 35 const extensions::Extension::InputComponentInfo& component); | 36 const extensions::Extension::InputComponentInfo& component); |
| 36 void UnregisterAllImes(Profile* profile, const std::string& extension_id); | 37 void UnregisterAllImes(Profile* profile, const std::string& extension_id); |
| 37 chromeos::InputMethodEngine* GetEngine(const std::string& extension_id, | 38 chromeos::InputMethodEngine* GetEngine(const std::string& extension_id, |
| 38 const std::string& engine_id); | 39 const std::string& engine_id); |
| 39 chromeos::InputMethodEngine* GetActiveEngine(const std::string& extension_id); | 40 chromeos::InputMethodEngine* GetActiveEngine(const std::string& extension_id); |
| 40 | 41 |
| 41 | 42 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 163 public: | 164 public: |
| 164 DECLARE_EXTENSION_FUNCTION_NAME("input.ime.keyEventHandled"); | 165 DECLARE_EXTENSION_FUNCTION_NAME("input.ime.keyEventHandled"); |
| 165 | 166 |
| 166 protected: | 167 protected: |
| 167 virtual ~KeyEventHandled() {} | 168 virtual ~KeyEventHandled() {} |
| 168 | 169 |
| 169 // ExtensionFunction: | 170 // ExtensionFunction: |
| 170 virtual bool RunImpl() OVERRIDE; | 171 virtual bool RunImpl() OVERRIDE; |
| 171 }; | 172 }; |
| 172 | 173 |
| 174 class InputImeAPI : public ProfileKeyedService, | |
| 175 public content::NotificationObserver { | |
| 176 public: | |
| 177 explicit InputImeAPI(Profile* profile); | |
| 178 virtual ~InputImeAPI(); | |
| 179 | |
| 180 // ProfileKeyedService implementation. | |
| 181 virtual void Shutdown() OVERRIDE; | |
|
Yoyo Zhou
2012/12/18 22:39:16
You don't need this if it does nothing.
Joe Thomas
2012/12/18 22:53:03
Done.
| |
| 182 | |
| 183 InputImeEventRouter* input_ime_event_router(); | |
|
Yoyo Zhou
2012/12/18 22:39:16
Doesn't need to be public.
Joe Thomas
2012/12/18 22:53:03
Done.
| |
| 184 | |
| 185 // content::NotificationObserver implementation. | |
| 186 virtual void Observe(int type, | |
| 187 const content::NotificationSource& source, | |
| 188 const content::NotificationDetails& details) OVERRIDE; | |
| 189 | |
| 190 private: | |
| 191 Profile* const profile_; | |
| 192 content::NotificationRegistrar registrar_; | |
| 193 }; | |
| 194 | |
| 173 } // namespace extensions | 195 } // namespace extensions |
| 174 | 196 |
| 175 #endif // CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ | 197 #endif // CHROME_BROWSER_EXTENSIONS_API_INPUT_IME_INPUT_IME_API_H_ |
| OLD | NEW |