Index: ui/base/ime/input_method_ibus.cc |
diff --git a/ui/base/ime/input_method_ibus.cc b/ui/base/ime/input_method_ibus.cc |
index d9a35cbb629c76f7ab88d1edd5df083f75f54943..89ac5aa500b1187450a06c2544688c7cc2f22f3f 100644 |
--- a/ui/base/ime/input_method_ibus.cc |
+++ b/ui/base/ime/input_method_ibus.cc |
@@ -334,9 +334,14 @@ void InputMethodIBus::OnCaretBoundsChanged(const TextInputClient* client) { |
DCHECK(!IsTextInputTypeNone()); |
const gfx::Rect rect = GetTextInputClient()->GetCaretBounds(); |
+ gfx::Rect composition_head; |
+ if (!GetTextInputClient()->GetCompositionCharacterBounds(0, |
+ &composition_head)) { |
+ composition_head = gfx::Rect(); |
+ } |
+ |
// This function runs asynchronously. |
- ibus_client_->SetCursorLocation( |
- context_, rect.x(), rect.y(), rect.width(), rect.height()); |
+ ibus_client_->SetCursorLocation(context_, rect, composition_head); |
} |
void InputMethodIBus::CancelComposition(const TextInputClient* client) { |