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/shell.h" | 10 #include "ash/shell.h" |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
319 // detector starts to monitor changes from the update engine. | 319 // detector starts to monitor changes from the update engine. |
320 UpgradeDetectorChromeos::GetInstance()->Init(); | 320 UpgradeDetectorChromeos::GetInstance()->Init(); |
321 | 321 |
322 if (base::chromeos::IsRunningOnChromeOS()) { | 322 if (base::chromeos::IsRunningOnChromeOS()) { |
323 // Disable Num Lock on X start up for http://crosbug.com/29169. | 323 // Disable Num Lock on X start up for http://crosbug.com/29169. |
324 input_method::GetInputMethodManager()->GetXKeyboard()-> | 324 input_method::GetInputMethodManager()->GetXKeyboard()-> |
325 SetNumLockEnabled(false); | 325 SetNumLockEnabled(false); |
326 } | 326 } |
327 | 327 |
328 // Initialize the device settings service so that we'll take actions per | 328 // Initialize the device settings service so that we'll take actions per |
329 // signals sent from the session manager. | 329 // signals sent from the session manager. This needs to happen before |
330 DeviceSettingsService::Get()->Initialize( | 330 // g_browser_process initializes local_state() (which instantiates |
Mattias Nissler (ping if slow)
2013/04/17 13:10:30
nit: g_browser_process also instantiates BrowserPo
stevenjb
2013/04/17 16:27:12
Done.
| |
331 // BrowserPolicyConnector). | |
332 DeviceSettingsService::Initialize(); | |
333 DeviceSettingsService::Get()->SetSessionManager( | |
331 DBusThreadManager::Get()->GetSessionManagerClient(), | 334 DBusThreadManager::Get()->GetSessionManagerClient(), |
332 OwnerKeyUtil::Create()); | 335 OwnerKeyUtil::Create()); |
333 chromeos::ConnectivityStateHelper::Initialize(); | 336 chromeos::ConnectivityStateHelper::Initialize(); |
334 } | 337 } |
335 | 338 |
336 ~DBusServices() { | 339 ~DBusServices() { |
337 chromeos::ConnectivityStateHelper::Shutdown(); | 340 chromeos::ConnectivityStateHelper::Shutdown(); |
338 // CrosLibrary is shut down before DBusThreadManager even though it | 341 // CrosLibrary is shut down before DBusThreadManager even though it |
339 // is initialized first becuase some of its libraries depend on DBus | 342 // is initialized first becuase some of its libraries depend on DBus |
340 // clients. | 343 // clients. |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
731 // the network manager. | 734 // the network manager. |
732 if (CrosNetworkChangeNotifierFactory::GetInstance()) | 735 if (CrosNetworkChangeNotifierFactory::GetInstance()) |
733 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); | 736 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); |
734 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) | 737 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) |
735 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); | 738 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); |
736 | 739 |
737 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); | 740 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); |
738 if (NetworkPortalDetector::IsEnabledInCommandLine() && detector) | 741 if (NetworkPortalDetector::IsEnabledInCommandLine() && detector) |
739 detector->Shutdown(); | 742 detector->Shutdown(); |
740 | 743 |
741 // Tell DeviceSettingsService to stop talking to session_manager. | 744 // Tell DeviceSettingsService to stop talking to session_manager. Do not |
742 DeviceSettingsService::Get()->Shutdown(); | 745 // shutdown DeviceSettingsService yet, it might still be accessed by |
746 // BrowserPolicyConnector (owned by g_browser_process). | |
747 DeviceSettingsService::Get()->UnsetSessionManager(); | |
743 | 748 |
744 // We should remove observers attached to D-Bus clients before | 749 // We should remove observers attached to D-Bus clients before |
745 // DBusThreadManager is shut down. | 750 // DBusThreadManager is shut down. |
746 screen_lock_observer_.reset(); | 751 screen_lock_observer_.reset(); |
747 suspend_observer_.reset(); | 752 suspend_observer_.reset(); |
748 resume_observer_.reset(); | 753 resume_observer_.reset(); |
749 brightness_observer_.reset(); | 754 brightness_observer_.reset(); |
750 retail_mode_power_save_blocker_.reset(); | 755 retail_mode_power_save_blocker_.reset(); |
751 peripheral_battery_observer_.reset(); | 756 peripheral_battery_observer_.reset(); |
752 | 757 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
786 // Let the AutomaticRebootManager unregister itself as an observer of several | 791 // Let the AutomaticRebootManager unregister itself as an observer of several |
787 // subsystems. | 792 // subsystems. |
788 automatic_reboot_manager_.reset(); | 793 automatic_reboot_manager_.reset(); |
789 | 794 |
790 // Clean up dependency on CrosSettings and stop pending data fetches. | 795 // Clean up dependency on CrosSettings and stop pending data fetches. |
791 KioskAppManager::Shutdown(); | 796 KioskAppManager::Shutdown(); |
792 | 797 |
793 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 798 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
794 } | 799 } |
795 | 800 |
801 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { | |
802 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | |
803 // Destroy DeviceSettingsService after g_browser_process. | |
804 DeviceSettingsService::Shutdown(); | |
805 } | |
806 | |
796 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { | 807 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { |
797 SetupZramFieldTrial(); | 808 SetupZramFieldTrial(); |
798 } | 809 } |
799 | 810 |
800 void ChromeBrowserMainPartsChromeos::SetupZramFieldTrial() { | 811 void ChromeBrowserMainPartsChromeos::SetupZramFieldTrial() { |
801 // The dice for this experiment have been thrown at boot. The selected group | 812 // The dice for this experiment have been thrown at boot. The selected group |
802 // number is stored in a file. | 813 // number is stored in a file. |
803 const base::FilePath kZramGroupPath("/home/chronos/.swap_exp_enrolled"); | 814 const base::FilePath kZramGroupPath("/home/chronos/.swap_exp_enrolled"); |
804 std::string zram_file_content; | 815 std::string zram_file_content; |
805 // If the file does not exist, the experiment has not started. | 816 // If the file does not exist, the experiment has not started. |
(...skipping 29 matching lines...) Expand all Loading... | |
835 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); | 846 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); |
836 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); | 847 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); |
837 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); | 848 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); |
838 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); | 849 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); |
839 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); | 850 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); |
840 // This is necessary to start the experiment as a side effect. | 851 // This is necessary to start the experiment as a side effect. |
841 trial->group(); | 852 trial->group(); |
842 } | 853 } |
843 | 854 |
844 } // namespace chromeos | 855 } // namespace chromeos |
OLD | NEW |