Chromium Code Reviews| Index: shell/child_main.cc |
| diff --git a/shell/child_main.cc b/shell/child_main.cc |
| index b3964a0c73a36658f6bfa08dc0617582311b7d1d..a420096051af9b5149696a2022ebaffedf0ae74f 100644 |
| --- a/shell/child_main.cc |
| +++ b/shell/child_main.cc |
| @@ -2,10 +2,9 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "shell/child_main.h" |
| - |
| #include <unistd.h> |
| +#include "base/at_exit.h" |
| #include "base/bind.h" |
| #include "base/callback_helpers.h" |
| #include "base/command_line.h" |
| @@ -28,7 +27,9 @@ |
| #include "mojo/edk/embedder/simple_platform_support.h" |
| #include "mojo/public/cpp/system/core.h" |
| #include "shell/child_controller.mojom.h" |
| +#include "shell/init.h" |
| #include "shell/native_application_support.h" |
| +#include "shell/switches.h" |
| namespace mojo { |
| namespace shell { |
| @@ -276,25 +277,32 @@ class ChildControllerImpl : public ChildController, public ErrorHandler { |
| } // namespace |
| -// ChildMain ------------------------------------------------------------------- |
| +} // namespace shell |
| +} // namespace mojo |
| + |
| +int main(int argc, char** argv) { |
| + base::AtExitManager at_exit; |
| + base::CommandLine::Init(argc, argv); |
| -int ChildMain() { |
| - DVLOG(2) << "ChildMain()"; |
| + mojo::shell::InitializeLogging(); |
| - DCHECK(!base::MessageLoop::current()); |
| + // Make sure that we're really meant to be invoked as the child process. |
| + CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kChildProcess)); |
|
DaveMoore
2015/04/07 22:27:30
this seems unnecessary. Why bother with having a s
|
| - embedder::ScopedPlatformHandle platform_channel = |
| - embedder::PlatformChannelPair::PassClientHandleFromParentProcess( |
| + mojo::embedder::ScopedPlatformHandle platform_channel = |
| + mojo::embedder::PlatformChannelPair::PassClientHandleFromParentProcess( |
| *base::CommandLine::ForCurrentProcess()); |
| CHECK(platform_channel.is_valid()); |
| - AppContext app_context; |
| + mojo::shell::AppContext app_context; |
| app_context.Init(); |
| - Blocker blocker; |
| + mojo::shell::Blocker blocker; |
| app_context.controller_runner()->PostTask( |
| FROM_HERE, |
| - base::Bind(&ChildControllerImpl::Init, base::Unretained(&app_context), |
| + base::Bind(&mojo::shell::ChildControllerImpl::Init, |
| + base::Unretained(&app_context), |
| base::Passed(&platform_channel), blocker.GetUnblocker())); |
| // This will block, then run whatever the controller wants. |
| blocker.Block(); |
| @@ -303,6 +311,3 @@ int ChildMain() { |
| return 0; |
| } |
| - |
| -} // namespace shell |
| -} // namespace mojo |