Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / mojo / runner / desktop / main.cc
blob93c2376394cd41037920bc5285ad7e30b989ccd9
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/at_exit.h"
6 #include "base/command_line.h"
7 #include "base/debug/stack_trace.h"
8 #include "base/process/launch.h"
9 #include "build/build_config.h"
10 #include "mojo/runner/child_process.h"
11 #include "mojo/runner/desktop/launcher_process.h"
12 #include "mojo/runner/init.h"
13 #include "mojo/runner/switches.h"
15 int main(int argc, char** argv) {
16 base::AtExitManager at_exit;
17 base::CommandLine::Init(argc, argv);
19 mojo::runner::InitializeLogging();
21 const base::CommandLine& command_line =
22 *base::CommandLine::ForCurrentProcess();
24 #if !defined(OFFICIAL_BUILD)
25 base::debug::EnableInProcessStackDumping();
26 #if defined(OS_WIN)
27 base::RouteStdioToConsole(false);
28 #endif
29 #endif
31 if (command_line.HasSwitch(switches::kChildProcess))
32 return mojo::runner::ChildProcessMain();
34 return mojo::runner::LauncherProcessMain(argc, argv);