diff options
author | scottmg@google.com <scottmg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-26 22:24:47 +0000 |
---|---|---|
committer | scottmg@google.com <scottmg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-26 22:24:47 +0000 |
commit | 237f399fb735afc0ec4f11ed63f06d92daeb6214 (patch) | |
tree | db12aa1fdd5eb2b9db51fadb305839989810c473 | |
parent | b9c96ff2a94781a7c951718314335bf432278253 (diff) | |
download | chromium_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.cc | 9 | ||||
-rw-r--r-- | chrome/browser/ui/views/frame/desktop_browser_frame_aura.h | 1 |
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; |