Index: ui/views/mus/platform_test_helper_mus.cc |
diff --git a/ui/views/mus/platform_test_helper_mus.cc b/ui/views/mus/platform_test_helper_mus.cc |
index f5d1df05c3b7586bc7aca539f92169b0ce3c3453..d1df50a4cb840111c164b8d0c7e148bef03144a4 100644 |
--- a/ui/views/mus/platform_test_helper_mus.cc |
+++ b/ui/views/mus/platform_test_helper_mus.cc |
@@ -4,45 +4,54 @@ |
#include "ui/views/test/platform_test_helper.h" |
-#include "base/path_service.h" |
-#include "mojo/shell/public/cpp/application_test_base.h" |
-#include "mojo/shell/public/cpp/shell.h" |
-#include "ui/aura/env.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/base/ui_base_paths.h" |
-#include "ui/gl/test/gl_surface_test_support.h" |
+#include "base/command_line.h" |
+#include "mojo/shell/background/background_shell.h" |
+#include "mojo/shell/public/cpp/application_impl.h" |
+#include "mojo/shell/public/cpp/shell_client.h" |
#include "ui/views/mus/window_manager_connection.h" |
+#include "url/gurl.h" |
namespace views { |
namespace { |
+class DefaultShellClient : public mojo::ShellClient { |
+ public: |
+ DefaultShellClient() {} |
+ ~DefaultShellClient() override {} |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(DefaultShellClient); |
+}; |
+ |
class PlatformTestHelperMus : public PlatformTestHelper { |
public: |
PlatformTestHelperMus() { |
- gfx::GLSurfaceTestSupport::InitializeOneOff(); |
- |
- // TODO(sky): We really shouldn't need to configure ResourceBundle. |
- ui::RegisterPathProvider(); |
- base::FilePath ui_test_pak_path; |
- CHECK(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path)); |
- ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path); |
- aura::Env::CreateInstance(true); |
+ // Force the new edk. |
+ base::CommandLine::ForCurrentProcess()->AppendSwitch("use-new-edk"); |
- mojo_test_helper_.reset(new mojo::test::TestHelper(nullptr)); |
+ background_shell_.reset(new mojo::shell::BackgroundShell); |
+ background_shell_->Init(); |
+ shell_client_.reset(new DefaultShellClient); |
+ app_.reset(new mojo::ApplicationImpl( |
+ shell_client_.get(), |
+ background_shell_->CreateApplication(GURL("mojo://test-app")))); |
+ app_->WaitForInitialize(); |
// ui/views/mus requires a WindowManager running, for now use the desktop |
// one. |
- mojo_test_helper_->shell()->Connect("mojo:desktop_wm"); |
- WindowManagerConnection::Create(mojo_test_helper_->shell()); |
+ app_->Connect("mojo:desktop_wm"); |
+ WindowManagerConnection::Create(app_.get()); |
} |
~PlatformTestHelperMus() override { |
- mojo_test_helper_.reset(nullptr); |
- aura::Env::DeleteInstance(); |
- ui::ResourceBundle::CleanupSharedInstance(); |
+ WindowManagerConnection::Reset(); |
+ // |app_| has a reference to us, destroy it while we are still valid. |
+ app_.reset(); |
} |
private: |
- scoped_ptr<mojo::test::TestHelper> mojo_test_helper_; |
+ scoped_ptr<mojo::shell::BackgroundShell> background_shell_; |
+ scoped_ptr<mojo::ApplicationImpl> app_; |
+ scoped_ptr<DefaultShellClient> shell_client_; |
DISALLOW_COPY_AND_ASSIGN(PlatformTestHelperMus); |
}; |