Index: ash/test/ash_test_base.cc |
=================================================================== |
--- ash/test/ash_test_base.cc (revision 124478) |
+++ ash/test/ash_test_base.cc (working copy) |
@@ -13,12 +13,18 @@ |
namespace test { |
AshTestBase::AshTestBase() { |
+ helper_.InitRootWindow(Shell::GetRootWindow()); |
} |
AshTestBase::~AshTestBase() { |
+ // Ensure that we don't use the previously-allocated static RootWindow object |
+ // later -- on Linux, it holds a reference to our message loop's X connection. |
+ aura::RootWindow::DeleteInstance(); |
} |
void AshTestBase::SetUp() { |
+ helper_.SetUp(); |
+ |
// Creates Shell and hook with Desktop. |
TestShellDelegate* delegate = new TestShellDelegate; |
Shell::WindowMode window_mode = Shell::MODE_OVERLAPPING; |
@@ -26,9 +32,6 @@ |
delegate->SetOverrideWindowMode(window_mode); |
ash::Shell::CreateInstance(delegate); |
- helper_.SetUp(); |
- helper_.InitRootWindow(Shell::GetRootWindow()); |
- |
// Disable animations during tests. |
ui::LayerAnimator::set_disable_animations_for_test(true); |
} |
@@ -37,10 +40,10 @@ |
// Flush the message loop to finish pending release tasks. |
RunAllPendingInMessageLoop(); |
- helper_.TearDown(); |
- |
// Tear down the shell. |
Shell::DeleteInstance(); |
+ |
+ helper_.TearDown(); |
} |
bool AshTestBase::GetOverrideWindowMode(Shell::WindowMode* window_mode) { |