| Index: ui/base/ime/input_method_imm32.cc
|
| diff --git a/ui/base/ime/input_method_imm32.cc b/ui/base/ime/input_method_imm32.cc
|
| index 8ee5c5c0e94f6f8901372517b4724b51f7823cbd..16a33a1128cf4448fe8539ae0722651527b2c5b9 100644
|
| --- a/ui/base/ime/input_method_imm32.cc
|
| +++ b/ui/base/ime/input_method_imm32.cc
|
| @@ -235,13 +235,25 @@ LRESULT InputMethodIMM32::OnImeNotify(UINT message,
|
| BOOL* handled) {
|
| *handled = FALSE;
|
|
|
| + bool previous_state = is_candidate_popup_open_;
|
| +
|
| // Update |is_candidate_popup_open_|, whether a candidate window is open.
|
| switch (wparam) {
|
| case IMN_OPENCANDIDATE:
|
| is_candidate_popup_open_ = true;
|
| + if (!previous_state)
|
| + OnCandidateWindowShown();
|
| break;
|
| case IMN_CLOSECANDIDATE:
|
| is_candidate_popup_open_ = false;
|
| + if (previous_state)
|
| + OnCandidateWindowHidden();
|
| + break;
|
| + case IMN_CHANGECANDIDATE:
|
| + // TODO(kochi): The IME API expects this event to notify window size change,
|
| + // while this may fire more often without window resize. There is no generic
|
| + // way to get bounds of candidate window.
|
| + OnCandidateWindowUpdated();
|
| break;
|
| }
|
|
|
|
|