Index: ui/views/widget/widget.cc |
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc |
index 9d6f78e803262afc7939fb579e844915cca81be0..2bc65f079e388de2d550154a4f2912de0a7f4ee2 100644 |
--- a/ui/views/widget/widget.cc |
+++ b/ui/views/widget/widget.cc |
@@ -1090,6 +1090,11 @@ gfx::Size Widget::GetMaximumSize() { |
void Widget::OnNativeWidgetMove() { |
widget_delegate_->OnWidgetMove(); |
+ if (GetRootView()->GetFocusManager()) { |
+ View* focused_view = GetRootView()->GetFocusManager()->GetFocusedView(); |
+ if (focused_view && focused_view->GetInputMethod()) |
+ focused_view->GetInputMethod()->OnCaretBoundsChanged(focused_view); |
+ } |
FOR_EACH_OBSERVER(WidgetObserver, observers_, OnWidgetBoundsChanged( |
this, |
GetWindowBoundsInScreen())); |
@@ -1098,6 +1103,12 @@ void Widget::OnNativeWidgetMove() { |
void Widget::OnNativeWidgetSizeChanged(const gfx::Size& new_size) { |
root_view_->SetSize(new_size); |
+ if (GetRootView()->GetFocusManager()) { |
+ View* focused_view = GetRootView()->GetFocusManager()->GetFocusedView(); |
+ if (focused_view && focused_view->GetInputMethod()) |
+ focused_view->GetInputMethod()->OnCaretBoundsChanged(focused_view); |
+ } |
+ |
// Size changed notifications can fire prior to full initialization |
// i.e. during session restore. Avoid saving session state during these |
// startup procedures. |