summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscottmg@google.com <scottmg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-26 22:24:47 +0000
committerscottmg@google.com <scottmg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-26 22:24:47 +0000
commit237f399fb735afc0ec4f11ed63f06d92daeb6214 (patch)
treedb12aa1fdd5eb2b9db51fadb305839989810c473
parentb9c96ff2a94781a7c951718314335bf432278253 (diff)
downloadchromium_src-237f399fb735afc0ec4f11ed63f06d92daeb6214.zip
chromium_src-237f399fb735afc0ec4f11ed63f06d92daeb6214.tar.gz
chromium_src-237f399fb735afc0ec4f11ed63f06d92daeb6214.tar.bz2
clear VisibilityClient during shutdown (aura win)
Without this, Window::SetVisible tries to using the visibility client during shutdown after it's been deleted. R=ben@chromium.org TEST=browser_tests, ExtensionApiTest.FocusWindowDoesNotExitFullscreen and ExtensionInstallUIBrowserTest.TestInstallThemeInFullScreen on win_aura Review URL: https://codereview.chromium.org/11418121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169502 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc9
-rw-r--r--chrome/browser/ui/views/frame/desktop_browser_frame_aura.h1
2 files changed, 9 insertions, 1 deletions
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 9b25d9d..b97b7e3 100644
--- a/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
+++ b/chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc
@@ -39,7 +39,7 @@ DesktopBrowserFrameAura::DesktopBrowserFrameAura(
}
///////////////////////////////////////////////////////////////////////////////
-// DesktopBrowserFrameAura, views::DestkopNativeWidgetAura overrides:
+// DesktopBrowserFrameAura, views::DesktopNativeWidgetAura overrides:
void DesktopBrowserFrameAura::InitNativeWidget(
const views::Widget::InitParams& params) {
@@ -64,6 +64,13 @@ void DesktopBrowserFrameAura::InitNativeWidget(
#endif
}
+void DesktopBrowserFrameAura::OnWindowDestroying() {
+#if defined(USE_ASH)
+ aura::client::SetVisibilityClient(GetNativeView()->GetRootWindow(), NULL);
+#endif
+ DesktopNativeWidgetAura::OnWindowDestroying();
+}
+
////////////////////////////////////////////////////////////////////////////////
// DesktopBrowserFrameAura, NativeBrowserFrame implementation:
diff --git a/chrome/browser/ui/views/frame/desktop_browser_frame_aura.h b/chrome/browser/ui/views/frame/desktop_browser_frame_aura.h
index 356991f..ed43eff 100644
--- a/chrome/browser/ui/views/frame/desktop_browser_frame_aura.h
+++ b/chrome/browser/ui/views/frame/desktop_browser_frame_aura.h
@@ -43,6 +43,7 @@ class DesktopBrowserFrameAura : public views::DesktopNativeWidgetAura,
// Overridden from views::DesktopNativeWidgetAura:
virtual void InitNativeWidget(
const views::Widget::InitParams& params) OVERRIDE;
+ void OnWindowDestroying() OVERRIDE;
// Overridden from NativeBrowserFrame:
virtual views::NativeWidget* AsNativeWidget() OVERRIDE;