OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/test/ash_interactive_ui_test_base.h" | 5 #include "ash/test/ash_interactive_ui_test_base.h" |
6 | 6 |
| 7 #include "base/lazy_instance.h" |
7 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "mojo/edk/embedder/embedder.h" |
8 #include "ui/aura/env.h" | 10 #include "ui/aura/env.h" |
9 #include "ui/base/resource/resource_bundle.h" | 11 #include "ui/base/resource/resource_bundle.h" |
10 #include "ui/base/ui_base_paths.h" | 12 #include "ui/base/ui_base_paths.h" |
11 #include "ui/gl/test/gl_surface_test_support.h" | 13 #include "ui/gl/test/gl_surface_test_support.h" |
12 | 14 |
13 namespace ash { | 15 namespace ash { |
14 namespace test { | 16 namespace test { |
15 | 17 |
| 18 namespace { |
| 19 |
| 20 class MojoInitializer { |
| 21 public: |
| 22 MojoInitializer() { |
| 23 mojo::edk::Init(); |
| 24 } |
| 25 }; |
| 26 |
| 27 base::LazyInstance<MojoInitializer>::Leaky mojo_initializer; |
| 28 |
| 29 // Initialize mojo once per process. |
| 30 void InitializeMojo() { |
| 31 mojo_initializer.Get(); |
| 32 } |
| 33 |
| 34 } // namespace |
| 35 |
16 AshInteractiveUITestBase::AshInteractiveUITestBase() {} | 36 AshInteractiveUITestBase::AshInteractiveUITestBase() {} |
17 | 37 |
18 AshInteractiveUITestBase::~AshInteractiveUITestBase() {} | 38 AshInteractiveUITestBase::~AshInteractiveUITestBase() {} |
19 | 39 |
20 void AshInteractiveUITestBase::SetUp() { | 40 void AshInteractiveUITestBase::SetUp() { |
| 41 InitializeMojo(); |
| 42 |
21 gl::GLSurfaceTestSupport::InitializeOneOff(); | 43 gl::GLSurfaceTestSupport::InitializeOneOff(); |
22 | 44 |
23 ui::RegisterPathProvider(); | 45 ui::RegisterPathProvider(); |
24 ui::ResourceBundle::InitSharedInstanceWithLocale( | 46 ui::ResourceBundle::InitSharedInstanceWithLocale( |
25 "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); | 47 "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); |
26 base::FilePath resources_pack_path; | 48 base::FilePath resources_pack_path; |
27 PathService::Get(base::DIR_MODULE, &resources_pack_path); | 49 PathService::Get(base::DIR_MODULE, &resources_pack_path); |
28 resources_pack_path = | 50 resources_pack_path = |
29 resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); | 51 resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); |
30 ResourceBundle::GetSharedInstance().AddDataPackFromPath( | 52 ResourceBundle::GetSharedInstance().AddDataPackFromPath( |
31 resources_pack_path, ui::SCALE_FACTOR_NONE); | 53 resources_pack_path, ui::SCALE_FACTOR_NONE); |
32 env_ = aura::Env::CreateInstance(); | 54 env_ = aura::Env::CreateInstance(); |
33 | 55 |
34 test::AshTestBase::SetUp(); | 56 test::AshTestBase::SetUp(); |
35 } | 57 } |
36 | 58 |
37 void AshInteractiveUITestBase::TearDown() { | 59 void AshInteractiveUITestBase::TearDown() { |
38 test::AshTestBase::TearDown(); | 60 test::AshTestBase::TearDown(); |
39 env_.reset(); | 61 env_.reset(); |
40 } | 62 } |
41 | 63 |
42 } // namespace test | 64 } // namespace test |
43 } // namespace ash | 65 } // namespace ash |
OLD | NEW |