diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-24 06:56:29 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-24 06:56:29 +0000 |
commit | 69fbed1756fd299dcf23f72be39d6de4424a3268 (patch) | |
tree | 46ba144e84a8a1ee23820e9edc46f708b16d069f | |
parent | 632f7994a9ea18b3a5bf45ae78cd3d65677afd19 (diff) | |
download | chromium_src-69fbed1756fd299dcf23f72be39d6de4424a3268.zip chromium_src-69fbed1756fd299dcf23f72be39d6de4424a3268.tar.gz chromium_src-69fbed1756fd299dcf23f72be39d6de4424a3268.tar.bz2 |
linux_aura: Release X11 resources when the MessagePumpAuraX11 goes away.
On developer's Precise machines (but not the bots!), views_unittests stopped
working abruptly. This is a case where I'm not sure how the code ever
worked. This makes various shutdown code work.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12897005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190223 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ui/aura/env.cc | 2 | ||||
-rw-r--r-- | ui/aura/test/aura_test_base.cc | 8 | ||||
-rw-r--r-- | ui/aura/test/aura_test_helper.cc | 9 | ||||
-rw-r--r-- | ui/views/widget/desktop_aura/x11_desktop_handler.cc | 2 |
4 files changed, 13 insertions, 8 deletions
diff --git a/ui/aura/env.cc b/ui/aura/env.cc index 2a03b2a..9f36f49 100644 --- a/ui/aura/env.cc +++ b/ui/aura/env.cc @@ -35,6 +35,8 @@ Env::~Env() { &device_list_updater_aurax11_); #endif + FOR_EACH_OBSERVER(EnvObserver, observers_, OnWillDestroyEnv()); + ui::Compositor::Terminate(); } diff --git a/ui/aura/test/aura_test_base.cc b/ui/aura/test/aura_test_base.cc index f6ad08c..5bbef57 100644 --- a/ui/aura/test/aura_test_base.cc +++ b/ui/aura/test/aura_test_base.cc @@ -10,10 +10,6 @@ #include "ui/base/gestures/gesture_configuration.h" #include "ui/base/ime/text_input_test_support.h" -#if defined(USE_X11) -#include "ui/base/x/x11_util.h" -#endif - namespace aura { namespace test { @@ -73,10 +69,6 @@ void AuraTestBase::TearDown() { helper_->TearDown(); ui::TextInputTestSupport::Shutdown(); testing::Test::TearDown(); - -#if defined(USE_X11) - ui::ResetXCursorCache(); -#endif } Window* AuraTestBase::CreateNormalWindow(int id, Window* parent, diff --git a/ui/aura/test/aura_test_helper.cc b/ui/aura/test/aura_test_helper.cc index 7d01d2d..cc7597c 100644 --- a/ui/aura/test/aura_test_helper.cc +++ b/ui/aura/test/aura_test_helper.cc @@ -20,6 +20,10 @@ #include "ui/compositor/scoped_animation_duration_scale_mode.h" #include "ui/gfx/screen.h" +#if defined(USE_X11) +#include "ui/base/x/x11_util.h" +#endif + namespace aura { namespace test { @@ -74,6 +78,11 @@ void AuraTestHelper::TearDown() { root_window_.reset(); test_screen_.reset(); gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, NULL); + +#if defined(USE_X11) + ui::ResetXCursorCache(); +#endif + Env::DeleteInstance(); } diff --git a/ui/views/widget/desktop_aura/x11_desktop_handler.cc b/ui/views/widget/desktop_aura/x11_desktop_handler.cc index ef01301..ef0b633 100644 --- a/ui/views/widget/desktop_aura/x11_desktop_handler.cc +++ b/ui/views/widget/desktop_aura/x11_desktop_handler.cc @@ -59,6 +59,8 @@ X11DesktopHandler::~X11DesktopHandler() { } void X11DesktopHandler::ActivateWindow(::Window window) { + DCHECK_EQ(base::MessagePumpAuraX11::GetDefaultXDisplay(), xdisplay_); + XEvent xclient; memset(&xclient, 0, sizeof(xclient)); xclient.type = ClientMessage; |