| Index: ui/views_content_client/views_content_client_main_parts_chromeos.cc
|
| diff --git a/ui/views_content_client/views_content_client_main_parts.cc b/ui/views_content_client/views_content_client_main_parts_chromeos.cc
|
| similarity index 58%
|
| copy from ui/views_content_client/views_content_client_main_parts.cc
|
| copy to ui/views_content_client/views_content_client_main_parts_chromeos.cc
|
| index b4fea47ffcd3f822c21ea5c19b369a2161f1f989..ebdd764358fc9e524967a3b4956d410cf5f4917a 100644
|
| --- a/ui/views_content_client/views_content_client_main_parts.cc
|
| +++ b/ui/views_content_client/views_content_client_main_parts_chromeos.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "ui/views_content_client/views_content_client_main_parts.h"
|
| +#include "ui/views_content_client/views_content_client_main_parts_aura.h"
|
|
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| @@ -22,36 +22,43 @@
|
| #include "ui/views_content_client/views_content_client.h"
|
| #include "ui/wm/core/wm_state.h"
|
|
|
| -#if defined(OS_CHROMEOS)
|
| #include "ui/aura/test/test_screen.h"
|
| #include "ui/aura/window.h"
|
| #include "ui/aura/window_event_dispatcher.h"
|
| #include "ui/wm/test/wm_test_helper.h"
|
| -#else // !defined(OS_CHROMEOS)
|
| -#include "ui/views/widget/desktop_aura/desktop_screen.h"
|
| -#endif
|
|
|
| namespace ui {
|
|
|
| -ViewsContentClientMainParts::ViewsContentClientMainParts(
|
| - const content::MainFunctionParams& content_params,
|
| - ViewsContentClient* views_content_client)
|
| - : views_content_client_(views_content_client) {
|
| -}
|
| +namespace {
|
|
|
| -ViewsContentClientMainParts::~ViewsContentClientMainParts() {
|
| -}
|
| +class ViewsContentClientMainPartsChromeOS
|
| + : public ViewsContentClientMainPartsAura {
|
| + public:
|
| + ViewsContentClientMainPartsChromeOS(
|
| + const content::MainFunctionParams& content_params,
|
| + ViewsContentClient* views_content_client);
|
| + virtual ~ViewsContentClientMainPartsChromeOS() {}
|
| +
|
| + // content::BrowserMainParts:
|
| + virtual void PreMainMessageLoopRun() OVERRIDE;
|
| + virtual void PostMainMessageLoopRun() OVERRIDE;
|
| +
|
| + private:
|
| + // Enable a minimal set of views::corewm to be initialized.
|
| + scoped_ptr<wm::WMTestHelper> wm_test_helper_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ViewsContentClientMainPartsAura);
|
| +};
|
|
|
| -void ViewsContentClientMainParts::ToolkitInitialized() {
|
| - wm_state_.reset(new ::wm::WMState);
|
| +ViewsContentClientMainPartsChromeOS::ViewsContentClientMainPartsChromeOS(
|
| + const content::MainFunctionParams& content_params,
|
| + ViewsContentClient* views_content_client)
|
| + : ViewsContentClientMainPartsAura(content_params, views_content_client) {
|
| }
|
|
|
| -void ViewsContentClientMainParts::PreMainMessageLoopRun() {
|
| - ui::InitializeInputMethodForTesting();
|
| - browser_context_.reset(new content::ShellBrowserContext(false, NULL));
|
| +void ViewsContentClientMainPartsChromeOS::PreMainMessageLoopRun() {
|
| + ViewsContentClientMainPartsAura::PreMainMessageLoopRun();
|
|
|
| - gfx::NativeView window_context = NULL;
|
| -#if defined(OS_CHROMEOS)
|
| gfx::Screen::SetScreenInstance(
|
| gfx::SCREEN_TYPE_NATIVE, aura::TestScreen::Create());
|
| // Set up basic pieces of views::corewm.
|
| @@ -59,31 +66,16 @@ void ViewsContentClientMainParts::PreMainMessageLoopRun() {
|
| content::GetContextFactory()));
|
| // Ensure the X window gets mapped.
|
| wm_test_helper_->host()->Show();
|
| - // Ensure Aura knows where to open new windows.
|
| - window_context = wm_test_helper_->host()->window();
|
| -#else
|
| - aura::Env::CreateInstance(true);
|
| - gfx::Screen::SetScreenInstance(
|
| - gfx::SCREEN_TYPE_NATIVE, views::CreateDesktopScreen());
|
| -#endif
|
| - views_delegate_.reset(new views::DesktopTestViewsDelegate);
|
|
|
| - views_content_client_->task().Run(browser_context_.get(), window_context);
|
| + // Ensure Aura knows where to open new windows.
|
| + views_content_client()->task().Run(browser_context(),
|
| + wm_test_helper_->host()->window());
|
| }
|
|
|
| void ViewsContentClientMainParts::PostMainMessageLoopRun() {
|
| - browser_context_.reset();
|
| -#if defined(OS_CHROMEOS)
|
| wm_test_helper_.reset();
|
| -#endif
|
| - views_delegate_.reset();
|
| - aura::Env::DeleteInstance();
|
| }
|
|
|
| -bool ViewsContentClientMainParts::MainMessageLoopRun(int* result_code) {
|
| - base::RunLoop run_loop;
|
| - run_loop.Run();
|
| - return true;
|
| -}
|
| +} // namespace
|
|
|
| } // namespace ui
|
|
|