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 7e2521e27f060126831396b5b64663c6b7d65fbf..a7eb8d667baec6cc472c40178036fbbd5c092b27 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -387,7 +387,8 @@ |
target != popup_parent_host_view_->window_)) { |
// Note: popup_parent_host_view_ may be NULL when there are multiple |
// popup children per view. See: RenderWidgetHostViewAura::InitAsPopup(). |
- Shutdown(); |
+ in_shutdown_ = true; |
+ host_->Shutdown(); |
} |
} |
@@ -1818,7 +1819,10 @@ |
} |
} |
} |
- Shutdown(); |
+ if (!in_shutdown_) { |
+ in_shutdown_ = true; |
+ host_->Shutdown(); |
+ } |
} else { |
if (event->key_code() == ui::VKEY_RETURN) { |
// Do not forward return key release events if no press event was handled. |
@@ -2208,15 +2212,9 @@ |
return; |
} |
#endif |
- Shutdown(); |
- return; |
+ in_shutdown_ = true; |
+ host_->Shutdown(); |
} |
- |
- // Close the child popup window if we lose focus (e.g. due to a JS alert or |
- // system modal dialog). This is particularly important if |
- // |popup_child_host_view_| has mouse capture. |
- if (popup_child_host_view_) |
- popup_child_host_view_->Shutdown(); |
} |
} |
@@ -2305,13 +2303,6 @@ |
if (!root_window) |
return NULL; |
return root_window->GetProperty(aura::client::kRootWindowInputMethodKey); |
-} |
- |
-void RenderWidgetHostViewAura::Shutdown() { |
- if (!in_shutdown_) { |
- in_shutdown_ = true; |
- host_->Shutdown(); |
- } |
} |
bool RenderWidgetHostViewAura::NeedsInputGrab() { |