For chrome to be launched with sericeManager only, it currently uses the same ServiceManager::Main() as being used by launching the full browser mode.
The only difference is in the parameters being passed.
This is very confusing since the servicemanager launch should always come before the full browser launch.
To solve this issue, we can split the current browser launch into 2 parts, first we launch the service manager, then launch the full browser, so that we don't reuse the same ServiceManager::Main() entry point.
This also impacts the BrowserStartupController, as we need to split the current startBrowserProcessAsync(sync) into 2 parts. First launch the sericemanager, and when ServiceManager is launched, we launch the remaining of the browser process.
Comment 1 by bugdroid1@chromium.org
, Jul 11