Chromium Code Reviews| Index: ash/mus/window_manager_unittest.cc |
| diff --git a/ash/mus/window_manager_unittest.cc b/ash/mus/window_manager_unittest.cc |
| index 4c2c0cd0e88246778ebfd775b94812bdbd1a1108..60e9862b46d44f2e237d7cf3f1c27f62f6e44c48 100644 |
| --- a/ash/mus/window_manager_unittest.cc |
| +++ b/ash/mus/window_manager_unittest.cc |
| @@ -66,7 +66,28 @@ class WindowManagerTest : public service_manager::test::ServiceTest { |
| WindowManagerTest() : service_manager::test::ServiceTest("mash_unittests") {} |
| ~WindowManagerTest() override {} |
| + // service_manager::test::ServiceTest: |
| + void SetUp() override { |
| + service_manager::test::ServiceTest::SetUp(); |
| + |
| + // This test triggers a path that clobbers the context_factory set on Env. |
|
msw
2017/02/19 21:49:20
Can you elaborate on the exact mechanism that clob
sky
2017/02/21 17:06:50
Done.
|
| + // As all tests share the same Env (see mash_test_suite) we need to restore |
| + // the context_factory when done. |
| + aura::Env* env = aura::Env::GetInstance(); |
| + initial_context_factory_ = env->context_factory(); |
| + initial_context_factory_private_ = env->context_factory_private(); |
| + } |
| + |
| + void TearDown() override { |
| + aura::Env* env = aura::Env::GetInstance(); |
| + env->set_context_factory(initial_context_factory_); |
| + env->set_context_factory_private(initial_context_factory_private_); |
| + } |
| + |
| private: |
| + ui::ContextFactory* initial_context_factory_ = nullptr; |
| + ui::ContextFactoryPrivate* initial_context_factory_private_ = nullptr; |
| + |
| DISALLOW_COPY_AND_ASSIGN(WindowManagerTest); |
| }; |