Chromium Code Reviews| 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..d74d4331680a660beffe097bf643e4bc98052fde 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,18 @@ 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 said classes can be tested. |
|
jennyz
2014/08/28 17:42:49
nit: said->that?
Daniel Erat
2014/08/28 23:27:57
"said" means "just-mentioned" in this case -- see
|
| 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 +121,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 +176,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 |
| } |