Index: ui/views/corewm/focus_controller.cc |
diff --git a/ui/views/corewm/focus_controller.cc b/ui/views/corewm/focus_controller.cc |
index fc9c3136dfa0102b1cabb117d9853ae57997f7aa..f985ff455791dd147db8e43ea017af5be2121f99 100644 |
--- a/ui/views/corewm/focus_controller.cc |
+++ b/ui/views/corewm/focus_controller.cc |
@@ -130,9 +130,12 @@ void FocusController::FocusWindow(aura::Window* window) { |
return; |
} |
- // We should not be messing with the focus if the window has capture. |
- if (window && (aura::client::GetCaptureWindow(window) == window)) |
+ // We should not be messing with the focus if the window has capture, unless |
+ // no has focus. |
+ if (window && (aura::client::GetCaptureWindow(window) == window) && |
+ focused_window_) { |
return; |
+ } |
// Focusing a window also activates its containing activatable window. Note |
// that the rules could redirect activation activation and/or focus. |