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

Side by Side Diff: ui/base/ime/remote_input_method_win.cc

Issue 623293004: replace OVERRIDE and FINAL with override and final in ui/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 6 years, 2 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
« no previous file with comments | « ui/base/ime/mock_input_method.h ('k') | ui/base/ime/remote_input_method_win_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/base/ime/remote_input_method_win.h" 5 #include "ui/base/ime/remote_input_method_win.h"
6 6
7 #include "base/observer_list.h" 7 #include "base/observer_list.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/win/metro.h" 9 #include "base/win/metro.h"
10 #include "base/win/scoped_handle.h" 10 #include "base/win/scoped_handle.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 121
122 virtual ~RemoteInputMethodWin() { 122 virtual ~RemoteInputMethodWin() {
123 FOR_EACH_OBSERVER(InputMethodObserver, 123 FOR_EACH_OBSERVER(InputMethodObserver,
124 observer_list_, 124 observer_list_,
125 OnInputMethodDestroyed(this)); 125 OnInputMethodDestroyed(this));
126 UnregisterInstance(this); 126 UnregisterInstance(this);
127 } 127 }
128 128
129 private: 129 private:
130 // Overridden from InputMethod: 130 // Overridden from InputMethod:
131 virtual void SetDelegate(internal::InputMethodDelegate* delegate) OVERRIDE { 131 virtual void SetDelegate(internal::InputMethodDelegate* delegate) override {
132 delegate_ = delegate; 132 delegate_ = delegate;
133 } 133 }
134 134
135 virtual void Init(bool focused) OVERRIDE { 135 virtual void Init(bool focused) override {
136 } 136 }
137 137
138 virtual void OnFocus() OVERRIDE { 138 virtual void OnFocus() override {
139 } 139 }
140 140
141 virtual void OnBlur() OVERRIDE { 141 virtual void OnBlur() override {
142 } 142 }
143 143
144 virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event, 144 virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event,
145 NativeEventResult* result) OVERRIDE { 145 NativeEventResult* result) override {
146 return false; 146 return false;
147 } 147 }
148 148
149 virtual void SetFocusedTextInputClient(TextInputClient* client) OVERRIDE { 149 virtual void SetFocusedTextInputClient(TextInputClient* client) override {
150 std::vector<int32> prev_input_scopes; 150 std::vector<int32> prev_input_scopes;
151 std::swap(input_scopes_, prev_input_scopes); 151 std::swap(input_scopes_, prev_input_scopes);
152 std::vector<gfx::Rect> prev_bounds; 152 std::vector<gfx::Rect> prev_bounds;
153 std::swap(composition_character_bounds_, prev_bounds); 153 std::swap(composition_character_bounds_, prev_bounds);
154 if (client) { 154 if (client) {
155 input_scopes_ = GetInputScopesAsInt(client->GetTextInputType(), 155 input_scopes_ = GetInputScopesAsInt(client->GetTextInputType(),
156 client->GetTextInputMode()); 156 client->GetTextInputMode());
157 composition_character_bounds_ = GetCompositionCharacterBounds(client); 157 composition_character_bounds_ = GetCompositionCharacterBounds(client);
158 } 158 }
159 159
160 const bool text_input_client_changed = text_input_client_ != client; 160 const bool text_input_client_changed = text_input_client_ != client;
161 text_input_client_ = client; 161 text_input_client_ = client;
162 if (text_input_client_changed) { 162 if (text_input_client_changed) {
163 FOR_EACH_OBSERVER(InputMethodObserver, 163 FOR_EACH_OBSERVER(InputMethodObserver,
164 observer_list_, 164 observer_list_,
165 OnTextInputStateChanged(client)); 165 OnTextInputStateChanged(client));
166 } 166 }
167 167
168 if (!remote_delegate_ || (prev_input_scopes == input_scopes_ && 168 if (!remote_delegate_ || (prev_input_scopes == input_scopes_ &&
169 prev_bounds == composition_character_bounds_)) 169 prev_bounds == composition_character_bounds_))
170 return; 170 return;
171 remote_delegate_->OnTextInputClientUpdated(input_scopes_, 171 remote_delegate_->OnTextInputClientUpdated(input_scopes_,
172 composition_character_bounds_); 172 composition_character_bounds_);
173 } 173 }
174 174
175 virtual void DetachTextInputClient(TextInputClient* client) OVERRIDE { 175 virtual void DetachTextInputClient(TextInputClient* client) override {
176 if (text_input_client_ != client) 176 if (text_input_client_ != client)
177 return; 177 return;
178 SetFocusedTextInputClient(NULL); 178 SetFocusedTextInputClient(NULL);
179 } 179 }
180 180
181 virtual TextInputClient* GetTextInputClient() const OVERRIDE { 181 virtual TextInputClient* GetTextInputClient() const override {
182 return text_input_client_; 182 return text_input_client_;
183 } 183 }
184 184
185 virtual bool DispatchKeyEvent(const ui::KeyEvent& event) OVERRIDE { 185 virtual bool DispatchKeyEvent(const ui::KeyEvent& event) override {
186 if (event.HasNativeEvent()) { 186 if (event.HasNativeEvent()) {
187 const base::NativeEvent& native_key_event = event.native_event(); 187 const base::NativeEvent& native_key_event = event.native_event();
188 if (native_key_event.message != WM_CHAR) 188 if (native_key_event.message != WM_CHAR)
189 return false; 189 return false;
190 if (!text_input_client_) 190 if (!text_input_client_)
191 return false; 191 return false;
192 text_input_client_->InsertChar( 192 text_input_client_->InsertChar(
193 static_cast<base::char16>(native_key_event.wParam), 193 static_cast<base::char16>(native_key_event.wParam),
194 ui::GetModifiersFromKeyState()); 194 ui::GetModifiersFromKeyState());
195 return true; 195 return true;
196 } 196 }
197 197
198 if (event.is_char()) { 198 if (event.is_char()) {
199 if (text_input_client_) { 199 if (text_input_client_) {
200 text_input_client_->InsertChar(event.key_code(), 200 text_input_client_->InsertChar(event.key_code(),
201 ui::GetModifiersFromKeyState()); 201 ui::GetModifiersFromKeyState());
202 } 202 }
203 return true; 203 return true;
204 } 204 }
205 if (!delegate_) 205 if (!delegate_)
206 return false; 206 return false;
207 return delegate_->DispatchKeyEventPostIME(event); 207 return delegate_->DispatchKeyEventPostIME(event);
208 } 208 }
209 209
210 virtual void OnTextInputTypeChanged(const TextInputClient* client) OVERRIDE { 210 virtual void OnTextInputTypeChanged(const TextInputClient* client) override {
211 if (!text_input_client_ || text_input_client_ != client) 211 if (!text_input_client_ || text_input_client_ != client)
212 return; 212 return;
213 std::vector<int32> prev_input_scopes; 213 std::vector<int32> prev_input_scopes;
214 std::swap(input_scopes_, prev_input_scopes); 214 std::swap(input_scopes_, prev_input_scopes);
215 input_scopes_ = GetInputScopesAsInt(client->GetTextInputType(), 215 input_scopes_ = GetInputScopesAsInt(client->GetTextInputType(),
216 client->GetTextInputMode()); 216 client->GetTextInputMode());
217 if (input_scopes_ != prev_input_scopes && remote_delegate_) { 217 if (input_scopes_ != prev_input_scopes && remote_delegate_) {
218 remote_delegate_->OnTextInputClientUpdated( 218 remote_delegate_->OnTextInputClientUpdated(
219 input_scopes_, composition_character_bounds_); 219 input_scopes_, composition_character_bounds_);
220 } 220 }
221 } 221 }
222 222
223 virtual void OnCaretBoundsChanged(const TextInputClient* client) OVERRIDE { 223 virtual void OnCaretBoundsChanged(const TextInputClient* client) override {
224 if (!text_input_client_ || text_input_client_ != client) 224 if (!text_input_client_ || text_input_client_ != client)
225 return; 225 return;
226 std::vector<gfx::Rect> prev_rects; 226 std::vector<gfx::Rect> prev_rects;
227 std::swap(composition_character_bounds_, prev_rects); 227 std::swap(composition_character_bounds_, prev_rects);
228 composition_character_bounds_ = GetCompositionCharacterBounds(client); 228 composition_character_bounds_ = GetCompositionCharacterBounds(client);
229 if (composition_character_bounds_ != prev_rects && remote_delegate_) { 229 if (composition_character_bounds_ != prev_rects && remote_delegate_) {
230 remote_delegate_->OnTextInputClientUpdated( 230 remote_delegate_->OnTextInputClientUpdated(
231 input_scopes_, composition_character_bounds_); 231 input_scopes_, composition_character_bounds_);
232 } 232 }
233 } 233 }
234 234
235 virtual void CancelComposition(const TextInputClient* client) OVERRIDE { 235 virtual void CancelComposition(const TextInputClient* client) override {
236 if (CanSendRemoteNotification(client)) 236 if (CanSendRemoteNotification(client))
237 remote_delegate_->CancelComposition(); 237 remote_delegate_->CancelComposition();
238 } 238 }
239 239
240 virtual void OnInputLocaleChanged() OVERRIDE { 240 virtual void OnInputLocaleChanged() override {
241 } 241 }
242 242
243 virtual std::string GetInputLocale() OVERRIDE { 243 virtual std::string GetInputLocale() override {
244 const LCID locale_id = MAKELCID(langid_, SORT_DEFAULT); 244 const LCID locale_id = MAKELCID(langid_, SORT_DEFAULT);
245 std::string language = 245 std::string language =
246 GetLocaleString(locale_id, LOCALE_SISO639LANGNAME); 246 GetLocaleString(locale_id, LOCALE_SISO639LANGNAME);
247 if (SUBLANGID(langid_) == SUBLANG_NEUTRAL || language.empty()) 247 if (SUBLANGID(langid_) == SUBLANG_NEUTRAL || language.empty())
248 return language; 248 return language;
249 const std::string& region = 249 const std::string& region =
250 GetLocaleString(locale_id, LOCALE_SISO3166CTRYNAME); 250 GetLocaleString(locale_id, LOCALE_SISO3166CTRYNAME);
251 if (region.empty()) 251 if (region.empty())
252 return language; 252 return language;
253 return language.append(1, '-').append(region); 253 return language.append(1, '-').append(region);
254 } 254 }
255 255
256 virtual bool IsActive() OVERRIDE { 256 virtual bool IsActive() override {
257 return true; // always turned on 257 return true; // always turned on
258 } 258 }
259 259
260 virtual TextInputType GetTextInputType() const OVERRIDE { 260 virtual TextInputType GetTextInputType() const override {
261 return text_input_client_ ? text_input_client_->GetTextInputType() 261 return text_input_client_ ? text_input_client_->GetTextInputType()
262 : TEXT_INPUT_TYPE_NONE; 262 : TEXT_INPUT_TYPE_NONE;
263 } 263 }
264 264
265 virtual TextInputMode GetTextInputMode() const OVERRIDE { 265 virtual TextInputMode GetTextInputMode() const override {
266 return text_input_client_ ? text_input_client_->GetTextInputMode() 266 return text_input_client_ ? text_input_client_->GetTextInputMode()
267 : TEXT_INPUT_MODE_DEFAULT; 267 : TEXT_INPUT_MODE_DEFAULT;
268 } 268 }
269 269
270 virtual bool CanComposeInline() const OVERRIDE { 270 virtual bool CanComposeInline() const override {
271 return text_input_client_ ? text_input_client_->CanComposeInline() : true; 271 return text_input_client_ ? text_input_client_->CanComposeInline() : true;
272 } 272 }
273 273
274 virtual bool IsCandidatePopupOpen() const OVERRIDE { 274 virtual bool IsCandidatePopupOpen() const override {
275 return is_candidate_popup_open_; 275 return is_candidate_popup_open_;
276 } 276 }
277 277
278 virtual void ShowImeIfNeeded() OVERRIDE { 278 virtual void ShowImeIfNeeded() override {
279 } 279 }
280 280
281 virtual void AddObserver(InputMethodObserver* observer) OVERRIDE { 281 virtual void AddObserver(InputMethodObserver* observer) override {
282 observer_list_.AddObserver(observer); 282 observer_list_.AddObserver(observer);
283 } 283 }
284 284
285 virtual void RemoveObserver(InputMethodObserver* observer) OVERRIDE { 285 virtual void RemoveObserver(InputMethodObserver* observer) override {
286 observer_list_.RemoveObserver(observer); 286 observer_list_.RemoveObserver(observer);
287 } 287 }
288 288
289 // Overridden from RemoteInputMethodPrivateWin: 289 // Overridden from RemoteInputMethodPrivateWin:
290 virtual void SetRemoteDelegate( 290 virtual void SetRemoteDelegate(
291 internal::RemoteInputMethodDelegateWin* delegate) OVERRIDE{ 291 internal::RemoteInputMethodDelegateWin* delegate) override{
292 remote_delegate_ = delegate; 292 remote_delegate_ = delegate;
293 293
294 // Sync initial state. 294 // Sync initial state.
295 if (remote_delegate_) { 295 if (remote_delegate_) {
296 remote_delegate_->OnTextInputClientUpdated( 296 remote_delegate_->OnTextInputClientUpdated(
297 input_scopes_, composition_character_bounds_); 297 input_scopes_, composition_character_bounds_);
298 } 298 }
299 } 299 }
300 300
301 virtual void OnCandidatePopupChanged(bool visible) OVERRIDE { 301 virtual void OnCandidatePopupChanged(bool visible) override {
302 is_candidate_popup_open_ = visible; 302 is_candidate_popup_open_ = visible;
303 if (!text_input_client_) 303 if (!text_input_client_)
304 return; 304 return;
305 // TODO(kochi): Support 'update' case, in addition to show/hide. 305 // TODO(kochi): Support 'update' case, in addition to show/hide.
306 // http://crbug.com/238585 306 // http://crbug.com/238585
307 if (visible) 307 if (visible)
308 text_input_client_->OnCandidateWindowShown(); 308 text_input_client_->OnCandidateWindowShown();
309 else 309 else
310 text_input_client_->OnCandidateWindowHidden(); 310 text_input_client_->OnCandidateWindowHidden();
311 } 311 }
312 312
313 virtual void OnInputSourceChanged(LANGID langid, bool /*is_ime*/) OVERRIDE { 313 virtual void OnInputSourceChanged(LANGID langid, bool /*is_ime*/) override {
314 // Note: Currently |is_ime| is not utilized yet. 314 // Note: Currently |is_ime| is not utilized yet.
315 const bool changed = (langid_ != langid); 315 const bool changed = (langid_ != langid);
316 langid_ = langid; 316 langid_ = langid;
317 if (changed && GetTextInputClient()) 317 if (changed && GetTextInputClient())
318 GetTextInputClient()->OnInputMethodChanged(); 318 GetTextInputClient()->OnInputMethodChanged();
319 } 319 }
320 320
321 virtual void OnCompositionChanged( 321 virtual void OnCompositionChanged(
322 const CompositionText& composition_text) OVERRIDE { 322 const CompositionText& composition_text) override {
323 if (!text_input_client_) 323 if (!text_input_client_)
324 return; 324 return;
325 text_input_client_->SetCompositionText(composition_text); 325 text_input_client_->SetCompositionText(composition_text);
326 } 326 }
327 327
328 virtual void OnTextCommitted(const base::string16& text) OVERRIDE { 328 virtual void OnTextCommitted(const base::string16& text) override {
329 if (!text_input_client_) 329 if (!text_input_client_)
330 return; 330 return;
331 if (text_input_client_->GetTextInputType() == TEXT_INPUT_TYPE_NONE) { 331 if (text_input_client_->GetTextInputType() == TEXT_INPUT_TYPE_NONE) {
332 // According to the comment in text_input_client.h, 332 // According to the comment in text_input_client.h,
333 // TextInputClient::InsertText should never be called when the 333 // TextInputClient::InsertText should never be called when the
334 // text input type is TEXT_INPUT_TYPE_NONE. 334 // text input type is TEXT_INPUT_TYPE_NONE.
335 for (size_t i = 0; i < text.size(); ++i) 335 for (size_t i = 0; i < text.size(); ++i)
336 text_input_client_->InsertChar(text[i], 0); 336 text_input_client_->InsertChar(text[i], 0);
337 return; 337 return;
338 } 338 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 return scoped_ptr<InputMethod>(new RemoteInputMethodWin(delegate)); 381 return scoped_ptr<InputMethod>(new RemoteInputMethodWin(delegate));
382 } 382 }
383 383
384 // static 384 // static
385 RemoteInputMethodPrivateWin* RemoteInputMethodPrivateWin::Get( 385 RemoteInputMethodPrivateWin* RemoteInputMethodPrivateWin::Get(
386 InputMethod* input_method) { 386 InputMethod* input_method) {
387 return GetPrivate(input_method); 387 return GetPrivate(input_method);
388 } 388 }
389 389
390 } // namespace ui 390 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/ime/mock_input_method.h ('k') | ui/base/ime/remote_input_method_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698