Chromium Code Reviews| 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..1feb1aab539698660584cb787e6c74fe83d19fe8 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::Initialize(); |
|
stevenjb
2017/05/03 22:11:39
Should we also check chromeos::NetworkHandler::IsI
James Cook
2017/05/03 22:29:32
Done.
|
| + 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(); |
| } |