Index: chrome/browser/ui/views/frame/browser_view.cc |
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
index 2eb4e5135e4df4ad6b7d16d114f9312699730ab9..4b11b4c3f0ed2c7bd1e033a84ea4eab69926cb2d 100644 |
--- a/chrome/browser/ui/views/frame/browser_view.cc |
+++ b/chrome/browser/ui/views/frame/browser_view.cc |
@@ -71,6 +71,7 @@ |
#include "chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.h" |
#include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h" |
#include "chrome/browser/ui/views/find_bar_host.h" |
+#include "chrome/browser/ui/views/frame/browser_shutdown.h" |
#include "chrome/browser/ui/views/frame/browser_view_layout.h" |
#include "chrome/browser/ui/views/frame/browser_view_layout_delegate.h" |
#include "chrome/browser/ui/views/frame/contents_layout_manager.h" |
@@ -1752,6 +1753,13 @@ views::ClientView* BrowserView::CreateClientView(views::Widget* widget) { |
return this; |
} |
+void BrowserView::OnWidgetDestroying(views::Widget* widget) { |
+ // 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()); |
tapted
2016/05/31 12:38:43
ooh - I just had a look at the implementation of D
kirr
2016/05/31 16:04:29
Done. Sky, is it ok to remove DestroyBrowserWebCon
|
+} |
+ |
void BrowserView::OnWidgetActivationChanged(views::Widget* widget, |
bool active) { |
if (active) |