OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" | 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 // Singletons are finally destroyed in AtExitManager. | 746 // Singletons are finally destroyed in AtExitManager. |
747 XInputHierarchyChangedEventListener::GetInstance()->Stop(); | 747 XInputHierarchyChangedEventListener::GetInstance()->Stop(); |
748 | 748 |
749 DeviceUMA::GetInstance()->Stop(); | 749 DeviceUMA::GetInstance()->Stop(); |
750 | 750 |
751 // SystemKeyEventListener::Shutdown() is always safe to call, | 751 // SystemKeyEventListener::Shutdown() is always safe to call, |
752 // even if Initialize() wasn't called. | 752 // even if Initialize() wasn't called. |
753 SystemKeyEventListener::Shutdown(); | 753 SystemKeyEventListener::Shutdown(); |
754 #endif | 754 #endif |
755 | 755 |
| 756 CrasAudioHandler::Shutdown(); |
| 757 |
756 // Detach D-Bus clients before DBusThreadManager is shut down. | 758 // Detach D-Bus clients before DBusThreadManager is shut down. |
757 power_button_observer_.reset(); | 759 power_button_observer_.reset(); |
758 idle_action_warning_observer_.reset(); | 760 idle_action_warning_observer_.reset(); |
759 | 761 |
760 #if !defined(USE_ATHENA) | 762 #if !defined(USE_ATHENA) |
761 MagnificationManager::Shutdown(); | 763 MagnificationManager::Shutdown(); |
762 #endif | 764 #endif |
763 | 765 |
764 AccessibilityManager::Shutdown(); | 766 AccessibilityManager::Shutdown(); |
765 | 767 |
(...skipping 29 matching lines...) Expand all Loading... |
795 | 797 |
796 // We first call PostMainMessageLoopRun and then destroy UserManager, because | 798 // We first call PostMainMessageLoopRun and then destroy UserManager, because |
797 // Ash needs to be closed before UserManager is destroyed. | 799 // Ash needs to be closed before UserManager is destroyed. |
798 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 800 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
799 | 801 |
800 input_method::Shutdown(); | 802 input_method::Shutdown(); |
801 | 803 |
802 // Stops all in-flight OAuth2 token fetchers before the IO thread stops. | 804 // Stops all in-flight OAuth2 token fetchers before the IO thread stops. |
803 DeviceOAuth2TokenServiceFactory::Shutdown(); | 805 DeviceOAuth2TokenServiceFactory::Shutdown(); |
804 | 806 |
805 // Shutdown after PostMainMessageLoopRun() which should destroy all observers. | |
806 CrasAudioHandler::Shutdown(); | |
807 | |
808 // Called after | 807 // Called after |
809 // ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() to be | 808 // ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() to be |
810 // executed after execution of chrome::CloseAsh(), because some | 809 // executed after execution of chrome::CloseAsh(), because some |
811 // parts of WebUI depends on NetworkPortalDetector. | 810 // parts of WebUI depends on NetworkPortalDetector. |
812 NetworkPortalDetector::Shutdown(); | 811 NetworkPortalDetector::Shutdown(); |
813 | 812 |
814 g_browser_process->platform_part()->DestroyChromeUserManager(); | 813 g_browser_process->platform_part()->DestroyChromeUserManager(); |
815 | 814 |
816 g_browser_process->platform_part()->ShutdownSessionManager(); | 815 g_browser_process->platform_part()->ShutdownSessionManager(); |
817 } | 816 } |
818 | 817 |
819 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { | 818 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { |
820 // Destroy DBus services immediately after threads are stopped. | 819 // Destroy DBus services immediately after threads are stopped. |
821 dbus_services_.reset(); | 820 dbus_services_.reset(); |
822 | 821 |
823 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | 822 ChromeBrowserMainPartsLinux::PostDestroyThreads(); |
824 | 823 |
825 // Destroy DeviceSettingsService after g_browser_process. | 824 // Destroy DeviceSettingsService after g_browser_process. |
826 DeviceSettingsService::Shutdown(); | 825 DeviceSettingsService::Shutdown(); |
827 } | 826 } |
828 | 827 |
829 } // namespace chromeos | 828 } // namespace chromeos |
OLD | NEW |