| 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 BrowserPolicyConnector. |
| 331 DeviceSettingsService::Initialize(); |
| 332 DeviceSettingsService::Get()->SetSessionManager( |
| 331 DBusThreadManager::Get()->GetSessionManagerClient(), | 333 DBusThreadManager::Get()->GetSessionManagerClient(), |
| 332 OwnerKeyUtil::Create()); | 334 OwnerKeyUtil::Create()); |
| 333 chromeos::ConnectivityStateHelper::Initialize(); | 335 chromeos::ConnectivityStateHelper::Initialize(); |
| 334 } | 336 } |
| 335 | 337 |
| 336 ~DBusServices() { | 338 ~DBusServices() { |
| 337 chromeos::ConnectivityStateHelper::Shutdown(); | 339 chromeos::ConnectivityStateHelper::Shutdown(); |
| 338 // CrosLibrary is shut down before DBusThreadManager even though it | 340 // CrosLibrary is shut down before DBusThreadManager even though it |
| 339 // is initialized first becuase some of its libraries depend on DBus | 341 // is initialized first becuase some of its libraries depend on DBus |
| 340 // clients. | 342 // clients. |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 // the network manager. | 733 // the network manager. |
| 732 if (CrosNetworkChangeNotifierFactory::GetInstance()) | 734 if (CrosNetworkChangeNotifierFactory::GetInstance()) |
| 733 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); | 735 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); |
| 734 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) | 736 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) |
| 735 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); | 737 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); |
| 736 | 738 |
| 737 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); | 739 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); |
| 738 if (NetworkPortalDetector::IsEnabledInCommandLine() && detector) | 740 if (NetworkPortalDetector::IsEnabledInCommandLine() && detector) |
| 739 detector->Shutdown(); | 741 detector->Shutdown(); |
| 740 | 742 |
| 741 // Tell DeviceSettingsService to stop talking to session_manager. | 743 // Tell DeviceSettingsService to stop talking to session_manager. Do not |
| 742 DeviceSettingsService::Get()->Shutdown(); | 744 // shutdown DeviceSettingsService yet, it might still be accessed by |
| 745 // BrowserPolicyConnector (owned by g_browser_process). |
| 746 DeviceSettingsService::Get()->UnsetSessionManager(); |
| 743 | 747 |
| 744 // We should remove observers attached to D-Bus clients before | 748 // We should remove observers attached to D-Bus clients before |
| 745 // DBusThreadManager is shut down. | 749 // DBusThreadManager is shut down. |
| 746 screen_lock_observer_.reset(); | 750 screen_lock_observer_.reset(); |
| 747 suspend_observer_.reset(); | 751 suspend_observer_.reset(); |
| 748 resume_observer_.reset(); | 752 resume_observer_.reset(); |
| 749 brightness_observer_.reset(); | 753 brightness_observer_.reset(); |
| 750 retail_mode_power_save_blocker_.reset(); | 754 retail_mode_power_save_blocker_.reset(); |
| 751 peripheral_battery_observer_.reset(); | 755 peripheral_battery_observer_.reset(); |
| 752 | 756 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 // Let the AutomaticRebootManager unregister itself as an observer of several | 790 // Let the AutomaticRebootManager unregister itself as an observer of several |
| 787 // subsystems. | 791 // subsystems. |
| 788 automatic_reboot_manager_.reset(); | 792 automatic_reboot_manager_.reset(); |
| 789 | 793 |
| 790 // Clean up dependency on CrosSettings and stop pending data fetches. | 794 // Clean up dependency on CrosSettings and stop pending data fetches. |
| 791 KioskAppManager::Shutdown(); | 795 KioskAppManager::Shutdown(); |
| 792 | 796 |
| 793 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 797 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
| 794 } | 798 } |
| 795 | 799 |
| 800 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { |
| 801 ChromeBrowserMainPartsLinux::PostDestroyThreads(); |
| 802 // Destroy DeviceSettingsService after g_browser_process. |
| 803 DeviceSettingsService::Shutdown(); |
| 804 } |
| 805 |
| 796 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { | 806 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { |
| 797 SetupZramFieldTrial(); | 807 SetupZramFieldTrial(); |
| 798 } | 808 } |
| 799 | 809 |
| 800 void ChromeBrowserMainPartsChromeos::SetupZramFieldTrial() { | 810 void ChromeBrowserMainPartsChromeos::SetupZramFieldTrial() { |
| 801 // The dice for this experiment have been thrown at boot. The selected group | 811 // The dice for this experiment have been thrown at boot. The selected group |
| 802 // number is stored in a file. | 812 // number is stored in a file. |
| 803 const base::FilePath kZramGroupPath("/home/chronos/.swap_exp_enrolled"); | 813 const base::FilePath kZramGroupPath("/home/chronos/.swap_exp_enrolled"); |
| 804 std::string zram_file_content; | 814 std::string zram_file_content; |
| 805 // If the file does not exist, the experiment has not started. | 815 // 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); | 845 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); |
| 836 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); | 846 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); |
| 837 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); | 847 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); |
| 838 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); | 848 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); |
| 839 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); | 849 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); |
| 840 // This is necessary to start the experiment as a side effect. | 850 // This is necessary to start the experiment as a side effect. |
| 841 trial->group(); | 851 trial->group(); |
| 842 } | 852 } |
| 843 | 853 |
| 844 } // namespace chromeos | 854 } // namespace chromeos |
| OLD | NEW |