summaryrefslogtreecommitdiffstats
path: root/content/browser/browser_main_runner.cc
diff options
context:
space:
mode:
authormarshall@chromium.org <marshall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 16:48:52 +0000
committermarshall@chromium.org <marshall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 16:48:52 +0000
commitb1b33e512d3297f38d65833054ad9cf6a8408df7 (patch)
treec913e2573c3d543492fd0cb9e609e1154813411a /content/browser/browser_main_runner.cc
parent1ab5b8cd4565b2e8d1f0282e09170d46dfd2b98d (diff)
downloadchromium_src-b1b33e512d3297f38d65833054ad9cf6a8408df7.zip
chromium_src-b1b33e512d3297f38d65833054ad9cf6a8408df7.tar.gz
chromium_src-b1b33e512d3297f38d65833054ad9cf6a8408df7.tar.bz2
Revert 121236 - Support sharing of ContentMain and BrowserMain code with embedded use cases (try #2).
Tests failing. Review URL: https://chromiumcodereview.appspot.com/9372027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browser_main_runner.cc')
-rw-r--r--content/browser/browser_main_runner.cc148
1 files changed, 0 insertions, 148 deletions
diff --git a/content/browser/browser_main_runner.cc b/content/browser/browser_main_runner.cc
deleted file mode 100644
index 23bfb8d..0000000
--- a/content/browser/browser_main_runner.cc
+++ /dev/null
@@ -1,148 +0,0 @@
-// 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 "content/public/browser/browser_main_runner.h"
-
-#include "base/allocator/allocator_shim.h"
-#include "base/base_switches.h"
-#include "base/command_line.h"
-#include "base/debug/trace_event.h"
-#include "base/logging.h"
-#include "base/metrics/histogram.h"
-#include "content/browser/browser_main_loop.h"
-#include "content/browser/notification_service_impl.h"
-#include "content/common/child_process.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/common/main_function_params.h"
-
-#if defined(OS_WIN)
-#include "base/win/scoped_com_initializer.h"
-#endif
-
-bool g_exited_main_message_loop = false;
-
-namespace {
-
-class BrowserMainRunnerImpl : public content::BrowserMainRunner {
- public:
- BrowserMainRunnerImpl()
- : is_initialized_(false),
- is_shutdown_(false),
- created_threads_(false) {
- }
-
- ~BrowserMainRunnerImpl() {
- if (is_initialized_ && !is_shutdown_)
- Shutdown();
- }
-
- virtual int Initialize(const content::MainFunctionParams& parameters)
- OVERRIDE {
- is_initialized_ = true;
-
- // ChildProcess:: is a misnomer unless you consider context. Use
- // of --wait-for-debugger only makes sense when Chrome itself is a
- // child process (e.g. when launched by PyAuto).
- if (parameters.command_line.HasSwitch(switches::kWaitForDebugger))
- ChildProcess::WaitForDebugger("Browser");
-
- notification_service_.reset(new NotificationServiceImpl);
-
- main_loop_.reset(new content::BrowserMainLoop(parameters));
-
- main_loop_->Init();
-
- main_loop_->EarlyInitialization();
-
- // Must happen before we try to use a message loop or display any UI.
- main_loop_->InitializeToolkit();
-
- main_loop_->MainMessageLoopStart();
-
- // WARNING: If we get a WM_ENDSESSION, objects created on the stack here
- // are NOT deleted. If you need something to run during WM_ENDSESSION add it
- // to browser_shutdown::Shutdown or BrowserProcess::EndSession.
-
-#if defined(OS_WIN)
-#if !defined(NO_TCMALLOC)
- // When linking shared libraries, NO_TCMALLOC is defined, and dynamic
- // allocator selection is not supported.
-
- // Make this call before going multithreaded, or spawning any subprocesses.
- base::allocator::SetupSubprocessAllocator();
-#endif
-
- com_initializer_.reset(new base::win::ScopedCOMInitializer);
-#endif // OS_WIN
-
- statistics_.reset(new base::StatisticsRecorder);
-
- main_loop_->CreateThreads();
- int result_code = main_loop_->GetResultCode();
- if (result_code > 0)
- return result_code;
- created_threads_ = true;
-
- // Return -1 to indicate no early termination.
- return -1;
- }
-
- virtual int Run() OVERRIDE {
- DCHECK(is_initialized_);
- DCHECK(!is_shutdown_);
- main_loop_->RunMainMessageLoopParts();
- return main_loop_->GetResultCode();
- }
-
- virtual void Shutdown() OVERRIDE {
- DCHECK(is_initialized_);
- DCHECK(!is_shutdown_);
- g_exited_main_message_loop = true;
-
- if (created_threads_)
- main_loop_->ShutdownThreadsAndCleanUp();
-
- statistics_.reset(NULL);
-
-#if defined(OS_WIN)
- com_initializer_.reset(NULL);
-#endif
-
- main_loop_.reset(NULL);
-
- notification_service_.reset(NULL);
-
- is_shutdown_ = true;
- }
-
- protected:
- // True if the runner has been initialized.
- bool is_initialized_;
-
- // True if the runner has been shut down.
- bool is_shutdown_;
-
- // True if the non-UI threads were created.
- bool created_threads_;
-
- scoped_ptr<NotificationServiceImpl> notification_service_;
- scoped_ptr<content::BrowserMainLoop> main_loop_;
-#if defined(OS_WIN)
- scoped_ptr<base::win::ScopedCOMInitializer> com_initializer_;
-#endif
- scoped_ptr<base::StatisticsRecorder> statistics_;
-
- DISALLOW_COPY_AND_ASSIGN(BrowserMainRunnerImpl);
-};
-
-} // namespace
-
-namespace content {
-
-// static
-BrowserMainRunner* BrowserMainRunner::Create() {
- return new BrowserMainRunnerImpl();
-}
-
-} // namespace content