| Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| index 9111bdd80fde3280c474b92a92bc7f7208fcd9e1..ae548d0a7045adccf229e75b562f202bf4cfaccc 100644
|
| --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| @@ -382,8 +382,6 @@ ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() {
|
| if (KioskModeSettings::Get()->IsKioskModeEnabled())
|
| ShutdownKioskModeScreensaver();
|
|
|
| - dbus_services_.reset();
|
| -
|
| // To be precise, logout (browser shutdown) is not yet done, but the
|
| // remaining work is negligible, hence we say LogoutDone here.
|
| BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false);
|
| @@ -459,6 +457,11 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() {
|
| // Threads are initialized between MainMessageLoopStart and MainMessageLoopRun.
|
| // about_flags settings are applied in ChromeBrowserMainParts::PreCreateThreads.
|
| void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() {
|
| + // Set the crypto thread after the IO thread has been created/started.
|
| + NetworkHandler::Get()->cert_loader()->SetCryptoTaskRunner(
|
| + content::BrowserThread::GetMessageLoopProxyForThread(
|
| + content::BrowserThread::IO));
|
| +
|
| if (ash::switches::UseNewAudioHandler()) {
|
| CrasAudioHandler::Initialize(
|
| AudioDevicesPrefHandler::Create(g_browser_process->local_state()));
|
| @@ -838,7 +841,11 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
|
| }
|
|
|
| void ChromeBrowserMainPartsChromeos::PostDestroyThreads() {
|
| + // Destroy DBus services immediately after threads are stopped.
|
| + dbus_services_.reset();
|
| +
|
| ChromeBrowserMainPartsLinux::PostDestroyThreads();
|
| +
|
| // Destroy DeviceSettingsService after g_browser_process.
|
| DeviceSettingsService::Shutdown();
|
| }
|
|
|