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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 #include "chrome/browser/chromeos/web_socket_proxy_controller.h" | 79 #include "chrome/browser/chromeos/web_socket_proxy_controller.h" |
80 #include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h" | 80 #include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h" |
81 #include "chrome/browser/defaults.h" | 81 #include "chrome/browser/defaults.h" |
82 #include "chrome/browser/metrics/metrics_service.h" | 82 #include "chrome/browser/metrics/metrics_service.h" |
83 #include "chrome/browser/net/chrome_network_delegate.h" | 83 #include "chrome/browser/net/chrome_network_delegate.h" |
84 #include "chrome/browser/policy/browser_policy_connector.h" | 84 #include "chrome/browser/policy/browser_policy_connector.h" |
85 #include "chrome/browser/profiles/profile.h" | 85 #include "chrome/browser/profiles/profile.h" |
86 #include "chrome/browser/profiles/profile_manager.h" | 86 #include "chrome/browser/profiles/profile_manager.h" |
87 #include "chrome/browser/rlz/rlz.h" | 87 #include "chrome/browser/rlz/rlz.h" |
88 #include "chrome/browser/storage_monitor/storage_monitor_chromeos.h" | 88 #include "chrome/browser/storage_monitor/storage_monitor_chromeos.h" |
| 89 #include "chrome/browser/ui/ash/ash_init.h" |
89 #include "chrome/common/chrome_notification_types.h" | 90 #include "chrome/common/chrome_notification_types.h" |
90 #include "chrome/common/chrome_paths.h" | 91 #include "chrome/common/chrome_paths.h" |
91 #include "chrome/common/chrome_switches.h" | 92 #include "chrome/common/chrome_switches.h" |
92 #include "chrome/common/chrome_version_info.h" | 93 #include "chrome/common/chrome_version_info.h" |
93 #include "chrome/common/logging_chrome.h" | 94 #include "chrome/common/logging_chrome.h" |
94 #include "chrome/common/pref_names.h" | 95 #include "chrome/common/pref_names.h" |
95 #include "chromeos/audio/audio_devices_pref_handler.h" | 96 #include "chromeos/audio/audio_devices_pref_handler.h" |
96 #include "chromeos/audio/audio_pref_handler.h" | 97 #include "chromeos/audio/audio_pref_handler.h" |
97 #include "chromeos/audio/cras_audio_handler.h" | 98 #include "chromeos/audio/cras_audio_handler.h" |
98 #include "chromeos/chromeos_paths.h" | 99 #include "chromeos/chromeos_paths.h" |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 } | 634 } |
634 | 635 |
635 // In Aura builds this will initialize ash::Shell. | 636 // In Aura builds this will initialize ash::Shell. |
636 ChromeBrowserMainPartsLinux::PreProfileInit(); | 637 ChromeBrowserMainPartsLinux::PreProfileInit(); |
637 } | 638 } |
638 | 639 |
639 void ChromeBrowserMainPartsChromeos::PostProfileInit() { | 640 void ChromeBrowserMainPartsChromeos::PostProfileInit() { |
640 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() | 641 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() |
641 // -- just after CreateProfile(). | 642 // -- just after CreateProfile(). |
642 | 643 |
| 644 // Initialize the Ash Shell after the Default Profile has been created and |
| 645 // before ash dependent systems are initialized. |
| 646 chrome::OpenAsh(); |
| 647 |
643 // Restarting Chrome inside existing user session. Possible cases: | 648 // Restarting Chrome inside existing user session. Possible cases: |
644 // 1. Chrome is restarted after crash. | 649 // 1. Chrome is restarted after crash. |
645 // 2. Chrome is started in browser_tests skipping the login flow | 650 // 2. Chrome is started in browser_tests skipping the login flow |
646 // 3. Chrome is started on dev machine | 651 // 3. Chrome is started on dev machine |
647 // i.e. not on Chrome OS device w/o login flow. | 652 // i.e. not on Chrome OS device w/o login flow. |
648 if (parsed_command_line().HasSwitch(switches::kLoginUser) && | 653 if (parsed_command_line().HasSwitch(switches::kLoginUser) && |
649 !parsed_command_line().HasSwitch(switches::kLoginPassword)) { | 654 !parsed_command_line().HasSwitch(switches::kLoginPassword)) { |
650 // Make sure we flip every profile to not share proxies if the user hasn't | 655 // Make sure we flip every profile to not share proxies if the user hasn't |
651 // specified so explicitly. | 656 // specified so explicitly. |
652 const PrefService::Preference* use_shared_proxies_pref = | 657 const PrefService::Preference* use_shared_proxies_pref = |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
858 UserManager::Get()->Shutdown(); | 863 UserManager::Get()->Shutdown(); |
859 WallpaperManager::Get()->Shutdown(); | 864 WallpaperManager::Get()->Shutdown(); |
860 | 865 |
861 // Let the AutomaticRebootManager unregister itself as an observer of several | 866 // Let the AutomaticRebootManager unregister itself as an observer of several |
862 // subsystems. | 867 // subsystems. |
863 automatic_reboot_manager_.reset(); | 868 automatic_reboot_manager_.reset(); |
864 | 869 |
865 // Clean up dependency on CrosSettings and stop pending data fetches. | 870 // Clean up dependency on CrosSettings and stop pending data fetches. |
866 KioskAppManager::Shutdown(); | 871 KioskAppManager::Shutdown(); |
867 | 872 |
868 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 873 chrome::CloseAsh(); |
869 | 874 |
870 // Destroy the UserManager after ash has been destroyed. | 875 // Destroy the UserManager after ash has been destroyed. |
871 UserManager::Destroy(); | 876 UserManager::Destroy(); |
| 877 |
| 878 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
872 } | 879 } |
873 | 880 |
874 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { | 881 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { |
875 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | 882 ChromeBrowserMainPartsLinux::PostDestroyThreads(); |
876 // Destroy DeviceSettingsService after g_browser_process. | 883 // Destroy DeviceSettingsService after g_browser_process. |
877 DeviceSettingsService::Shutdown(); | 884 DeviceSettingsService::Shutdown(); |
878 } | 885 } |
879 | 886 |
880 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { | 887 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { |
881 SetupZramFieldTrial(); | 888 SetupZramFieldTrial(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); | 927 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); |
921 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); | 928 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); |
922 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); | 929 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); |
923 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); | 930 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); |
924 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); | 931 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); |
925 // This is necessary to start the experiment as a side effect. | 932 // This is necessary to start the experiment as a side effect. |
926 trial->group(); | 933 trial->group(); |
927 } | 934 } |
928 | 935 |
929 } // namespace chromeos | 936 } // namespace chromeos |
OLD | NEW |