Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Unified Diff: ui/views_content_client/views_content_client_main_parts_chromeos.cc

Issue 303543004: MacViews: views_examples_with_content_exe working! Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add files Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698