Index: ui/views_content_client/views_content_client_main_parts_desktop_aura.cc |
diff --git a/ui/views_content_client/views_content_client_main_parts_desktop_aura.cc b/ui/views_content_client/views_content_client_main_parts_desktop_aura.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1a54c3dbda14c51475b66c5c3625caace56f0533 |
--- /dev/null |
+++ b/ui/views_content_client/views_content_client_main_parts_desktop_aura.cc |
@@ -0,0 +1,64 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// 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 "base/bind.h" |
+#include "base/command_line.h" |
+#include "base/message_loop/message_loop.h" |
+#include "base/run_loop.h" |
+#include "base/strings/string_number_conversions.h" |
+#include "base/threading/thread.h" |
+#include "base/threading/thread_restrictions.h" |
+#include "content/public/browser/context_factory.h" |
+#include "content/public/common/content_switches.h" |
+#include "content/shell/browser/shell_browser_context.h" |
+#include "ui/aura/env.h" |
+#include "ui/base/ime/input_method_initializer.h" |
+#include "ui/gfx/screen.h" |
+#include "ui/views/test/desktop_test_views_delegate.h" |
+#include "ui/views/widget/native_widget_aura.h" |
+#include "ui/views_content_client/views_content_client.h" |
+#include "ui/wm/core/wm_state.h" |
+ |
+#include "ui/views/widget/desktop_aura/desktop_screen.h" |
+ |
+namespace ui { |
+ |
+namespace { |
+ |
+class ViewsContentClientMainPartsDesktopAura |
+ : public ViewsContentClientMainPartsAura { |
+ public: |
+ ViewsContentClientMainPartsDesktopAura( |
+ const content::MainFunctionParams& content_params, |
+ ViewsContentClient* views_content_client); |
+ virtual ~ViewsContentClientMainPartsDesktopAura() {} |
+ |
+ // content::BrowserMainParts: |
+ virtual void PreMainMessageLoopRun() OVERRIDE; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ViewsContentClientMainPartsDesktopAura); |
+}; |
+ |
+ViewsContentClientMainPartsDesktopAura::ViewsContentClientMainPartsDesktopAura( |
+ const content::MainFunctionParams& content_params, |
+ ViewsContentClient* views_content_client) |
+ : ViewsContentClientMainPartsAura(content_params, views_content_client) { |
+} |
+ |
+void ViewsContentClientMainParts::PreMainMessageLoopRun() { |
+ ViewsContentClientMainPartsAura::PreMainMessageLoopRun(); |
+ |
+ aura::Env::CreateInstance(true); |
+ gfx::Screen::SetScreenInstance( |
+ gfx::SCREEN_TYPE_NATIVE, views::CreateDesktopScreen()); |
+ |
+ views_content_client()->task().Run(browser_context(), NULL); |
+} |
+ |
+} // namespace |
+ |
+} // namespace ui |