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

Side by Side Diff: chrome/browser/chromeos/input_method/input_method_persistence.cc

Issue 419293002: IME refactoring: ChromeOS introduce input methods State. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 6 years, 4 months 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
OLDNEW
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/chromeos/input_method/input_method_persistence.h" 5 #include "chrome/browser/chromeos/input_method/input_method_persistence.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/prefs/scoped_user_pref_update.h" 9 #include "base/prefs/scoped_user_pref_update.h"
10 #include "base/sys_info.h" 10 #include "base/sys_info.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 current_input_method_on_pref); 100 current_input_method_on_pref);
101 user_prefs->SetString(prefs::kLanguageCurrentInputMethod, 101 user_prefs->SetString(prefs::kLanguageCurrentInputMethod,
102 input_method); 102 input_method);
103 } 103 }
104 104
105 } // namespace 105 } // namespace
106 106
107 InputMethodPersistence::InputMethodPersistence( 107 InputMethodPersistence::InputMethodPersistence(
108 InputMethodManager* input_method_manager) 108 InputMethodManager* input_method_manager)
109 : input_method_manager_(input_method_manager), 109 : input_method_manager_(input_method_manager),
110 state_(InputMethodManager::STATE_LOGIN_SCREEN) { 110 ui_session_(InputMethodManager::STATE_LOGIN_SCREEN) {
111 input_method_manager_->AddObserver(this); 111 input_method_manager_->AddObserver(this);
112 } 112 }
113 113
114 InputMethodPersistence::~InputMethodPersistence() { 114 InputMethodPersistence::~InputMethodPersistence() {
115 input_method_manager_->RemoveObserver(this); 115 input_method_manager_->RemoveObserver(this);
116 } 116 }
117 117
118 void InputMethodPersistence::InputMethodChanged( 118 void InputMethodPersistence::InputMethodChanged(
119 InputMethodManager* manager, bool show_message) { 119 InputMethodManager* manager, bool show_message) {
120 DCHECK_EQ(input_method_manager_, manager); 120 DCHECK_EQ(input_method_manager_, manager);
121 const std::string current_input_method = 121 const std::string current_input_method =
122 manager->GetCurrentInputMethod().id(); 122 manager->GetActiveIMEState()->GetCurrentInputMethod().id();
123 // Save the new input method id depending on the current browser state. 123 // Save the new input method id depending on the current browser state.
124 switch (state_) { 124 switch (ui_session_) {
125 case InputMethodManager::STATE_LOGIN_SCREEN: 125 case InputMethodManager::STATE_LOGIN_SCREEN:
126 if (!manager->IsLoginKeyboard(current_input_method)) { 126 if (!manager->IsLoginKeyboard(current_input_method)) {
127 DVLOG(1) << "Only keyboard layouts are supported: " 127 DVLOG(1) << "Only keyboard layouts are supported: "
128 << current_input_method; 128 << current_input_method;
129 return; 129 return;
130 } 130 }
131 PersistSystemInputMethod(current_input_method); 131 PersistSystemInputMethod(current_input_method);
132 return; 132 return;
133 case InputMethodManager::STATE_BROWSER_SCREEN: 133 case InputMethodManager::STATE_BROWSER_SCREEN:
134 PersistUserInputMethod(current_input_method, manager); 134 PersistUserInputMethod(current_input_method, manager);
135 return; 135 return;
136 case InputMethodManager::STATE_LOCK_SCREEN: 136 case InputMethodManager::STATE_LOCK_SCREEN:
137 // We use a special set of input methods on the screen. Do not update. 137 // We use a special set of input methods on the screen. Do not update.
138 return; 138 return;
139 case InputMethodManager::STATE_TERMINATING: 139 case InputMethodManager::STATE_TERMINATING:
140 return; 140 return;
141 } 141 }
142 NOTREACHED(); 142 NOTREACHED();
143 } 143 }
144 144
145 void InputMethodPersistence::OnSessionStateChange( 145 void InputMethodPersistence::OnSessionStateChange(
146 InputMethodManager::State new_state) { 146 InputMethodManager::UISessionState new_ui_session) {
147 state_ = new_state; 147 ui_session_ = new_ui_session;
148 } 148 }
149 149
150 } // namespace input_method 150 } // namespace input_method
151 } // namespace chromeos 151 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698