#include "ash/wm/window_util.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/views/frame/browser_shutdown.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "ui/aura/client/aura_constants.h"
#include "ui/aura/window.h"
///////////////////////////////////////////////////////////////////////////////
// BrowserFrameAsh, views::NativeWidgetAura overrides:
+void BrowserFrameAsh::OnWindowDestroying() {
+ // 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());
+ NativeWidgetAura::OnWindowDestroying();
+}
+
void BrowserFrameAsh::OnWindowTargetVisibilityChanged(bool visible) {
if (visible) {
// Once the window has been shown we know the requested bounds