#include "chrome/browser/ui/views/frame/desktop_browser_frame_aura.h"
#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_desktop_window_tree_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"
: views::DesktopNativeWidgetAura(browser_frame),
browser_view_(browser_view),
browser_frame_(browser_frame),
- browser_desktop_root_window_host_(NULL) {
+ browser_desktop_window_tree_host_(NULL) {
GetNativeWindow()->SetName("BrowserFrameAura");
}
// 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();
}
void DesktopBrowserFrameAura::InitNativeWidget(
const views::Widget::InitParams& params) {
- browser_desktop_root_window_host_ =
+ browser_desktop_window_tree_host_ =
BrowserDesktopWindowTreeHost::CreateBrowserDesktopWindowTreeHost(
browser_frame_,
this,
browser_view_,
browser_frame_);
views::Widget::InitParams modified_params = params;
- modified_params.desktop_root_window_host =
- browser_desktop_root_window_host_->AsDesktopWindowTreeHost();
+ modified_params.desktop_window_tree_host =
+ browser_desktop_window_tree_host_->AsDesktopWindowTreeHost();
DesktopNativeWidgetAura::InitNativeWidget(modified_params);
user_action_client_.reset(
}
bool DesktopBrowserFrameAura::UsesNativeSystemMenu() const {
- return browser_desktop_root_window_host_->UsesNativeSystemMenu();
+ return browser_desktop_window_tree_host_->UsesNativeSystemMenu();
}
int DesktopBrowserFrameAura::GetMinimizeButtonOffset() const {
- return browser_desktop_root_window_host_->GetMinimizeButtonOffset();
+ return browser_desktop_window_tree_host_->GetMinimizeButtonOffset();
}