| Index: extensions/shell/browser/shell_browser_main_parts.cc
|
| diff --git a/extensions/shell/browser/shell_browser_main_parts.cc b/extensions/shell/browser/shell_browser_main_parts.cc
|
| index 24f7e02858f031fdec1351a30bf946e5c236b9ba..6a49ba5facd10900055895301627b542d36c6b13 100644
|
| --- a/extensions/shell/browser/shell_browser_main_parts.cc
|
| +++ b/extensions/shell/browser/shell_browser_main_parts.cc
|
| @@ -29,7 +29,10 @@
|
| #include "ui/base/resource/resource_bundle.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| +#include "chromeos/audio/cras_audio_handler.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/network/network_handler.h"
|
| +#include "extensions/shell/browser/shell_audio_controller_chromeos.h"
|
| #include "extensions/shell/browser/shell_network_controller_chromeos.h"
|
| #endif
|
|
|
| @@ -42,17 +45,6 @@
|
|
|
| using content::BrowserContext;
|
|
|
| -namespace {
|
| -
|
| -// Register additional KeyedService factories here. See
|
| -// ChromeBrowserMainExtraPartsProfiles for details.
|
| -void EnsureBrowserContextKeyedServiceFactoriesBuilt() {
|
| - extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
| - extensions::ShellExtensionSystemFactory::GetInstance();
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| namespace extensions {
|
|
|
| ShellBrowserMainParts::ShellBrowserMainParts(
|
| @@ -73,10 +65,19 @@ void ShellBrowserMainParts::PreMainMessageLoopStart() {
|
|
|
| void ShellBrowserMainParts::PostMainMessageLoopStart() {
|
| #if defined(OS_CHROMEOS)
|
| + // Perform initialization of D-Bus objects here rather than in the below
|
| + // helper classes so those classes' tests can initialize stub versions of the
|
| + // D-Bus objects.
|
| chromeos::DBusThreadManager::Initialize();
|
| +
|
| + chromeos::NetworkHandler::Initialize();
|
| network_controller_.reset(new ShellNetworkController(
|
| base::CommandLine::ForCurrentProcess()->GetSwitchValueNative(
|
| switches::kAppShellPreferredNetwork)));
|
| +
|
| + chromeos::CrasAudioHandler::Initialize(
|
| + new ShellAudioController::PrefHandler());
|
| + audio_controller_.reset(new ShellAudioController());
|
| #else
|
| // Non-Chrome OS platforms are for developer convenience, so use a test IME.
|
| ui::InitializeInputMethodForTesting();
|
| @@ -121,7 +122,11 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() {
|
| // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt.
|
| CreateExtensionSystem();
|
|
|
| - ::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
| + // Register additional KeyedService factories here. See
|
| + // ChromeBrowserMainExtraPartsProfiles for details.
|
| + EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
| + ShellExtensionSystemFactory::GetInstance();
|
| +
|
| BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices(
|
| browser_context_.get());
|
|
|
| @@ -172,7 +177,10 @@ void ShellBrowserMainParts::PostMainMessageLoopRun() {
|
|
|
| void ShellBrowserMainParts::PostDestroyThreads() {
|
| #if defined(OS_CHROMEOS)
|
| + audio_controller_.reset();
|
| + chromeos::CrasAudioHandler::Shutdown();
|
| network_controller_.reset();
|
| + chromeos::NetworkHandler::Shutdown();
|
| chromeos::DBusThreadManager::Shutdown();
|
| #endif
|
| }
|
|
|