diff options
author | shuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-15 16:37:06 +0000 |
---|---|---|
committer | shuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-15 16:37:06 +0000 |
commit | ad34dafd3dcc7f81b84fca53a1df9ce5c75b9b1e (patch) | |
tree | 700907b406fe4200ad3c8fd0a211c284718d825a /chrome/browser/chromeos/input_method/input_method_manager_impl.h | |
parent | e0f767ce708f77f2bf3156856228576cdcbd5976 (diff) | |
download | chromium_src-ad34dafd3dcc7f81b84fca53a1df9ce5c75b9b1e.zip chromium_src-ad34dafd3dcc7f81b84fca53a1df9ce5c75b9b1e.tar.gz chromium_src-ad34dafd3dcc7f81b84fca53a1df9ce5c75b9b1e.tar.bz2 |
[IME] Support multi profiles in IMF.
1) make the engine map in input ime api as an Profile-key'ed map.
2) move the engine map from IMEBridge to InputMethodManagerImpl, and let IMEBridge only keeps the current engine.
3) make the engine map in InputMethodManagerImpl as an Profile-key'ed map.
BUG=359066
TEST=Verified on pixel.
Review URL: https://codereview.chromium.org/229633003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/input_method/input_method_manager_impl.h')
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_manager_impl.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.h b/chrome/browser/chromeos/input_method/input_method_manager_impl.h index 5064bef..d357c29 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.h +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.h @@ -14,6 +14,7 @@ #include "base/threading/thread_checker.h" #include "chrome/browser/chromeos/input_method/candidate_window_controller.h" #include "chrome/browser/chromeos/input_method/input_method_util.h" +#include "chrome/browser/profiles/profile.h" #include "chromeos/ime/input_method_manager.h" #include "chromeos/ime/input_method_whitelist.h" @@ -159,6 +160,9 @@ class InputMethodManagerImpl : public InputMethodManager, // (after list of enabled input methods has been updated) void ReconfigureIMFramework(); + // Gets the current active user profile. + Profile* GetProfile() const; + scoped_ptr<InputMethodDelegate> delegate_; // The current browser status. @@ -212,6 +216,13 @@ class InputMethodManagerImpl : public InputMethodManager, base::WeakPtrFactory<InputMethodManagerImpl> weak_ptr_factory_; + // The engine map: + // { Profile : { input_method_id : Engine } }. + typedef std::map<std::string, InputMethodEngineInterface*> + EngineMap; + typedef std::map<Profile*, EngineMap, ProfileCompare> ProfileEngineMap; + ProfileEngineMap profile_engine_map_; + DISALLOW_COPY_AND_ASSIGN(InputMethodManagerImpl); }; |