Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/input_method_imm32.h" | 5 #include "ui/base/ime/input_method_imm32.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "ui/base/ime/composition_text.h" | 8 #include "ui/base/ime/composition_text.h" |
| 9 #include "ui/base/ime/text_input_client.h" | 9 #include "ui/base/ime/text_input_client.h" |
| 10 #include "ui/base/ime/win/tsf_input_scope.h" | |
|
Yohei Yukawa
2013/09/02 04:20:07
Do we really need this header?
yoichio
2013/09/02 04:56:59
Thanks.
| |
| 10 | 11 |
| 11 | 12 |
| 12 namespace ui { | 13 namespace ui { |
| 13 | 14 |
| 14 InputMethodIMM32::InputMethodIMM32(internal::InputMethodDelegate* delegate, | 15 InputMethodIMM32::InputMethodIMM32(internal::InputMethodDelegate* delegate, |
| 15 HWND toplevel_window_handle) | 16 HWND toplevel_window_handle) |
| 16 : InputMethodWin(delegate, toplevel_window_handle), | 17 : InputMethodWin(delegate, toplevel_window_handle), |
| 17 enabled_(false), is_candidate_popup_open_(false), | 18 enabled_(false), is_candidate_popup_open_(false), |
| 18 composing_window_handle_(NULL) { | 19 composing_window_handle_(NULL) { |
| 19 // In non-Aura environment, appropriate callbacks to OnFocus() and OnBlur() | 20 // In non-Aura environment, appropriate callbacks to OnFocus() and OnBlur() |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 263 // a result text to us, in case the input method and the client are in | 264 // a result text to us, in case the input method and the client are in |
| 264 // inconsistent states, we check the client's composition state again. | 265 // inconsistent states, we check the client's composition state again. |
| 265 if (GetTextInputClient()->HasCompositionText()) | 266 if (GetTextInputClient()->HasCompositionText()) |
| 266 GetTextInputClient()->ConfirmCompositionText(); | 267 GetTextInputClient()->ConfirmCompositionText(); |
| 267 } | 268 } |
| 268 } | 269 } |
| 269 | 270 |
| 270 void InputMethodIMM32::UpdateIMEState() { | 271 void InputMethodIMM32::UpdateIMEState() { |
| 271 // Use switch here in case we are going to add more text input types. | 272 // Use switch here in case we are going to add more text input types. |
| 272 // We disable input method in password field. | 273 // We disable input method in password field. |
| 274 const HWND window_handle = GetAttachedWindowHandle(GetTextInputClient()); | |
| 273 switch (GetTextInputType()) { | 275 switch (GetTextInputType()) { |
| 274 case ui::TEXT_INPUT_TYPE_NONE: | 276 case ui::TEXT_INPUT_TYPE_NONE: |
| 275 case ui::TEXT_INPUT_TYPE_PASSWORD: | 277 case ui::TEXT_INPUT_TYPE_PASSWORD: |
| 276 imm32_manager_.DisableIME(GetAttachedWindowHandle(GetTextInputClient())); | 278 imm32_manager_.DisableIME(window_handle); |
| 277 enabled_ = false; | 279 enabled_ = false; |
| 278 break; | 280 break; |
| 279 default: | 281 default: |
| 280 imm32_manager_.EnableIME(GetAttachedWindowHandle(GetTextInputClient())); | 282 imm32_manager_.EnableIME(window_handle); |
| 281 enabled_ = true; | 283 enabled_ = true; |
| 282 break; | 284 break; |
| 283 } | 285 } |
| 286 | |
| 287 imm32_manager_.SetTextInputMode(window_handle, GetTextInputMode()); | |
| 284 } | 288 } |
| 285 | 289 |
| 286 bool InputMethodIMM32::IsWindowFocused(const TextInputClient* client) const { | 290 bool InputMethodIMM32::IsWindowFocused(const TextInputClient* client) const { |
| 287 if (!client) | 291 if (!client) |
| 288 return false; | 292 return false; |
| 289 HWND attached_window_handle = GetAttachedWindowHandle(client); | 293 HWND attached_window_handle = GetAttachedWindowHandle(client); |
| 290 return attached_window_handle && GetFocus() == attached_window_handle; | 294 return attached_window_handle && GetFocus() == attached_window_handle; |
| 291 } | 295 } |
| 292 | 296 |
| 293 } // namespace ui | 297 } // namespace ui |
| OLD | NEW |