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

Unified Diff: ui/base/ime/input_method_ibus.cc

Issue 10534134: Fix candidate window position issue. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
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..41e3a0f77b3e70f4fc0286f5e054947710fc6c0e 100644
--- a/ui/base/ime/input_method_ibus.cc
+++ b/ui/base/ime/input_method_ibus.cc
@@ -334,9 +334,16 @@ void InputMethodIBus::OnCaretBoundsChanged(const TextInputClient* client) {
DCHECK(!IsTextInputTypeNone());
const gfx::Rect rect = GetTextInputClient()->GetCaretBounds();
+ gfx::Rect composition_head;
+ GetTextInputClient()->GetCompositionCharacterBounds(0, &composition_head);
Yusuke Sato 2012/06/13 14:31:26 I guess when it returns false, composition_head is
Seigo Nonaka 2012/06/13 15:07:18 It is correct but I didn't documented well about t
+
// This function runs asynchronously.
- ibus_client_->SetCursorLocation(
- context_, rect.x(), rect.y(), rect.width(), rect.height());
+ ibus_client_->SetCursorLocation(context_,
+ rect.x(),
+ rect.y(),
+ rect.width(),
+ rect.height(),
+ composition_head);
}
void InputMethodIBus::CancelComposition(const TextInputClient* client) {

Powered by Google App Engine
This is Rietveld 408576698