| Index: ash/mus/window_manager_application.cc
|
| diff --git a/ash/mus/window_manager_application.cc b/ash/mus/window_manager_application.cc
|
| index 3594bf3237f3dd370aa89b1249dc03962e1df08f..2594871853f8089ff788e686d2a708825236d9f4 100644
|
| --- a/ash/mus/window_manager_application.cc
|
| +++ b/ash/mus/window_manager_application.cc
|
| @@ -95,16 +95,21 @@ void WindowManagerApplication::InitializeComponents(bool init_network_handler) {
|
| message_center::MessageCenter::Initialize();
|
|
|
| // Must occur after mojo::ApplicationRunner has initialized AtExitManager, but
|
| - // before WindowManager::Init().
|
| - chromeos::DBusThreadManager::Initialize(
|
| - chromeos::DBusThreadManager::PROCESS_ASH);
|
| + // before WindowManager::Init(). Tests might initialize their own instance.
|
| + if (!chromeos::DBusThreadManager::IsInitialized()) {
|
| + chromeos::DBusThreadManager::Initialize(
|
| + chromeos::DBusThreadManager::PROCESS_ASH);
|
| + dbus_thread_manager_initialized_ = true;
|
| + }
|
|
|
| // See ChromeBrowserMainPartsChromeos for ordering details.
|
| bluez::BluezDBusManager::Initialize(
|
| chromeos::DBusThreadManager::Get()->GetSystemBus(),
|
| chromeos::DBusThreadManager::Get()->IsUsingFakes());
|
| - if (init_network_handler)
|
| + if (init_network_handler && !chromeos::NetworkHandler::IsInitialized()) {
|
| chromeos::NetworkHandler::Initialize();
|
| + network_handler_initialized_ = true;
|
| + }
|
| network_connect_delegate_.reset(new NetworkConnectDelegateMus());
|
| chromeos::NetworkConnect::Initialize(network_connect_delegate_.get());
|
| // TODO(jamescook): Initialize real audio handler.
|
| @@ -117,11 +122,12 @@ void WindowManagerApplication::ShutdownComponents() {
|
| chromeos::NetworkConnect::Shutdown();
|
| network_connect_delegate_.reset();
|
| // We may not have started the NetworkHandler.
|
| - if (chromeos::NetworkHandler::IsInitialized())
|
| + if (network_handler_initialized_)
|
| chromeos::NetworkHandler::Shutdown();
|
| device::BluetoothAdapterFactory::Shutdown();
|
| bluez::BluezDBusManager::Shutdown();
|
| - chromeos::DBusThreadManager::Shutdown();
|
| + if (dbus_thread_manager_initialized_)
|
| + chromeos::DBusThreadManager::Shutdown();
|
| message_center::MessageCenter::Shutdown();
|
| }
|
|
|
|
|