Index: trunk/src/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc |
=================================================================== |
--- trunk/src/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc (revision 220120) |
+++ trunk/src/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc (working copy) |
@@ -866,8 +866,17 @@ |
void DesktopNativeWidgetAura::OnWindowFocused(aura::Window* gained_focus, |
aura::Window* lost_focus) { |
if (window_ == gained_focus) { |
+ desktop_root_window_host_->OnNativeWidgetFocus(); |
native_widget_delegate_->OnNativeFocus(lost_focus); |
+ |
+ // If focus is moving from a descendant Window to |window_| then native |
+ // activation hasn't changed. We still need to inform the InputMethod we've |
+ // been focused though. |
+ InputMethod* input_method = GetWidget()->GetInputMethod(); |
+ if (input_method) |
+ input_method->OnFocus(); |
} else if (window_ == lost_focus) { |
+ desktop_root_window_host_->OnNativeWidgetBlur(); |
native_widget_delegate_->OnNativeBlur( |
aura::client::GetFocusClient(window_)->GetFocusedWindow()); |
} |