| Index: chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
|
| diff --git a/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc b/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
|
| index 8b5bb71a8b588014f49fd32c8a3a52fe4afc7d19..473f1169366872164e449c2eab5d2d1bb4b5bdcc 100644
|
| --- a/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
|
| +++ b/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "chrome/app/chrome_command_ids.h"
|
| #include "chrome/browser/ui/views/frame/browser_desktop_root_window_host.h"
|
| +#include "chrome/browser/ui/views/frame/browser_shutdown.h"
|
| #include "chrome/browser/ui/views/frame/browser_view.h"
|
| #include "chrome/browser/ui/views/frame/desktop_user_action_handler_aura.h"
|
| #include "grit/chromium_strings.h"
|
| @@ -46,6 +47,10 @@ DesktopBrowserFrameAura::~DesktopBrowserFrameAura() {
|
| // DesktopBrowserFrameAura, views::DesktopNativeWidgetAura overrides:
|
|
|
| void DesktopBrowserFrameAura::OnHostClosed() {
|
| + // Destroy any remaining WebContents early on. Doing so may result in
|
| + // calling back to one of the Views/LayoutManagers or supporting classes of
|
| + // BrowserView. By destroying here we ensure all said classes are valid.
|
| + DestroyBrowserWebContents(browser_view_->browser());
|
| aura::client::SetVisibilityClient(GetNativeView()->GetRootWindow(), NULL);
|
| DesktopNativeWidgetAura::OnHostClosed();
|
| }
|
|
|