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 |