Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 608283003: Remove retail mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 21 matching lines...) Expand all
32 #include "chrome/browser/chromeos/dbus/chrome_console_service_provider_delegate. h" 32 #include "chrome/browser/chromeos/dbus/chrome_console_service_provider_delegate. h"
33 #include "chrome/browser/chromeos/dbus/chrome_display_power_service_provider_del egate.h" 33 #include "chrome/browser/chromeos/dbus/chrome_display_power_service_provider_del egate.h"
34 #include "chrome/browser/chromeos/dbus/chrome_proxy_resolver_delegate.h" 34 #include "chrome/browser/chromeos/dbus/chrome_proxy_resolver_delegate.h"
35 #include "chrome/browser/chromeos/dbus/printer_service_provider.h" 35 #include "chrome/browser/chromeos/dbus/printer_service_provider.h"
36 #include "chrome/browser/chromeos/dbus/screen_lock_service_provider.h" 36 #include "chrome/browser/chromeos/dbus/screen_lock_service_provider.h"
37 #include "chrome/browser/chromeos/device/input_service_proxy.h" 37 #include "chrome/browser/chromeos/device/input_service_proxy.h"
38 #include "chrome/browser/chromeos/events/event_rewriter.h" 38 #include "chrome/browser/chromeos/events/event_rewriter.h"
39 #include "chrome/browser/chromeos/events/event_rewriter_controller.h" 39 #include "chrome/browser/chromeos/events/event_rewriter_controller.h"
40 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" 40 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h"
41 #include "chrome/browser/chromeos/extensions/default_app_order.h" 41 #include "chrome/browser/chromeos/extensions/default_app_order.h"
42 #include "chrome/browser/chromeos/extensions/extension_system_event_observer.h"
43 #include "chrome/browser/chromeos/external_metrics.h" 42 #include "chrome/browser/chromeos/external_metrics.h"
44 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 43 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
45 #include "chrome/browser/chromeos/input_method/input_method_util.h" 44 #include "chrome/browser/chromeos/input_method/input_method_util.h"
46 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
47 #include "chrome/browser/chromeos/language_preferences.h" 45 #include "chrome/browser/chromeos/language_preferences.h"
48 #include "chrome/browser/chromeos/login/helper.h" 46 #include "chrome/browser/chromeos/login/helper.h"
49 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 47 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
50 #include "chrome/browser/chromeos/login/login_wizard.h" 48 #include "chrome/browser/chromeos/login/login_wizard.h"
51 #include "chrome/browser/chromeos/login/session/user_session_manager.h" 49 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
52 #include "chrome/browser/chromeos/login/startup_utils.h" 50 #include "chrome/browser/chromeos/login/startup_utils.h"
53 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 51 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
54 #include "chrome/browser/chromeos/login/wizard_controller.h" 52 #include "chrome/browser/chromeos/login/wizard_controller.h"
55 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" 53 #include "chrome/browser/chromeos/memory/oom_priority_manager.h"
56 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h" 54 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 #include "chromeos/network/network_handler.h" 109 #include "chromeos/network/network_handler.h"
112 #include "chromeos/system/statistics_provider.h" 110 #include "chromeos/system/statistics_provider.h"
113 #include "chromeos/tpm_token_loader.h" 111 #include "chromeos/tpm_token_loader.h"
114 #include "components/metrics/metrics_service.h" 112 #include "components/metrics/metrics_service.h"
115 #include "components/ownership/owner_key_util.h" 113 #include "components/ownership/owner_key_util.h"
116 #include "components/session_manager/core/session_manager.h" 114 #include "components/session_manager/core/session_manager.h"
117 #include "components/user_manager/user.h" 115 #include "components/user_manager/user.h"
118 #include "components/user_manager/user_manager.h" 116 #include "components/user_manager/user_manager.h"
119 #include "content/public/browser/browser_thread.h" 117 #include "content/public/browser/browser_thread.h"
120 #include "content/public/browser/notification_service.h" 118 #include "content/public/browser/notification_service.h"
121 #include "content/public/browser/power_save_blocker.h"
122 #include "content/public/common/main_function_params.h" 119 #include "content/public/common/main_function_params.h"
123 #include "media/audio/sounds/sounds_manager.h" 120 #include "media/audio/sounds/sounds_manager.h"
124 #include "net/base/network_change_notifier.h" 121 #include "net/base/network_change_notifier.h"
125 #include "net/socket/ssl_server_socket.h" 122 #include "net/socket/ssl_server_socket.h"
126 #include "net/url_request/url_request.h" 123 #include "net/url_request/url_request.h"
127 #include "net/url_request/url_request_context_getter.h" 124 #include "net/url_request/url_request_context_getter.h"
128 #include "ui/base/ime/chromeos/ime_keyboard.h" 125 #include "ui/base/ime/chromeos/ime_keyboard.h"
129 #include "ui/base/ime/chromeos/input_method_manager.h" 126 #include "ui/base/ime/chromeos/input_method_manager.h"
130 #include "ui/base/touch/touch_device.h" 127 #include "ui/base/touch/touch_device.h"
131 #include "ui/events/event_utils.h" 128 #include "ui/events/event_utils.h"
132 129
133 // Exclude X11 dependents for ozone 130 // Exclude X11 dependents for ozone
134 #if defined(USE_X11) 131 #if defined(USE_X11)
135 #include "chrome/browser/chromeos/device_uma.h" 132 #include "chrome/browser/chromeos/device_uma.h"
136 #include "chrome/browser/chromeos/events/system_key_event_listener.h" 133 #include "chrome/browser/chromeos/events/system_key_event_listener.h"
137 #include "chrome/browser/chromeos/events/xinput_hierarchy_changed_event_listener .h" 134 #include "chrome/browser/chromeos/events/xinput_hierarchy_changed_event_listener .h"
138 #endif 135 #endif
139 136
140 #if !defined(USE_ATHENA) 137 #if !defined(USE_ATHENA)
141 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.h"
142 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
143 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 138 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
144 #endif 139 #endif
145 140
146 namespace chromeos { 141 namespace chromeos {
147 142
148 namespace { 143 namespace {
149 144
150 void ChromeOSVersionCallback(const std::string& version) { 145 void ChromeOSVersionCallback(const std::string& version) {
151 base::SetLinuxDistro(std::string("CrOS ") + version); 146 base::SetLinuxDistro(std::string("CrOS ") + version);
152 } 147 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 } // namespace internal 258 } // namespace internal
264 259
265 // ChromeBrowserMainPartsChromeos ---------------------------------------------- 260 // ChromeBrowserMainPartsChromeos ----------------------------------------------
266 261
267 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( 262 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos(
268 const content::MainFunctionParams& parameters) 263 const content::MainFunctionParams& parameters)
269 : ChromeBrowserMainPartsLinux(parameters) { 264 : ChromeBrowserMainPartsLinux(parameters) {
270 } 265 }
271 266
272 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { 267 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() {
273 #if !defined(USE_ATHENA)
274 if (KioskModeSettings::Get()->IsKioskModeEnabled())
275 ShutdownKioskModeScreensaver();
276 #endif
277
278 // To be precise, logout (browser shutdown) is not yet done, but the 268 // To be precise, logout (browser shutdown) is not yet done, but the
279 // remaining work is negligible, hence we say LogoutDone here. 269 // remaining work is negligible, hence we say LogoutDone here.
280 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false); 270 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false);
281 BootTimesLoader::Get()->WriteLogoutTimes(); 271 BootTimesLoader::Get()->WriteLogoutTimes();
282 } 272 }
283 273
284 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides --------- 274 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides ---------
285 275
286 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() { 276 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() {
287 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess(); 277 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess();
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 LoginEventRecorder::Get()->SetDelegate(BootTimesLoader::Get()); 377 LoginEventRecorder::Get()->SetDelegate(BootTimesLoader::Get());
388 378
389 // Trigger prefetching of ownership status. 379 // Trigger prefetching of ownership status.
390 DeviceSettingsService::Get()->Load(); 380 DeviceSettingsService::Get()->Load();
391 381
392 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() 382 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun()
393 // -- just before CreateProfile(). 383 // -- just before CreateProfile().
394 384
395 g_browser_process->platform_part()->InitializeChromeUserManager(); 385 g_browser_process->platform_part()->InitializeChromeUserManager();
396 386
397 #if defined(USE_ATHENA)
398 ScreenLocker::InitClass(); 387 ScreenLocker::InitClass();
399 #else
400 // Initialize the screen locker now so that it can receive
401 // LOGIN_USER_CHANGED notification from UserManager.
402 if (KioskModeSettings::Get()->IsKioskModeEnabled())
403 KioskModeIdleLogout::Initialize();
404 else
405 ScreenLocker::InitClass();
406 #endif
407 388
408 // This forces the ProfileManager to be created and register for the 389 // This forces the ProfileManager to be created and register for the
409 // notification it needs to track the logged in user. 390 // notification it needs to track the logged in user.
410 g_browser_process->profile_manager(); 391 g_browser_process->profile_manager();
411 392
412 // AccessibilityManager and SystemKeyEventListener use InputMethodManager. 393 // AccessibilityManager and SystemKeyEventListener use InputMethodManager.
413 input_method::Initialize(); 394 input_method::Initialize();
414 395
415 // ProfileHelper has to be initialized after UserManager instance is created. 396 // ProfileHelper has to be initialized after UserManager instance is created.
416 ProfileHelper::Get()->Initialize(); 397 ProfileHelper::Get()->Initialize();
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 bool is_running_test = parameters().ui_task != NULL; 572 bool is_running_test = parameters().ui_task != NULL;
592 g_browser_process->platform_part()->InitializeSessionManager( 573 g_browser_process->platform_part()->InitializeSessionManager(
593 parsed_command_line(), profile(), is_running_test); 574 parsed_command_line(), profile(), is_running_test);
594 g_browser_process->platform_part()->SessionManager()->Start(); 575 g_browser_process->platform_part()->SessionManager()->Start();
595 576
596 // Guest user profile is never initialized with locale settings, 577 // Guest user profile is never initialized with locale settings,
597 // so we need special handling for Guest session. 578 // so we need special handling for Guest session.
598 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) 579 if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
599 SetGuestLocale(profile()); 580 SetGuestLocale(profile());
600 581
601 // These observers must be initialized after the profile because
602 // they use the profile to dispatch extension events.
603 extension_system_event_observer_.reset(new ExtensionSystemEventObserver());
bartfab (slow) 2014/12/02 21:25:26 Why are you removing the |extension_system_event_o
rkc 2014/12/04 19:50:06 It doesn't seem to be used for anything else excep
604 if (KioskModeSettings::Get()->IsKioskModeEnabled()) {
605 retail_mode_power_save_blocker_ = content::PowerSaveBlocker::Create(
606 content::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep,
607 "Retail mode");
608 }
609
610 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); 582 peripheral_battery_observer_.reset(new PeripheralBatteryObserver());
611 583
612 renderer_freezer_.reset( 584 renderer_freezer_.reset(
613 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>( 585 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>(
614 new FreezerCgroupProcessManager()))); 586 new FreezerCgroupProcessManager())));
615 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets)) 587 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets))
616 light_bar_.reset(new LightBar()); 588 light_bar_.reset(new LightBar());
617 589
618 g_browser_process->platform_part()->InitializeAutomaticRebootManager(); 590 g_browser_process->platform_part()->InitializeAutomaticRebootManager();
619 g_browser_process->platform_part()->InitializeDeviceDisablingManager(); 591 g_browser_process->platform_part()->InitializeDeviceDisablingManager();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 // depend on. 692 // depend on.
721 data_promo_notification_.reset(); 693 data_promo_notification_.reset();
722 694
723 // Tell DeviceSettingsService to stop talking to session_manager. Do not 695 // Tell DeviceSettingsService to stop talking to session_manager. Do not
724 // shutdown DeviceSettingsService yet, it might still be accessed by 696 // shutdown DeviceSettingsService yet, it might still be accessed by
725 // BrowserPolicyConnector (owned by g_browser_process). 697 // BrowserPolicyConnector (owned by g_browser_process).
726 DeviceSettingsService::Get()->UnsetSessionManager(); 698 DeviceSettingsService::Get()->UnsetSessionManager();
727 699
728 // We should remove observers attached to D-Bus clients before 700 // We should remove observers attached to D-Bus clients before
729 // DBusThreadManager is shut down. 701 // DBusThreadManager is shut down.
730 extension_system_event_observer_.reset();
731 retail_mode_power_save_blocker_.reset();
732 peripheral_battery_observer_.reset(); 702 peripheral_battery_observer_.reset();
733 power_prefs_.reset(); 703 power_prefs_.reset();
734 renderer_freezer_.reset(); 704 renderer_freezer_.reset();
735 light_bar_.reset(); 705 light_bar_.reset();
736 wake_on_wifi_manager_.reset(); 706 wake_on_wifi_manager_.reset();
737 707
738 // Let the ScreenLocker unregister itself from SessionManagerClient before
739 // DBusThreadManager is shut down.
740 if (!KioskModeSettings::Get()->IsKioskModeEnabled())
741 ScreenLocker::ShutDownClass();
bartfab (slow) 2014/12/02 21:25:27 Why is this no longer necessary?
rkc 2014/12/04 19:50:06 Whoops, I missed the ! Done.
742
743 keyboard_event_rewriters_.reset(); 708 keyboard_event_rewriters_.reset();
744 #if defined(USE_X11) 709 #if defined(USE_X11)
745 // The XInput2 event listener needs to be shut down earlier than when 710 // The XInput2 event listener needs to be shut down earlier than when
746 // Singletons are finally destroyed in AtExitManager. 711 // Singletons are finally destroyed in AtExitManager.
747 XInputHierarchyChangedEventListener::GetInstance()->Stop(); 712 XInputHierarchyChangedEventListener::GetInstance()->Stop();
748 713
749 DeviceUMA::GetInstance()->Stop(); 714 DeviceUMA::GetInstance()->Stop();
750 715
751 // SystemKeyEventListener::Shutdown() is always safe to call, 716 // SystemKeyEventListener::Shutdown() is always safe to call,
752 // even if Initialize() wasn't called. 717 // even if Initialize() wasn't called.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 // Destroy DBus services immediately after threads are stopped. 784 // Destroy DBus services immediately after threads are stopped.
820 dbus_services_.reset(); 785 dbus_services_.reset();
821 786
822 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 787 ChromeBrowserMainPartsLinux::PostDestroyThreads();
823 788
824 // Destroy DeviceSettingsService after g_browser_process. 789 // Destroy DeviceSettingsService after g_browser_process.
825 DeviceSettingsService::Shutdown(); 790 DeviceSettingsService::Shutdown();
826 } 791 }
827 792
828 } // namespace chromeos 793 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698