Index: ui/views/ime/input_method_base.cc |
diff --git a/ui/views/ime/input_method_base.cc b/ui/views/ime/input_method_base.cc |
index ff1ed1e3918e92667185561660c6e1b79d94334f..e72c05421f1ea84c9f008060af16a2b05ee796bb 100644 |
--- a/ui/views/ime/input_method_base.cc |
+++ b/ui/views/ime/input_method_base.cc |
@@ -86,7 +86,11 @@ bool InputMethodBase::GetCaretBoundsInWidget(gfx::Rect* rect) const { |
if (!client || client->GetTextInputType() == ui::TEXT_INPUT_TYPE_NONE) |
return false; |
- *rect = GetFocusedView()->ConvertRectToWidget(client->GetCaretBounds()); |
+ gfx::Rect caret_bounds = client->GetCaretBounds(); |
+ gfx::Point caret_origin = caret_bounds.origin(); |
+ View::ConvertPointFromScreen(GetFocusedView(), &caret_origin); |
+ caret_bounds.set_origin(caret_origin); |
+ *rect = GetFocusedView()->ConvertRectToWidget(caret_bounds); |
// Convert coordinates if the focused view is inside a child Widget. |
if (GetFocusedView()->GetWidget() != widget_) |