Index: ui/views/widget/widget.cc |
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc |
index f686730863f8e98f0b6210d379e4c0f473d26db6..d773f1fef801553c975d07fc9586e520a4b93a5e 100644 |
--- a/ui/views/widget/widget.cc |
+++ b/ui/views/widget/widget.cc |
@@ -1034,11 +1034,19 @@ |
} |
void Widget::OnNativeFocus(gfx::NativeView old_focused_view) { |
+ // Ensure the focused view's TextInputClient is used for text input. |
+ views::FocusManager* focus_manager = GetFocusManager(); |
+ focus_manager->FocusTextInputClient(focus_manager->GetFocusedView()); |
+ |
WidgetFocusManager::GetInstance()->OnWidgetFocusEvent(old_focused_view, |
GetNativeView()); |
} |
void Widget::OnNativeBlur(gfx::NativeView new_focused_view) { |
+ // Ensure the focused view's TextInputClient is not used for text input. |
+ views::FocusManager* focus_manager = GetFocusManager(); |
+ focus_manager->BlurTextInputClient(focus_manager->GetFocusedView()); |
+ |
WidgetFocusManager::GetInstance()->OnWidgetFocusEvent(GetNativeView(), |
new_focused_view); |
} |