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 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
315 // detector starts to monitor changes from the update engine. | 315 // detector starts to monitor changes from the update engine. |
316 UpgradeDetectorChromeos::GetInstance()->Init(); | 316 UpgradeDetectorChromeos::GetInstance()->Init(); |
317 | 317 |
318 if (base::chromeos::IsRunningOnChromeOS()) { | 318 if (base::chromeos::IsRunningOnChromeOS()) { |
319 // Disable Num Lock on X start up for http://crosbug.com/29169. | 319 // Disable Num Lock on X start up for http://crosbug.com/29169. |
320 input_method::GetInputMethodManager()->GetXKeyboard()-> | 320 input_method::GetInputMethodManager()->GetXKeyboard()-> |
321 SetNumLockEnabled(false); | 321 SetNumLockEnabled(false); |
322 } | 322 } |
323 | 323 |
324 // Initialize the device settings service so that we'll take actions per | 324 // Initialize the device settings service so that we'll take actions per |
325 // signals sent from the session manager. | 325 // signals sent from the session manager. This needs to happen before |
326 DeviceSettingsService::Get()->Initialize( | 326 // g_browser_process initializes local_state(). |
327 DeviceSettingsService::Initialize(); | |
328 DeviceSettingsService::Get()->InitializeSessionManager( | |
327 DBusThreadManager::Get()->GetSessionManagerClient(), | 329 DBusThreadManager::Get()->GetSessionManagerClient(), |
328 OwnerKeyUtil::Create()); | 330 OwnerKeyUtil::Create()); |
329 chromeos::ConnectivityStateHelper::Initialize(); | 331 chromeos::ConnectivityStateHelper::Initialize(); |
330 } | 332 } |
331 | 333 |
332 ~DBusServices() { | 334 ~DBusServices() { |
333 chromeos::ConnectivityStateHelper::Shutdown(); | 335 chromeos::ConnectivityStateHelper::Shutdown(); |
334 // CrosLibrary is shut down before DBusThreadManager even though it | 336 // CrosLibrary is shut down before DBusThreadManager even though it |
335 // is initialized first becuase some of its libraries depend on DBus | 337 // is initialized first becuase some of its libraries depend on DBus |
336 // clients. | 338 // clients. |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
722 if (CrosNetworkChangeNotifierFactory::GetInstance()) | 724 if (CrosNetworkChangeNotifierFactory::GetInstance()) |
723 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); | 725 CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); |
724 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) | 726 if (NetworkChangeNotifierFactoryChromeos::GetInstance()) |
725 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); | 727 NetworkChangeNotifierFactoryChromeos::GetInstance()->Shutdown(); |
726 | 728 |
727 if (NetworkPortalDetector::IsEnabled() && | 729 if (NetworkPortalDetector::IsEnabled() && |
728 NetworkPortalDetector::GetInstance()) { | 730 NetworkPortalDetector::GetInstance()) { |
729 NetworkPortalDetector::GetInstance()->Shutdown(); | 731 NetworkPortalDetector::GetInstance()->Shutdown(); |
730 } | 732 } |
731 | 733 |
732 // Tell DeviceSettingsService to stop talking to session_manager. | 734 // Tell DeviceSettingsService to stop talking to session_manager. Do not |
733 DeviceSettingsService::Get()->Shutdown(); | 735 // shutdown DeviceSettingsService yet, it is still accessed by |
736 // g_browser_process. | |
Mattias Nissler (ping if slow)
2013/04/16 16:09:51
How would g_browser_process access DeviceSettingsS
stevenjb
2013/04/16 16:49:43
The relationship is through BrowserPolicyConnector
| |
737 DeviceSettingsService::Get()->ShutdownSessionManager(); | |
734 | 738 |
735 // We should remove observers attached to D-Bus clients before | 739 // We should remove observers attached to D-Bus clients before |
736 // DBusThreadManager is shut down. | 740 // DBusThreadManager is shut down. |
737 screen_lock_observer_.reset(); | 741 screen_lock_observer_.reset(); |
738 suspend_observer_.reset(); | 742 suspend_observer_.reset(); |
739 resume_observer_.reset(); | 743 resume_observer_.reset(); |
740 brightness_observer_.reset(); | 744 brightness_observer_.reset(); |
741 retail_mode_power_save_blocker_.reset(); | 745 retail_mode_power_save_blocker_.reset(); |
742 | 746 |
743 // The XInput2 event listener needs to be shut down earlier than when | 747 // The XInput2 event listener needs to be shut down earlier than when |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
776 // Let the AutomaticRebootManager unregister itself as an observer of several | 780 // Let the AutomaticRebootManager unregister itself as an observer of several |
777 // subsystems. | 781 // subsystems. |
778 automatic_reboot_manager_.reset(); | 782 automatic_reboot_manager_.reset(); |
779 | 783 |
780 // Clean up dependency on CrosSettings and stop pending data fetches. | 784 // Clean up dependency on CrosSettings and stop pending data fetches. |
781 KioskAppManager::Shutdown(); | 785 KioskAppManager::Shutdown(); |
782 | 786 |
783 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 787 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
784 } | 788 } |
785 | 789 |
790 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { | |
791 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | |
792 // Destroy DeviceSettingsService after g_browser_process. | |
Mattias Nissler (ping if slow)
2013/04/16 16:09:51
Isn't the actual dependency CrosSettings here?
stevenjb
2013/04/16 16:49:43
Same as above, also modified comment.
| |
793 DeviceSettingsService::Shutdown(); | |
794 } | |
795 | |
786 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { | 796 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { |
787 SetupLowMemoryHeadroomFieldTrial(); | 797 SetupLowMemoryHeadroomFieldTrial(); |
788 SetupZramFieldTrial(); | 798 SetupZramFieldTrial(); |
789 } | 799 } |
790 | 800 |
791 void ChromeBrowserMainPartsChromeos::SetupLowMemoryHeadroomFieldTrial() { | 801 void ChromeBrowserMainPartsChromeos::SetupLowMemoryHeadroomFieldTrial() { |
792 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); | 802 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); |
793 // Only enable this experiment on Canary and Dev, since it's possible | 803 // Only enable this experiment on Canary and Dev, since it's possible |
794 // that this will make the machine unstable. | 804 // that this will make the machine unstable. |
795 // Note that to have this code execute in a developer build, | 805 // Note that to have this code execute in a developer build, |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
873 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); | 883 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); |
874 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); | 884 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); |
875 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); | 885 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); |
876 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); | 886 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); |
877 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); | 887 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); |
878 // This is necessary to start the experiment as a side effect. | 888 // This is necessary to start the experiment as a side effect. |
879 trial->group(); | 889 trial->group(); |
880 } | 890 } |
881 | 891 |
882 } // namespace chromeos | 892 } // namespace chromeos |
OLD | NEW |