Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 93a4e9342c83c61eb30838eba8bed682347c9ce1..1457ae436b8b6c9381fb234e5f004b6232021389 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -337,6 +337,12 @@ void RenderWidgetHostViewAura::ApplyEventFilterForPopupExit( |
if (target != window_ && |
(!popup_parent_host_view_ || |
target != popup_parent_host_view_->window_)) { |
+ // If we enter this code path it means that we did not receive any focus |
+ // lost notifications for the popup window. Ensure that blink is aware |
+ // of the fact that focus was lost for the host window by sending a Blur |
+ // notification. |
+ if (popup_parent_host_view_ && popup_parent_host_view_->host_) |
+ popup_parent_host_view_->host_->Blur(); |
// Note: popup_parent_host_view_ may be NULL when there are multiple |
// popup children per view. See: RenderWidgetHostViewAura::InitAsPopup(). |
Shutdown(); |