Index: headless/lib/browser/headless_browser_main_parts.cc |
diff --git a/headless/lib/browser/headless_browser_main_parts.cc b/headless/lib/browser/headless_browser_main_parts.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bf5eb93c67063240d1d992d892964572230fdfcc |
--- /dev/null |
+++ b/headless/lib/browser/headless_browser_main_parts.cc |
@@ -0,0 +1,50 @@ |
+// Copyright 2015 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 "headless/lib/browser/headless_browser_main_parts.h" |
+ |
+#include "headless/lib/browser/headless_browser_context.h" |
+#include "headless/lib/browser/headless_devtools.h" |
+ |
+#include "ui/aura/env.h" |
+#include "ui/gfx/screen.h" |
+#include "ui/aura/test/test_screen.h" |
+#include "components/devtools_http_handler/devtools_http_handler.h" |
+ |
+namespace headless { |
+ |
+namespace { |
+ |
+void PlatformInitialize() { |
+ aura::TestScreen* screen = aura::TestScreen::Create(gfx::Size()); |
+ gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen); |
+} |
+ |
+void PlatformExit() { |
+ aura::Env::DeleteInstance(); |
+} |
+ |
+} |
+ |
+HeadlessBrowserMainParts::HeadlessBrowserMainParts() { } |
+ |
+HeadlessBrowserMainParts::~HeadlessBrowserMainParts() { } |
+ |
+void HeadlessBrowserMainParts::PreMainMessageLoopRun() { |
+ browser_context_.reset(new HeadlessBrowserContext()); |
+ devtools_http_handler_.reset(CreateHttpHandler(browser_context_.get()).release()); |
+ PlatformInitialize(); |
+} |
+ |
+void HeadlessBrowserMainParts::PostMainMessageLoopRun() { |
+ browser_context_.reset(); |
+ devtools_http_handler_.reset(); |
+ PlatformExit(); |
+} |
+ |
+HeadlessBrowserContext* HeadlessBrowserMainParts::browser_context() { |
+ return browser_context_.get(); |
+} |
+ |
+} // namespace headless |