summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/DEPS1
-rw-r--r--apps/launcher.cc6
-rw-r--r--chrome/browser/DEPS1
-rw-r--r--chrome/browser/apps/app_browsertest.cc2
-rw-r--r--chrome/browser/background/background_mode_manager_unittest.cc2
-rw-r--r--chrome/browser/browser_process_platform_part_chromeos.cc13
-rw-r--r--chrome/browser/browser_process_platform_part_chromeos.h10
-rw-r--r--chrome/browser/browsing_data/browsing_data_remover.cc1
-rw-r--r--chrome/browser/browsing_data/browsing_data_remover_unittest.cc2
-rw-r--r--chrome/browser/chrome_browser_field_trials_desktop.cc4
-rw-r--r--chrome/browser/chrome_content_browser_client.cc4
-rw-r--r--chrome/browser/chromeos/accessibility/accessibility_manager.cc5
-rw-r--r--chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc45
-rw-r--r--chrome/browser/chromeos/accessibility/magnification_manager.cc1
-rw-r--r--chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc49
-rw-r--r--chrome/browser/chromeos/app_mode/app_session_lifetime.cc6
-rw-r--r--chrome/browser/chromeos/app_mode/kiosk_app_manager.cc1
-rw-r--r--chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.cc4
-rw-r--r--chrome/browser/chromeos/app_mode/startup_app_launcher.cc4
-rw-r--r--chrome/browser/chromeos/attestation/platform_verification_flow.h1
-rw-r--r--chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc4
-rw-r--r--chrome/browser/chromeos/boot_times_loader.cc4
-rw-r--r--chrome/browser/chromeos/chrome_browser_main_chromeos.cc13
-rw-r--r--chrome/browser/chromeos/display/display_preferences.cc4
-rw-r--r--chrome/browser/chromeos/display/display_preferences_unittest.cc2
-rw-r--r--chrome/browser/chromeos/drive/drive_notification_manager_factory_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/drive/file_system_util.cc3
-rw-r--r--chrome/browser/chromeos/events/event_rewriter.cc4
-rw-r--r--chrome/browser/chromeos/events/event_rewriter_unittest.cc2
-rw-r--r--chrome/browser/chromeos/events/keyboard_driven_event_rewriter.cc6
-rw-r--r--chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc6
-rw-r--r--chrome/browser/chromeos/extensions/info_private_api.cc4
-rw-r--r--chrome/browser/chromeos/extensions/wallpaper_api.cc8
-rw-r--r--chrome/browser/chromeos/extensions/wallpaper_private_api.cc40
-rw-r--r--chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc1
-rw-r--r--chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc7
-rw-r--r--chrome/browser/chromeos/file_manager/file_manager_browsertest.cc5
-rw-r--r--chrome/browser/chromeos/file_manager/file_tasks_unittest.cc2
-rw-r--r--chrome/browser/chromeos/file_manager/path_util.cc10
-rw-r--r--chrome/browser/chromeos/file_system_provider/mount_path_util.cc4
-rw-r--r--chrome/browser/chromeos/file_system_provider/mount_path_util_unittest.cc1
-rw-r--r--chrome/browser/chromeos/file_system_provider/service_unittest.cc1
-rw-r--r--chrome/browser/chromeos/first_run/drive_first_run_controller.cc4
-rw-r--r--chrome/browser/chromeos/first_run/first_run.cc9
-rw-r--r--chrome/browser/chromeos/first_run/first_run_controller.cc4
-rw-r--r--chrome/browser/chromeos/input_method/input_method_manager_impl.cc1
-rw-r--r--chrome/browser/chromeos/input_method/input_method_persistence.cc1
-rw-r--r--chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.cc4
-rw-r--r--chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc5
-rw-r--r--chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.cc1
-rw-r--r--chrome/browser/chromeos/login/app_launch_controller.cc3
-rw-r--r--chrome/browser/chromeos/login/app_launch_signin_screen.cc12
-rw-r--r--chrome/browser/chromeos/login/app_launch_signin_screen.h8
-rw-r--r--chrome/browser/chromeos/login/auth/login_performer.cc13
-rw-r--r--chrome/browser/chromeos/login/auth/mount_manager.cc1
-rw-r--r--chrome/browser/chromeos/login/auth/parallel_authenticator.cc28
-rw-r--r--chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc3
-rw-r--r--chrome/browser/chromeos/login/chrome_restart_request.cc1
-rw-r--r--chrome/browser/chromeos/login/crash_restore_browsertest.cc6
-rw-r--r--chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc4
-rw-r--r--chrome/browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/login/existing_user_controller.cc64
-rw-r--r--chrome/browser/chromeos/login/existing_user_controller_auto_login_unittest.cc2
-rw-r--r--chrome/browser/chromeos/login/existing_user_controller_browsertest.cc10
-rw-r--r--chrome/browser/chromeos/login/fake_login_utils.cc24
-rw-r--r--chrome/browser/chromeos/login/helper.cc1
-rw-r--r--chrome/browser/chromeos/login/kiosk_browsertest.cc1
-rw-r--r--chrome/browser/chromeos/login/lock/screen_locker.cc22
-rw-r--r--chrome/browser/chromeos/login/lock/webui_screen_locker.cc1
-rw-r--r--chrome/browser/chromeos/login/login_manager_test.cc6
-rw-r--r--chrome/browser/chromeos/login/login_screen_policy_browsertest.cc6
-rw-r--r--chrome/browser/chromeos/login/login_utils.cc18
-rw-r--r--chrome/browser/chromeos/login/saml/saml_browsertest.cc13
-rw-r--r--chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc8
-rw-r--r--chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc2
-rw-r--r--chrome/browser/chromeos/login/screens/chrome_user_selection_screen.cc5
-rw-r--r--chrome/browser/chromeos/login/screens/user_image_screen.cc7
-rw-r--r--chrome/browser/chromeos/login/screens/user_image_screen.h2
-rw-r--r--chrome/browser/chromeos/login/screens/user_selection_screen.cc7
-rw-r--r--chrome/browser/chromeos/login/session/chrome_session_manager.cc1
-rw-r--r--chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc4
-rw-r--r--chrome/browser/chromeos/login/session/user_session_manager.cc51
-rw-r--r--chrome/browser/chromeos/login/signin/auth_sync_observer.cc23
-rw-r--r--chrome/browser/chromeos/login/signin/merge_session_load_page_unittest.cc2
-rw-r--r--chrome/browser/chromeos/login/signin/merge_session_throttle.cc11
-rw-r--r--chrome/browser/chromeos/login/signin/oauth2_browsertest.cc9
-rw-r--r--chrome/browser/chromeos/login/signin/oauth2_login_manager.cc8
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc7
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc13
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc7
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc20
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc19
-rw-r--r--chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc18
-rw-r--r--chrome/browser/chromeos/login/ui/login_display.h6
-rw-r--r--chrome/browser/chromeos/login/ui/login_display_host_impl.cc10
-rw-r--r--chrome/browser/chromeos/login/ui/user_adding_screen.cc5
-rw-r--r--chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc15
-rw-r--r--chrome/browser/chromeos/login/ui/webui_login_display.cc5
-rw-r--r--chrome/browser/chromeos/login/user_flow.cc4
-rw-r--r--chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc80
-rw-r--r--chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc14
-rw-r--r--chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h6
-rw-r--r--chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc4
-rw-r--r--chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h9
-rw-r--r--chrome/browser/chromeos/login/users/chrome_user_manager.cc1011
-rw-r--r--chrome/browser/chromeos/login/users/chrome_user_manager.h231
-rw-r--r--chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc1040
-rw-r--r--chrome/browser/chromeos/login/users/chrome_user_manager_impl.h245
-rw-r--r--chrome/browser/chromeos/login/users/fake_user_manager.cc48
-rw-r--r--chrome/browser/chromeos/login/users/fake_user_manager.h48
-rw-r--r--chrome/browser/chromeos/login/users/mock_user_manager.cc22
-rw-r--r--chrome/browser/chromeos/login/users/mock_user_manager.h35
-rw-r--r--chrome/browser/chromeos/login/users/multi_profile_user_controller.cc9
-rw-r--r--chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc8
-rw-r--r--chrome/browser/chromeos/login/users/scoped_test_user_manager.cc26
-rw-r--r--chrome/browser/chromeos/login/users/scoped_test_user_manager.h30
-rw-r--r--chrome/browser/chromeos/login/users/scoped_user_manager_enabler.cc29
-rw-r--r--chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h34
-rw-r--r--chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc5
-rw-r--r--chrome/browser/chromeos/login/users/supervised_user_manager_impl.h8
-rw-r--r--chrome/browser/chromeos/login/users/user_manager.cc108
-rw-r--r--chrome/browser/chromeos/login/users/user_manager_unittest.cc34
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc77
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc11
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc5
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_unittest.cc1
-rw-r--r--chrome/browser/chromeos/login/wizard_controller.cc11
-rw-r--r--chrome/browser/chromeos/net/onc_utils.cc8
-rw-r--r--chrome/browser/chromeos/ownership/owner_settings_service.cc2
-rw-r--r--chrome/browser/chromeos/ownership/owner_settings_service_factory.cc7
-rw-r--r--chrome/browser/chromeos/policy/blocking_login_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/policy/device_local_account.h3
-rw-r--r--chrome/browser/chromeos/policy/device_local_account_browsertest.cc30
-rw-r--r--chrome/browser/chromeos/policy/device_status_collector.cc4
-rw-r--r--chrome/browser/chromeos/policy/device_status_collector_browsertest.cc2
-rw-r--r--chrome/browser/chromeos/policy/policy_cert_service.cc11
-rw-r--r--chrome/browser/chromeos/policy/policy_cert_service.h10
-rw-r--r--chrome/browser/chromeos/policy/policy_cert_service_factory.cc4
-rw-r--r--chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc3
-rw-r--r--chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc7
-rw-r--r--chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc4
-rw-r--r--chrome/browser/chromeos/preferences.cc9
-rw-r--r--chrome/browser/chromeos/preferences.h6
-rw-r--r--chrome/browser/chromeos/preferences_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/preferences_unittest.cc2
-rw-r--r--chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc7
-rw-r--r--chrome/browser/chromeos/profiles/profile_helper.cc29
-rw-r--r--chrome/browser/chromeos/profiles/profile_helper.h13
-rw-r--r--chrome/browser/chromeos/profiles/profile_list_chromeos.cc5
-rw-r--r--chrome/browser/chromeos/profiles/profile_list_chromeos_unittest.cc3
-rw-r--r--chrome/browser/chromeos/proxy_config_service_impl.cc4
-rw-r--r--chrome/browser/chromeos/settings/device_settings_test_helper.h2
-rw-r--r--chrome/browser/chromeos/settings/session_manager_operation.cc2
-rw-r--r--chrome/browser/chromeos/settings/stub_cros_settings_provider.cc1
-rw-r--r--chrome/browser/chromeos/sim_dialog_delegate.cc1
-rw-r--r--chrome/browser/chromeos/status/network_menu.cc1
-rw-r--r--chrome/browser/chromeos/system/automatic_reboot_manager.cc12
-rw-r--r--chrome/browser/chromeos/system/automatic_reboot_manager_unittest.cc2
-rw-r--r--chrome/browser/chromeos/system/tray_accessibility_browsertest.cc18
-rw-r--r--chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc7
-rw-r--r--chrome/browser/chromeos/ui/choose_mobile_network_dialog.cc1
-rw-r--r--chrome/browser/extensions/activity_log/activity_database_unittest.cc2
-rw-r--r--chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc2
-rw-r--r--chrome/browser/extensions/activity_log/activity_log_unittest.cc2
-rw-r--r--chrome/browser/extensions/activity_log/counting_policy_unittest.cc2
-rw-r--r--chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc2
-rw-r--r--chrome/browser/extensions/api/autotest_private/autotest_private_api.cc5
-rw-r--r--chrome/browser/extensions/api/braille_display_private/braille_display_private_apitest.cc9
-rw-r--r--chrome/browser/extensions/api/feedback_private/feedback_service_chromeos.cc4
-rw-r--r--chrome/browser/extensions/api/identity/identity_api.cc6
-rw-r--r--chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc3
-rw-r--r--chrome/browser/extensions/api/input/input.cc6
-rw-r--r--chrome/browser/extensions/api/input_ime/input_ime_api.cc1
-rw-r--r--chrome/browser/extensions/api/networking_private/networking_private_apitest.cc4
-rw-r--r--chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc4
-rw-r--r--chrome/browser/extensions/component_loader.cc2
-rw-r--r--chrome/browser/extensions/crx_installer.cc4
-rw-r--r--chrome/browser/extensions/crx_installer_browsertest.cc2
-rw-r--r--chrome/browser/extensions/extension_action_icon_factory_unittest.cc2
-rw-r--r--chrome/browser/extensions/extension_assets_manager_chromeos.cc6
-rw-r--r--chrome/browser/extensions/extension_garbage_collector_chromeos.cc6
-rw-r--r--chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc5
-rw-r--r--chrome/browser/extensions/extension_gcm_app_handler_unittest.cc2
-rw-r--r--chrome/browser/extensions/extension_service_test_base.h2
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc2
-rw-r--r--chrome/browser/extensions/extension_system_impl.cc4
-rw-r--r--chrome/browser/extensions/extension_ui_unittest.cc2
-rw-r--r--chrome/browser/extensions/extension_web_ui_unittest.cc2
-rw-r--r--chrome/browser/extensions/external_provider_impl.cc4
-rw-r--r--chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc1
-rw-r--r--chrome/browser/extensions/external_provider_impl_unittest.cc1
-rw-r--r--chrome/browser/extensions/page_action_controller_unittest.cc2
-rw-r--r--chrome/browser/extensions/test_extension_environment.h2
-rw-r--r--chrome/browser/extensions/updater/extension_updater_unittest.cc2
-rw-r--r--chrome/browser/extensions/zipfile_installer_unittest.cc2
-rw-r--r--chrome/browser/invalidation/profile_invalidation_provider_factory.cc12
-rw-r--r--chrome/browser/invalidation/profile_invalidation_provider_factory_browsertest.cc3
-rw-r--r--chrome/browser/io_thread.cc1
-rw-r--r--chrome/browser/lifetime/application_lifetime.cc1
-rw-r--r--chrome/browser/media/media_stream_devices_controller.cc5
-rw-r--r--chrome/browser/media_galleries/gallery_watch_manager_unittest.cc2
-rw-r--r--chrome/browser/media_galleries/media_file_system_registry_unittest.cc2
-rw-r--r--chrome/browser/media_galleries/media_galleries_permission_controller_unittest.cc2
-rw-r--r--chrome/browser/media_galleries/media_galleries_preferences_unittest.cc2
-rw-r--r--chrome/browser/media_galleries/media_galleries_scan_result_controller_unittest.cc2
-rw-r--r--chrome/browser/media_galleries/media_scan_manager_unittest.cc2
-rw-r--r--chrome/browser/metrics/chromeos_metrics_provider.cc11
-rw-r--r--chrome/browser/metrics/chromeos_metrics_provider_unittest.cc3
-rw-r--r--chrome/browser/net/nss_context_chromeos_browsertest.cc4
-rw-r--r--chrome/browser/notifications/message_center_settings_controller.cc19
-rw-r--r--chrome/browser/notifications/message_center_settings_controller.h6
-rw-r--r--chrome/browser/notifications/message_center_settings_controller_unittest.cc3
-rw-r--r--chrome/browser/performance_monitor/performance_monitor_browsertest.cc7
-rw-r--r--chrome/browser/policy/cloud/cloud_policy_browsertest.cc1
-rw-r--r--chrome/browser/policy/configuration_policy_handler_list_factory.cc6
-rw-r--r--chrome/browser/policy/profile_policy_connector.cc5
-rw-r--r--chrome/browser/policy/schema_registry_service_factory.cc4
-rw-r--r--chrome/browser/prefs/browser_prefs.cc4
-rw-r--r--chrome/browser/profiles/off_the_record_profile_impl.cc5
-rw-r--r--chrome/browser/profiles/profile_impl.cc4
-rw-r--r--chrome/browser/profiles/profile_io_data.cc7
-rw-r--r--chrome/browser/profiles/profile_manager.cc17
-rw-r--r--chrome/browser/profiles/profile_manager_unittest.cc10
-rw-r--r--chrome/browser/profiles/profiles_state.cc4
-rw-r--r--chrome/browser/signin/chrome_signin_client.cc6
-rw-r--r--chrome/browser/signin/easy_unlock_service.cc4
-rw-r--r--chrome/browser/signin/easy_unlock_service_browsertest_chromeos.cc10
-rw-r--r--chrome/browser/signin/signin_error_notifier_ash.cc7
-rw-r--r--chrome/browser/supervised_user/chromeos/manager_password_service.cc14
-rw-r--r--chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc8
-rw-r--r--chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc6
-rw-r--r--chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc1
-rw-r--r--chrome/browser/supervised_user/supervised_user_service.cc24
-rw-r--r--chrome/browser/sync/sync_error_notifier_ash.cc7
-rw-r--r--chrome/browser/sync/sync_ui_util.cc8
-rw-r--r--chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service_fake_unittest.cc2
-rw-r--r--chrome/browser/themes/theme_syncable_service_unittest.cc2
-rw-r--r--chrome/browser/ui/ash/app_sync_ui_state.cc4
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.cc13
-rw-r--r--chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc12
-rw-r--r--chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc3
-rw-r--r--chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc4
-rw-r--r--chrome/browser/ui/ash/multi_user/multi_user_util.cc6
-rw-r--r--chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc1
-rw-r--r--chrome/browser/ui/ash/screenshot_taker.cc1
-rw-r--r--chrome/browser/ui/ash/session_state_delegate_chromeos.cc31
-rw-r--r--chrome/browser/ui/ash/session_state_delegate_chromeos.h6
-rw-r--r--chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc6
-rw-r--r--chrome/browser/ui/ash/system_tray_delegate_chromeos.cc36
-rw-r--r--chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc2
-rw-r--r--chrome/browser/ui/browser_list.cc4
-rw-r--r--chrome/browser/ui/location_bar/origin_chip_info_unittest.cc2
-rw-r--r--chrome/browser/ui/startup/startup_browser_creator.cc5
-rw-r--r--chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc2
-rw-r--r--chrome/browser/ui/webui/chromeos/first_run/first_run_ui.cc1
-rw-r--r--chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc3
-rw-r--r--chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc7
-rw-r--r--chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc10
-rw-r--r--chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h2
-rw-r--r--chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc1
-rw-r--r--chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc18
-rw-r--r--chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc10
-rw-r--r--chrome/browser/ui/webui/chromeos/ui_account_tweaks.cc18
-rw-r--r--chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc7
-rw-r--r--chrome/browser/ui/webui/flags_ui.cc11
-rw-r--r--chrome/browser/ui/webui/help/help_handler.cc9
-rw-r--r--chrome/browser/ui/webui/help/version_updater_chromeos.cc6
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.cc11
-rw-r--r--chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc4
-rw-r--r--chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc8
-rw-r--r--chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc19
-rw-r--r--chrome/browser/ui/webui/options/chromeos/consumer_management_handler.cc4
-rw-r--r--chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc10
-rw-r--r--chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc4
-rw-r--r--chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc8
-rw-r--r--chrome/browser/ui/webui/options/chromeos/user_image_source.cc4
-rw-r--r--chrome/browser/ui/webui/options/content_settings_handler.cc4
-rw-r--r--chrome/browser/ui/webui/policy_ui.cc5
-rw-r--r--chrome/chrome_browser.gypi1
-rw-r--r--chrome/chrome_browser_chromeos.gypi11
-rw-r--r--chrome/test/base/browser_with_test_window_test.h2
-rw-r--r--components/user_manager.gypi7
-rw-r--r--components/user_manager/DEPS4
-rw-r--r--components/user_manager/remove_user_delegate.h (renamed from chrome/browser/chromeos/login/users/remove_user_delegate.h)14
-rw-r--r--components/user_manager/user.h9
-rw-r--r--components/user_manager/user_manager.cc85
-rw-r--r--components/user_manager/user_manager.h (renamed from chrome/browser/chromeos/login/users/user_manager.h)153
-rw-r--r--components/user_manager/user_manager_base.cc (renamed from chrome/browser/chromeos/login/users/user_manager_base.cc)361
-rw-r--r--components/user_manager/user_manager_base.h (renamed from chrome/browser/chromeos/login/users/user_manager_base.h)96
-rw-r--r--extensions/shell/browser/shell_browser_main_parts.cc2
291 files changed, 3092 insertions, 2602 deletions
diff --git a/apps/DEPS b/apps/DEPS
index cfc3724..97f9cb0 100644
--- a/apps/DEPS
+++ b/apps/DEPS
@@ -6,6 +6,7 @@ include_rules = [
"+content/public/test",
"+components/keyed_service",
"+components/pref_registry/pref_registry_syncable.h",
+ "+components/user_manager",
"+components/web_modal",
"+extensions",
"+net/base",
diff --git a/apps/launcher.cc b/apps/launcher.cc
index ca463de..aabbc64 100644
--- a/apps/launcher.cc
+++ b/apps/launcher.cc
@@ -4,8 +4,8 @@
#include "apps/launcher.h"
-#include <utility>
#include <set>
+#include <utility>
#include "base/command_line.h"
#include "base/file_util.h"
@@ -40,7 +40,7 @@
#include "url/gurl.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace app_runtime = extensions::core_api::app_runtime;
@@ -318,7 +318,7 @@ void LaunchPlatformAppWithCommandLine(Profile* profile,
if (extensions::KioskModeInfo::IsKioskOnly(extension)) {
bool in_kiosk_mode = false;
#if defined(OS_CHROMEOS)
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
in_kiosk_mode = user_manager && user_manager->IsLoggedInAsKioskApp();
#endif
if (!in_kiosk_mode) {
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 7bf9348..2142b00 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -66,6 +66,7 @@ include_rules = [
"+components/translate/core/browser",
"+components/translate/core/common",
"+components/url_matcher",
+ "+components/user_manager",
"+components/user_prefs",
"+components/web_modal",
"+components/webdata/common",
diff --git a/chrome/browser/apps/app_browsertest.cc b/chrome/browser/apps/app_browsertest.cc
index cc78c10..a3572de 100644
--- a/chrome/browser/apps/app_browsertest.cc
+++ b/chrome/browser/apps/app_browsertest.cc
@@ -50,7 +50,7 @@
#if defined(OS_CHROMEOS)
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/fake_dbus_thread_manager.h"
#include "chromeos/dbus/fake_power_manager_client.h"
diff --git a/chrome/browser/background/background_mode_manager_unittest.cc b/chrome/browser/background/background_mode_manager_unittest.cc
index ec0d276..e1327aa 100644
--- a/chrome/browser/background/background_mode_manager_unittest.cc
+++ b/chrome/browser/background/background_mode_manager_unittest.cc
@@ -27,7 +27,7 @@
#include "ui/message_center/message_center.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/browser_process_platform_part_chromeos.cc b/chrome/browser/browser_process_platform_part_chromeos.cc
index c6ce937..da30ee0 100644
--- a/chrome/browser/browser_process_platform_part_chromeos.cc
+++ b/chrome/browser/browser_process_platform_part_chromeos.cc
@@ -10,6 +10,7 @@
#include "base/time/tick_clock.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/session/chrome_session_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/memory/oom_priority_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -35,6 +36,18 @@ void BrowserProcessPlatformPart::ShutdownAutomaticRebootManager() {
automatic_reboot_manager_.reset();
}
+void BrowserProcessPlatformPart::InitializeChromeUserManager() {
+ DCHECK(!chrome_user_manager_);
+ chrome_user_manager_ =
+ chromeos::ChromeUserManagerImpl::CreateChromeUserManager();
+ chrome_user_manager_->Initialize();
+}
+
+void BrowserProcessPlatformPart::DestroyChromeUserManager() {
+ chrome_user_manager_->Destroy();
+ chrome_user_manager_.reset();
+}
+
void BrowserProcessPlatformPart::InitializeSessionManager(
const base::CommandLine& parsed_command_line,
Profile* profile,
diff --git a/chrome/browser/browser_process_platform_part_chromeos.h b/chrome/browser/browser_process_platform_part_chromeos.h
index 8fe87aa..06e8b64 100644
--- a/chrome/browser/browser_process_platform_part_chromeos.h
+++ b/chrome/browser/browser_process_platform_part_chromeos.h
@@ -15,6 +15,7 @@ class CommandLine;
}
namespace chromeos {
+class ChromeUserManager;
class OomPriorityManager;
class ProfileHelper;
}
@@ -45,6 +46,9 @@ class BrowserProcessPlatformPart : public BrowserProcessPlatformPartBase,
void InitializeAutomaticRebootManager();
void ShutdownAutomaticRebootManager();
+ void InitializeChromeUserManager();
+ void DestroyChromeUserManager();
+
void InitializeSessionManager(const base::CommandLine& parsed_command_line,
Profile* profile,
bool is_running_test);
@@ -69,6 +73,10 @@ class BrowserProcessPlatformPart : public BrowserProcessPlatformPartBase,
policy::BrowserPolicyConnectorChromeOS* browser_policy_connector_chromeos();
+ chromeos::ChromeUserManager* user_manager() {
+ return chrome_user_manager_.get();
+ }
+
// Overridden from BrowserProcessPlatformPartBase:
virtual void StartTearDown() OVERRIDE;
@@ -88,6 +96,8 @@ class BrowserProcessPlatformPart : public BrowserProcessPlatformPartBase,
scoped_ptr<chromeos::system::AutomaticRebootManager>
automatic_reboot_manager_;
+ scoped_ptr<chromeos::ChromeUserManager> chrome_user_manager_;
+
DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPart);
};
diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc
index 27bd3fa..86db7fb 100644
--- a/chrome/browser/browsing_data/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover.cc
@@ -75,7 +75,6 @@
#include "webkit/common/quota/quota_types.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chromeos/attestation/attestation_constants.h"
#include "chromeos/dbus/cryptohome_client.h"
diff --git a/chrome/browser/browsing_data/browsing_data_remover_unittest.cc b/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
index 3b0c8d8..15c5b01 100644
--- a/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
@@ -55,7 +55,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chromeos/dbus/dbus_thread_manager.h"
diff --git a/chrome/browser/chrome_browser_field_trials_desktop.cc b/chrome/browser/chrome_browser_field_trials_desktop.cc
index ac1cfe2..ce62911 100644
--- a/chrome/browser/chrome_browser_field_trials_desktop.cc
+++ b/chrome/browser/chrome_browser_field_trials_desktop.cc
@@ -27,10 +27,6 @@
#include "net/spdy/spdy_session.h"
#include "ui/base/layout.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#endif
-
namespace chrome {
namespace {
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index f10e0ae..17b99db 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -154,9 +154,9 @@
#include "chrome/browser/chromeos/fileapi/file_system_backend.h"
#include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/system/input_device_settings.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#elif defined(OS_LINUX)
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
@@ -390,7 +390,7 @@ bool HandleWebUI(GURL* url, content::BrowserContext* browser_context) {
// Special case : in ChromeOS in Guest mode bookmarks and history are
// disabled for security reasons. New tab page explains the reasons, so
// we redirect user to new tab page.
- if (chromeos::UserManager::Get()->IsLoggedInAsGuest()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) {
if (url->SchemeIs(content::kChromeUIScheme) &&
(url->DomainIs(chrome::kChromeUIBookmarksHost) ||
url->DomainIs(chrome::kChromeUIHistoryHost))) {
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
index bdfa489..3a6089f 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
@@ -32,7 +32,6 @@
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/component_loader.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -48,6 +47,7 @@
#include "chromeos/audio/chromeos_sounds.h"
#include "chromeos/ime/input_method_manager.h"
#include "chromeos/login/login_state.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
@@ -469,9 +469,8 @@ void AccessibilityManager::UpdateLargeCursorFromPref() {
}
bool AccessibilityManager::IsIncognitoAllowed() {
- UserManager* user_manager = UserManager::Get();
// Supervised users can't create incognito-mode windows.
- return !(user_manager->IsLoggedInAsSupervisedUser());
+ return !(user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser());
}
bool AccessibilityManager::IsLargeCursorEnabled() {
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc b/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc
index cb3f8ea..b81ecee 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/login_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/preferences.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h"
@@ -28,6 +27,7 @@
#include "chromeos/ime/component_extension_ime_manager.h"
#include "chromeos/ime/input_method_manager.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -272,7 +272,8 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) {
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay());
// Logs in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that the features still disabled just after login.
EXPECT_FALSE(IsLargeCursorEnabled());
@@ -282,7 +283,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) {
EXPECT_FALSE(IsVirtualKeyboardEnabled());
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the features are still disabled just after login.
EXPECT_FALSE(IsLargeCursorEnabled());
@@ -333,8 +334,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, BrailleOnLoginScreen) {
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, TypePref) {
// Logs in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the features are disabled just after login.
EXPECT_FALSE(IsLargeCursorEnabled());
@@ -392,7 +394,8 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, TypePref) {
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, ResumeSavedPref) {
// Loads the profile of the user.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Sets the pref to enable large cursor before login.
SetLargeCursorEnabledPref(true);
@@ -420,7 +423,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, ResumeSavedPref) {
EXPECT_FALSE(IsVirtualKeyboardEnabled());
// Logs in.
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that features are enabled by restoring from pref just after login.
EXPECT_TRUE(IsLargeCursorEnabled());
@@ -436,8 +439,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest,
MockAccessibilityObserver observer;
// Logs in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
EXPECT_FALSE(observer.observed());
observer.reset();
@@ -495,8 +499,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest,
MockAccessibilityObserver observer;
// Logs in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
EXPECT_FALSE(observer.observed());
observer.reset();
@@ -588,7 +593,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest,
// Logs in.
const char* user_name = GetParam();
- UserManager::Get()->UserLoggedIn(user_name, user_name, true);
+ user_manager::UserManager::Get()->UserLoggedIn(user_name, user_name, true);
// Confirms that the features are still enabled just after login.
EXPECT_TRUE(IsLargeCursorEnabled());
@@ -597,7 +602,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest,
EXPECT_TRUE(IsAutoclickEnabled());
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelay());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the features keep enabled after session starts.
EXPECT_TRUE(IsLargeCursorEnabled());
@@ -617,13 +622,14 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest,
IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, BrailleWhenLoggedIn) {
// Logs in.
const char* user_name = GetParam();
- UserManager::Get()->UserLoggedIn(user_name, user_name, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(user_name, user_name, true);
+ user_manager::UserManager::Get()->SessionStarted();
// This object watches for IME preference changes and reflects those in
// the IME framework state.
chromeos::Preferences prefs;
- prefs.InitUserPrefsForTesting(PrefServiceSyncable::FromProfile(GetProfile()),
- UserManager::Get()->GetActiveUser());
+ prefs.InitUserPrefsForTesting(
+ PrefServiceSyncable::FromProfile(GetProfile()),
+ user_manager::UserManager::Get()->GetActiveUser());
// Make sure we start in the expected state.
EXPECT_FALSE(IsBrailleImeActive());
@@ -660,8 +666,9 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, BrailleWhenLoggedIn) {
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, AcessibilityMenuVisibility) {
// Log in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the features are disabled.
EXPECT_FALSE(IsLargeCursorEnabled());
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.cc b/chrome/browser/chromeos/accessibility/magnification_manager.cc
index 0584e27..8f47444 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager.cc
+++ b/chrome/browser/chromeos/accessibility/magnification_manager.cc
@@ -18,7 +18,6 @@
#include "base/prefs/pref_service.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
index 99921d9..719a633 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/login_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_switches.h"
@@ -22,6 +21,7 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_prefs/user_prefs.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
@@ -96,7 +96,7 @@ bool GetScreenMagnifierEnabledFromPref() {
// the profile is regarded as "non new" in the next login. This is used in
// PRE_XXX cases so that in the main XXX case we can test non new profiles.
void PrepareNonNewProfile(const std::string& name) {
- UserManager::Get()->UserLoggedIn(name, name, true);
+ user_manager::UserManager::Get()->UserLoggedIn(name, name, true);
// To prepare a non-new profile for tests, we must ensure the profile
// directory and the preference files are created, because that's what
// Profile::IsNewProfile() checks. UserLoggedIn(), however, does not yet
@@ -184,12 +184,13 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginOffToOff) {
EXPECT_FALSE(IsMagnifierEnabled());
// Logs in with existing profile.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is still disabled just after login.
EXPECT_FALSE(IsMagnifierEnabled());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is still disabled just after session starts.
EXPECT_FALSE(IsMagnifierEnabled());
@@ -223,13 +224,14 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToOff) {
EXPECT_EQ(2.5, GetFullScreenMagnifierScale());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping enabled.
EXPECT_TRUE(IsMagnifierEnabled());
EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is disabled just after session start.
EXPECT_FALSE(IsMagnifierEnabled());
@@ -252,12 +254,13 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginOffToFull) {
EXPECT_FALSE(IsMagnifierEnabled());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping disabled.
EXPECT_FALSE(IsMagnifierEnabled());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the magnifier is enabled and configured according to the
// explicitly set prefs just after session start.
@@ -287,13 +290,14 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToFull) {
EXPECT_EQ(3.0, GetFullScreenMagnifierScale());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping enabled.
EXPECT_TRUE(IsMagnifierEnabled());
EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the magnifier is enabled and configured according to the
// explicitly set prefs just after session start.
@@ -316,13 +320,14 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToUnset) {
EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping enabled.
EXPECT_TRUE(IsMagnifierEnabled());
EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is disabled.
EXPECT_FALSE(IsMagnifierEnabled());
@@ -337,12 +342,13 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginAsNewUserOff) {
SetMagnifierEnabled(false);
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping disabled.
EXPECT_FALSE(IsMagnifierEnabled());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is keeping disabled.
EXPECT_FALSE(IsMagnifierEnabled());
@@ -359,13 +365,14 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginAsNewUserFull) {
EXPECT_EQ(2.5, GetFullScreenMagnifierScale());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping enabled.
EXPECT_TRUE(IsMagnifierEnabled());
EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier keeps enabled.
EXPECT_TRUE(IsMagnifierEnabled());
@@ -379,12 +386,13 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginAsNewUserUnset) {
EXPECT_FALSE(IsMagnifierEnabled());
// Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
// Confirms that magnifier is keeping disabled.
EXPECT_FALSE(IsMagnifierEnabled());
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is keeping disabled.
EXPECT_FALSE(IsMagnifierEnabled());
@@ -450,8 +458,9 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ChangeMagnifierType) {
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, TypePref) {
// Logs in
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that magnifier is disabled just after login.
EXPECT_FALSE(IsMagnifierEnabled());
diff --git a/chrome/browser/chromeos/app_mode/app_session_lifetime.cc b/chrome/browser/chromeos/app_mode/app_session_lifetime.cc
index 6fa8455..7095824 100644
--- a/chrome/browser/chromeos/app_mode/app_session_lifetime.cc
+++ b/chrome/browser/chromeos/app_mode/app_session_lifetime.cc
@@ -15,7 +15,6 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_update_service.h"
#include "chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.h"
#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/profiles/profile.h"
@@ -27,6 +26,7 @@
#include "chrome/common/pref_names.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_contents.h"
using apps::AppWindowRegistry;
@@ -54,7 +54,7 @@ class AppWindowHandler : public AppWindowRegistry::Observer {
virtual void OnAppWindowRemoved(apps::AppWindow* app_window) OVERRIDE {
if (window_registry_->app_windows().empty()) {
if (DemoAppLauncher::IsDemoAppSession(
- chromeos::UserManager::Get()->GetActiveUser()->email())) {
+ user_manager::UserManager::Get()->GetActiveUser()->email())) {
// If we were in demo mode, we disabled all our network technologies,
// re-enable them.
NetworkStateHandler* handler =
@@ -129,7 +129,7 @@ void InitAppSession(Profile* profile, const std::string& app_id) {
// For a demo app, we don't need to either setup the update service or
// the idle app name notification.
if (DemoAppLauncher::IsDemoAppSession(
- chromeos::UserManager::Get()->GetActiveUser()->email()))
+ user_manager::UserManager::Get()->GetActiveUser()->email()))
return;
// Set the app_id for the current instance of KioskAppUpdateService.
diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc
index d5acb4c..e4e7b0e5 100644
--- a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc
+++ b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc
@@ -20,7 +20,6 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_data.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_external_loader.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager_observer.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
diff --git a/chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.cc b/chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.cc
index c0cee0b..52cba04 100644
--- a/chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.cc
+++ b/chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.cc
@@ -8,12 +8,12 @@
#include "base/bind.h"
#include "base/command_line.h"
#include "base/logging.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ui/idle_app_name_notification_view.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/browser/extension_system.h"
#include "ui/wm/core/user_activity_detector.h"
@@ -68,7 +68,7 @@ KioskModeIdleAppNameNotification::~KioskModeIdleAppNameNotification() {
}
void KioskModeIdleAppNameNotification::Setup() {
- DCHECK(UserManager::Get()->IsUserLoggedIn());
+ DCHECK(user_manager::UserManager::Get()->IsUserLoggedIn());
Start();
}
diff --git a/chrome/browser/chromeos/app_mode/startup_app_launcher.cc b/chrome/browser/chromeos/app_mode/startup_app_launcher.cc
index fcb46a4..5e7d1bf 100644
--- a/chrome/browser/chromeos/app_mode/startup_app_launcher.cc
+++ b/chrome/browser/chromeos/app_mode/startup_app_launcher.cc
@@ -15,7 +15,6 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/app_mode/kiosk_diagnosis_runner.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/extensions/install_tracker_factory.h"
@@ -30,6 +29,7 @@
#include "chrome/common/extensions/manifest_url_handler.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "extensions/browser/extension_system.h"
@@ -333,7 +333,7 @@ void StartupAppLauncher::LaunchApp() {
NEW_WINDOW));
InitAppSession(profile_, app_id_);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_KIOSK_APP_LAUNCHED,
diff --git a/chrome/browser/chromeos/attestation/platform_verification_flow.h b/chrome/browser/chromeos/attestation/platform_verification_flow.h
index 8c50312..b6571a4 100644
--- a/chrome/browser/chromeos/attestation/platform_verification_flow.h
+++ b/chrome/browser/chromeos/attestation/platform_verification_flow.h
@@ -37,7 +37,6 @@ class PrefRegistrySyncable;
namespace chromeos {
class CryptohomeClient;
-class UserManager;
namespace attestation {
diff --git a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc b/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc
index 717e495..4dc4584 100644
--- a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc
+++ b/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc
@@ -12,12 +12,12 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/login_state.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
namespace chromeos {
@@ -106,7 +106,7 @@ class UserWallpaperDelegate : public ash::UserWallpaperDelegate {
return false;
}
const user_manager::User* user =
- chromeos::UserManager::Get()->GetActiveUser();
+ user_manager::UserManager::Get()->GetActiveUser();
if (!user)
return false;
if (chromeos::WallpaperManager::Get()->IsPolicyControlled(user->email()))
diff --git a/chrome/browser/chromeos/boot_times_loader.cc b/chrome/browser/chromeos/boot_times_loader.cc
index db542f0..eb4633e 100644
--- a/chrome/browser/chromeos/boot_times_loader.cc
+++ b/chrome/browser/chromeos/boot_times_loader.cc
@@ -27,12 +27,12 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/auth/authentication_notification_details.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_iterator.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/notification_service.h"
@@ -514,7 +514,7 @@ void BootTimesLoader::Observe(
if (render_widget_hosts_loading_.find(rwh) !=
render_widget_hosts_loading_.end()) {
AddLoginTimeMarker("TabPaint: " + GetTabUrl(rwh), false);
- LoginDone(UserManager::Get()->IsCurrentUserNew());
+ LoginDone(user_manager::UserManager::Get()->IsCurrentUserNew());
}
break;
}
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index b48fe8e..70d37a83 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -49,7 +49,7 @@
#include "chrome/browser/chromeos/login/login_wizard.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/memory/oom_priority_manager.h"
@@ -107,6 +107,7 @@
#include "components/metrics/metrics_service.h"
#include "components/session_manager/core/session_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/power_save_blocker.h"
@@ -341,7 +342,7 @@ void ChromeBrowserMainPartsChromeos::PreProfileInit() {
// -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun()
// -- just before CreateProfile().
- UserManager::Initialize();
+ g_browser_process->platform_part()->InitializeChromeUserManager();
// Initialize the screen locker now so that it can receive
// LOGIN_USER_CHANGED notification from UserManager.
@@ -415,7 +416,7 @@ void ChromeBrowserMainPartsChromeos::PreProfileInit() {
if (immediate_login) {
const std::string user_id = login::CanonicalizeUserID(
parsed_command_line().GetSwitchValueASCII(switches::kLoginUser));
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (policy::IsDeviceLocalAccountUser(user_id, NULL) &&
!user_manager->IsKnownUser(user_id)) {
@@ -530,7 +531,7 @@ void ChromeBrowserMainPartsChromeos::PostProfileInit() {
// Guest user profile is never initialized with locale settings,
// so we need special handling for Guest session.
- if (UserManager::Get()->IsLoggedInAsGuest())
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
SetGuestLocale(profile());
// These observers must be initialized after the profile because
@@ -692,7 +693,7 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
// of the CrosSettings singleton before it is destroyed. This also ensures
// that the UserManager has no URLRequest pending (see
// http://crbug.com/276659).
- UserManager::Get()->Shutdown();
+ g_browser_process->platform_part()->user_manager()->Shutdown();
WallpaperManager::Get()->Shutdown();
// Let the AutomaticRebootManager unregister itself as an observer of several
@@ -724,7 +725,7 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
// parts of WebUI depends on NetworkPortalDetector.
NetworkPortalDetector::Shutdown();
- UserManager::Destroy();
+ g_browser_process->platform_part()->DestroyChromeUserManager();
g_browser_process->platform_part()->ShutdownSessionManager();
}
diff --git a/chrome/browser/chromeos/display/display_preferences.cc b/chrome/browser/chromeos/display/display_preferences.cc
index a9f7927..9614c15 100644
--- a/chrome/browser/chromeos/display/display_preferences.cc
+++ b/chrome/browser/chromeos/display/display_preferences.cc
@@ -17,8 +17,8 @@
#include "base/strings/string_util.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/common/pref_names.h"
+#include "components/user_manager/user_manager.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
#include "ui/gfx/display.h"
#include "ui/gfx/insets.h"
@@ -98,7 +98,7 @@ ash::DisplayManager* GetDisplayManager() {
// Returns true id the current user can write display preferences to
// Local State.
bool UserCanSaveDisplayPreference() {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
return user_manager->IsUserLoggedIn() &&
(user_manager->IsLoggedInAsRegularUser() ||
user_manager->IsLoggedInAsSupervisedUser() ||
diff --git a/chrome/browser/chromeos/display/display_preferences_unittest.cc b/chrome/browser/chromeos/display/display_preferences_unittest.cc
index 7a0f998..658ec54 100644
--- a/chrome/browser/chromeos/display/display_preferences_unittest.cc
+++ b/chrome/browser/chromeos/display/display_preferences_unittest.cc
@@ -22,7 +22,7 @@
#include "base/values.h"
#include "chrome/browser/chromeos/display/display_configuration_observer.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_browser_process.h"
#include "ui/display/chromeos/display_configurator.h"
diff --git a/chrome/browser/chromeos/drive/drive_notification_manager_factory_browsertest.cc b/chrome/browser/chromeos/drive/drive_notification_manager_factory_browsertest.cc
index 6773e65..3ce0b1b 100644
--- a/chrome/browser/chromeos/drive/drive_notification_manager_factory_browsertest.cc
+++ b/chrome/browser/chromeos/drive/drive_notification_manager_factory_browsertest.cc
@@ -6,13 +6,13 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace drive {
@@ -52,7 +52,7 @@ class DriveNotificationManagerFactoryGuestBrowserTest
// profile or the guest profile while a guest session is in progress.
IN_PROC_BROWSER_TEST_F(DriveNotificationManagerFactoryGuestBrowserTest,
NoDriveNotificationManager) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
EXPECT_TRUE(user_manager->IsLoggedInAsGuest());
Profile* guest_profile =
chromeos::ProfileHelper::Get()
diff --git a/chrome/browser/chromeos/drive/file_system_util.cc b/chrome/browser/chromeos/drive/file_system_util.cc
index f20dbf7..db8043c 100644
--- a/chrome/browser/chromeos/drive/file_system_util.cc
+++ b/chrome/browser/chromeos/drive/file_system_util.cc
@@ -36,6 +36,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "chromeos/chromeos_constants.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/escape.h"
#include "webkit/browser/fileapi/file_system_url.h"
@@ -121,7 +122,7 @@ base::FilePath GetDriveMountPointPath(Profile* profile) {
// returns currently active users's hash in such a case.) I still try
// ProfileHelper first because it works better in tests.
user_manager::User* const user =
- chromeos::UserManager::IsInitialized()
+ user_manager::UserManager::IsInitialized()
? chromeos::ProfileHelper::Get()->GetUserByProfile(
profile->GetOriginalProfile())
: NULL;
diff --git a/chrome/browser/chromeos/events/event_rewriter.cc b/chrome/browser/chromeos/events/event_rewriter.cc
index 62cff07..314a3ec 100644
--- a/chrome/browser/chromeos/events/event_rewriter.cc
+++ b/chrome/browser/chromeos/events/event_rewriter.cc
@@ -16,12 +16,12 @@
#include "base/strings/string_util.h"
#include "base/sys_info.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/pref_names.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/ime/ime_keyboard.h"
#include "chromeos/ime/input_method_manager.h"
+#include "components/user_manager/user_manager.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
#include "ui/events/keycodes/keyboard_code_conversion.h"
@@ -510,7 +510,7 @@ void EventRewriter::RewriteModifierKeys(const ui::KeyEvent& key_event,
// TODO(glotov): remove the following condition when we do not restart chrome
// when user logs in as guest.
// TODO(kpschoedel): check whether this is still necessary.
- if (UserManager::Get()->IsLoggedInAsGuest() &&
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest() &&
LoginDisplayHostImpl::default_host())
return;
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
index f3e2b43..db71419 100644
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
@@ -18,7 +18,7 @@
#include "chrome/browser/chromeos/input_method/input_method_configuration.h"
#include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/preferences.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_pref_service_syncable.h"
diff --git a/chrome/browser/chromeos/events/keyboard_driven_event_rewriter.cc b/chrome/browser/chromeos/events/keyboard_driven_event_rewriter.cc
index 14e3927..1b33924 100644
--- a/chrome/browser/chromeos/events/keyboard_driven_event_rewriter.cc
+++ b/chrome/browser/chromeos/events/keyboard_driven_event_rewriter.cc
@@ -5,8 +5,8 @@
#include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h"
#include "chrome/browser/chromeos/events/event_rewriter.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/system/input_device_settings.h"
+#include "components/user_manager/user_manager.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
@@ -19,8 +19,8 @@ const int kModifierMask = ui::EF_SHIFT_DOWN;
// Returns true if and only if it is on login screen (i.e. user is not logged
// in) and the keyboard driven flag in the OEM manifest is on.
bool ShouldStripModifiersForArrowKeysAndEnter() {
- if (UserManager::IsInitialized() &&
- !UserManager::Get()->IsSessionStarted()) {
+ if (user_manager::UserManager::IsInitialized() &&
+ !user_manager::UserManager::Get()->IsSessionStarted()) {
return system::InputDeviceSettings::Get()
->ForceKeyboardDrivenUINavigation();
}
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
index 14567a4..094e5ff 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h"
#include "chrome/browser/chromeos/file_manager/app_installer.h"
#include "chrome/browser/chromeos/file_manager/zip_file_creator.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/devtools/devtools_window.h"
@@ -36,6 +35,7 @@
#include "chrome/common/pref_names.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/page_zoom.h"
@@ -63,7 +63,7 @@ apps::AppWindow* GetCurrentAppWindow(ChromeSyncExtensionFunction* function) {
std::vector<linked_ptr<api::file_browser_private::ProfileInfo> >
GetLoggedInProfileInfoList(content::WebContents* contents) {
- DCHECK(chromeos::UserManager::IsInitialized());
+ DCHECK(user_manager::UserManager::IsInitialized());
const std::vector<Profile*>& profiles =
g_browser_process->profile_manager()->GetLoadedProfiles();
std::set<Profile*> original_profiles;
@@ -112,7 +112,7 @@ bool FileBrowserPrivateLogoutUserForReauthenticationFunction::RunSync() {
user_manager::User* user =
chromeos::ProfileHelper::Get()->GetUserByProfile(GetProfile());
if (user) {
- chromeos::UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
user->email(), user_manager::User::OAUTH2_TOKEN_STATUS_INVALID);
}
diff --git a/chrome/browser/chromeos/extensions/info_private_api.cc b/chrome/browser/chromeos/extensions/info_private_api.cc
index c62e648..dbe59d1 100644
--- a/chrome/browser/chromeos/extensions/info_private_api.cc
+++ b/chrome/browser/chromeos/extensions/info_private_api.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/system/timezone_util.h"
@@ -23,6 +22,7 @@
#include "chromeos/settings/cros_settings_names.h"
#include "chromeos/system/statistics_provider.h"
#include "components/metrics/metrics_service.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/common/error_utils.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
@@ -182,7 +182,7 @@ base::Value* ChromeosInfoPrivateGetFunction::GetValue(
return new base::StringValue(base::SysInfo::GetLsbReleaseBoard());
} else if (property_name == kPropertyOwner) {
return new base::FundamentalValue(
- chromeos::UserManager::Get()->IsCurrentUserOwner());
+ user_manager::UserManager::Get()->IsCurrentUserOwner());
} else if (property_name == kPropertyClientId) {
return new base::StringValue(GetClientId());
} else if (property_name == kPropertyTimezone) {
diff --git a/chrome/browser/chromeos/extensions/wallpaper_api.cc b/chrome/browser/chromeos/extensions/wallpaper_api.cc
index 1b1ae37..e994f2d 100644
--- a/chrome/browser/chromeos/extensions/wallpaper_api.cc
+++ b/chrome/browser/chromeos/extensions/wallpaper_api.cc
@@ -12,13 +12,13 @@
#include "base/strings/stringprintf.h"
#include "base/threading/worker_pool.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/pref_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "net/base/load_flags.h"
#include "net/http/http_status_code.h"
#include "net/url_request/url_fetcher.h"
@@ -100,9 +100,9 @@ bool WallpaperSetWallpaperFunction::RunAsync() {
EXTENSION_FUNCTION_VALIDATE(params_);
// Gets email address and username hash while at UI thread.
- user_id_ = chromeos::UserManager::Get()->GetLoggedInUser()->email();
+ user_id_ = user_manager::UserManager::Get()->GetLoggedInUser()->email();
user_id_hash_ =
- chromeos::UserManager::Get()->GetLoggedInUser()->username_hash();
+ user_manager::UserManager::Get()->GetLoggedInUser()->username_hash();
if (params_->details.wallpaper_data) {
StartDecode(*params_->details.wallpaper_data);
@@ -138,7 +138,7 @@ void WallpaperSetWallpaperFunction::OnWallpaperDecoded(
ash::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum(
set_wallpaper::Params::Details::ToString(params_->details.layout));
bool update_wallpaper =
- user_id_ == chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email();
wallpaper_manager->SetCustomWallpaper(user_id_,
user_id_hash_,
params_->details.name,
diff --git a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc
index a9b181a..045fa11 100644
--- a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc
+++ b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc
@@ -22,7 +22,6 @@
#include "base/strings/stringprintf.h"
#include "base/threading/worker_pool.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_paths.h"
@@ -30,6 +29,7 @@
#include "chrome/grit/generated_resources.h"
#include "chrome/grit/platform_locale_settings.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/event_router.h"
#include "ui/base/l10n/l10n_util.h"
@@ -301,7 +301,7 @@ bool WallpaperPrivateSetWallpaperIfExistsFunction::RunAsync() {
params = set_wallpaper_if_exists::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params);
- user_id_ = chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ = user_manager::UserManager::Get()->GetActiveUser()->email();
base::FilePath wallpaper_path;
base::FilePath fallback_path;
@@ -372,11 +372,11 @@ void WallpaperPrivateSetWallpaperIfExistsFunction::OnWallpaperDecoded(
wallpaper_private::ToString(params->layout));
bool update_wallpaper =
- user_id_ == chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email();
wallpaper_manager->SetWallpaperFromImageSkia(
user_id_, image, layout, update_wallpaper);
- bool is_persistent =
- !chromeos::UserManager::Get()->IsCurrentUserNonCryptohomeDataEphemeral();
+ bool is_persistent = !user_manager::UserManager::Get()
+ ->IsCurrentUserNonCryptohomeDataEphemeral();
chromeos::WallpaperInfo info = {params->url, layout,
user_manager::User::ONLINE,
base::Time::Now().LocalMidnight()};
@@ -408,7 +408,7 @@ bool WallpaperPrivateSetWallpaperFunction::RunAsync() {
EXTENSION_FUNCTION_VALIDATE(params);
// Gets email address while at UI thread.
- user_id_ = chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ = user_manager::UserManager::Get()->GetActiveUser()->email();
StartDecode(params->wallpaper);
@@ -482,12 +482,12 @@ void WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper(
wallpaper_private::ToString(params->layout));
bool update_wallpaper =
- user_id_ == chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email();
wallpaper_manager->SetWallpaperFromImageSkia(
user_id_, *image.get(), layout, update_wallpaper);
- bool is_persistent =
- !chromeos::UserManager::Get()->IsCurrentUserNonCryptohomeDataEphemeral();
+ bool is_persistent = !user_manager::UserManager::Get()
+ ->IsCurrentUserNonCryptohomeDataEphemeral();
chromeos::WallpaperInfo info = {params->url, layout,
user_manager::User::ONLINE,
base::Time::Now().LocalMidnight()};
@@ -510,7 +510,7 @@ WallpaperPrivateResetWallpaperFunction::
bool WallpaperPrivateResetWallpaperFunction::RunAsync() {
chromeos::WallpaperManager* wallpaper_manager =
chromeos::WallpaperManager::Get();
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
std::string user_id = user_manager->GetActiveUser()->email();
wallpaper_manager->RemoveUserWallpaperInfo(user_id);
@@ -544,9 +544,9 @@ bool WallpaperPrivateSetCustomWallpaperFunction::RunAsync() {
EXTENSION_FUNCTION_VALIDATE(params);
// Gets email address and username hash while at UI thread.
- user_id_ = chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ = user_manager::UserManager::Get()->GetActiveUser()->email();
user_id_hash_ =
- chromeos::UserManager::Get()->GetActiveUser()->username_hash();
+ user_manager::UserManager::Get()->GetActiveUser()->username_hash();
StartDecode(params->wallpaper);
@@ -571,7 +571,7 @@ void WallpaperPrivateSetCustomWallpaperFunction::OnWallpaperDecoded(
wallpaper_private::ToString(params->layout));
bool update_wallpaper =
- user_id_ == chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email();
wallpaper_manager->SetCustomWallpaper(user_id_,
user_id_hash_,
params->file_name,
@@ -655,9 +655,10 @@ bool WallpaperPrivateSetCustomWallpaperLayoutFunction::RunAsync() {
info.layout = wallpaper_api_util::GetLayoutEnum(
wallpaper_private::ToString(params->layout));
- std::string email = chromeos::UserManager::Get()->GetActiveUser()->email();
- bool is_persistent =
- !chromeos::UserManager::Get()->IsCurrentUserNonCryptohomeDataEphemeral();
+ std::string email =
+ user_manager::UserManager::Get()->GetActiveUser()->email();
+ bool is_persistent = !user_manager::UserManager::Get()
+ ->IsCurrentUserNonCryptohomeDataEphemeral();
wallpaper_manager->SetUserWallpaperInfo(email, info, is_persistent);
wallpaper_manager->UpdateWallpaper(false /* clear_cache */);
SendResponse(true);
@@ -676,7 +677,7 @@ WallpaperPrivateMinimizeInactiveWindowsFunction::
bool WallpaperPrivateMinimizeInactiveWindowsFunction::RunAsync() {
WindowStateManager::MinimizeInactiveWindows(
- chromeos::UserManager::Get()->GetActiveUser()->username_hash());
+ user_manager::UserManager::Get()->GetActiveUser()->username_hash());
return true;
}
@@ -690,7 +691,7 @@ WallpaperPrivateRestoreMinimizedWindowsFunction::
bool WallpaperPrivateRestoreMinimizedWindowsFunction::RunAsync() {
WindowStateManager::RestoreWindows(
- chromeos::UserManager::Get()->GetActiveUser()->username_hash());
+ user_manager::UserManager::Get()->GetActiveUser()->username_hash());
return true;
}
@@ -706,7 +707,8 @@ bool WallpaperPrivateGetThumbnailFunction::RunAsync() {
EXTENSION_FUNCTION_VALIDATE(params);
base::FilePath thumbnail_path;
- std::string email = chromeos::UserManager::Get()->GetActiveUser()->email();
+ std::string email =
+ user_manager::UserManager::Get()->GetActiveUser()->email();
if (params->source == get_thumbnail::Params::SOURCE_ONLINE) {
std::string file_name = GURL(params->url_or_file).ExtractFileName();
CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPER_THUMBNAILS,
diff --git a/chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc b/chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc
index 4b54e8f..3388d69 100644
--- a/chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc
+++ b/chrome/browser/chromeos/extensions/wallpaper_private_api_unittest.cc
@@ -11,6 +11,7 @@
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/extensions/wallpaper_private_api.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h"
#include "ui/aura/test/test_windows.h"
diff --git a/chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc b/chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc
index 87a2ade..ecdfb71 100644
--- a/chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc
+++ b/chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/chromeos/drive/drive_integration_service.h"
#include "chrome/browser/chromeos/file_manager/drive_test_util.h"
#include "chrome/browser/chromeos/file_manager/volume_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/drive/fake_drive_service.h"
#include "chrome/browser/extensions/extension_apitest.h"
@@ -20,6 +19,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
@@ -511,9 +511,8 @@ class MultiProfileDriveFileSystemExtensionApiTest :
virtual void SetUpOnMainThread() OVERRIDE {
base::FilePath user_data_directory;
PathService::Get(chrome::DIR_USER_DATA, &user_data_directory);
- chromeos::UserManager::Get()->UserLoggedIn(kSecondProfileAccount,
- kSecondProfileHash,
- false);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kSecondProfileAccount, kSecondProfileHash, false);
// Set up the secondary profile.
base::FilePath profile_dir =
user_data_directory.Append(
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
index 6e83da8..31c1c38 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
@@ -29,7 +29,6 @@
#include "chrome/browser/chromeos/file_manager/drive_test_util.h"
#include "chrome/browser/chromeos/file_manager/path_util.h"
#include "chrome/browser/chromeos/file_manager/volume_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/drive/fake_drive_service.h"
#include "chrome/browser/extensions/component_loader.h"
@@ -41,6 +40,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
#include "extensions/browser/api/test/test_api.h"
@@ -1131,7 +1131,8 @@ class MultiProfileFileManagerBrowserTest : public FileManagerBrowserTestBase {
// Adds a new user for testing to the current session.
void AddUser(const TestAccountInfo& info, bool log_in) {
- chromeos::UserManager* const user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* const user_manager =
+ user_manager::UserManager::Get();
if (log_in)
user_manager->UserLoggedIn(info.email, info.hash, false);
user_manager->SaveUserDisplayName(info.email,
diff --git a/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc b/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
index bd07eaf..21be58d 100644
--- a/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
+++ b/chrome/browser/chromeos/file_manager/file_tasks_unittest.cc
@@ -13,7 +13,7 @@
#include "base/values.h"
#include "chrome/browser/chromeos/drive/file_system_util.h"
#include "chrome/browser/chromeos/file_manager/app_id.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/drive/drive_app_registry.h"
diff --git a/chrome/browser/chromeos/file_manager/path_util.cc b/chrome/browser/chromeos/file_manager/path_util.cc
index 8896bfe..cf9b0ed 100644
--- a/chrome/browser/chromeos/file_manager/path_util.cc
+++ b/chrome/browser/chromeos/file_manager/path_util.cc
@@ -8,11 +8,11 @@
#include "base/logging.h"
#include "base/sys_info.h"
#include "chrome/browser/chromeos/drive/file_system_util.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/profiles/profile.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "net/base/escape.h"
namespace file_manager {
@@ -35,12 +35,12 @@ base::FilePath GetDownloadsFolderForProfile(Profile* profile) {
// On non-ChromeOS system (test+development), the primary profile uses
// $HOME/Downloads for ease for accessing local files for debugging.
if (!base::SysInfo::IsRunningOnChromeOS() &&
- chromeos::UserManager::IsInitialized()) {
+ user_manager::UserManager::IsInitialized()) {
const user_manager::User* const user =
chromeos::ProfileHelper::Get()->GetUserByProfile(
profile->GetOriginalProfile());
const user_manager::User* const primary_user =
- chromeos::UserManager::Get()->GetPrimaryUser();
+ user_manager::UserManager::Get()->GetPrimaryUser();
if (user == primary_user)
return DownloadPrefs::GetDefaultDownloadDirectory();
}
@@ -76,7 +76,7 @@ bool MigratePathFromOldFormat(Profile* profile,
// no-op when multi-profile is enabled. This is necessary for (1) back
// migration when multi-profile flag is enabled and then disabled, or (2) in
// some edge cases (crbug.com/356322) that u-<hash> path is temporarily used.
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
const user_manager::User* const user =
chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
if (user) {
@@ -107,7 +107,7 @@ std::string GetDownloadsMountPointName(Profile* profile) {
// are not associated with an user account. In that case, no suffix is added
// because such a profile never belongs to a multi-profile session.
user_manager::User* const user =
- chromeos::UserManager::IsInitialized()
+ user_manager::UserManager::IsInitialized()
? chromeos::ProfileHelper::Get()->GetUserByProfile(
profile->GetOriginalProfile())
: NULL;
diff --git a/chrome/browser/chromeos/file_system_provider/mount_path_util.cc b/chrome/browser/chromeos/file_system_provider/mount_path_util.cc
index 0456a7e..19283e4 100644
--- a/chrome/browser/chromeos/file_system_provider/mount_path_util.cc
+++ b/chrome/browser/chromeos/file_system_provider/mount_path_util.cc
@@ -11,11 +11,11 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/file_system_provider/provided_file_system.h"
#include "chrome/browser/chromeos/file_system_provider/service.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
using content::BrowserThread;
@@ -51,7 +51,7 @@ base::FilePath GetMountPath(Profile* profile,
const std::string& extension_id,
const std::string& file_system_id) {
user_manager::User* const user =
- chromeos::UserManager::IsInitialized()
+ user_manager::UserManager::IsInitialized()
? chromeos::ProfileHelper::Get()->GetUserByProfile(
profile->GetOriginalProfile())
: NULL;
diff --git a/chrome/browser/chromeos/file_system_provider/mount_path_util_unittest.cc b/chrome/browser/chromeos/file_system_provider/mount_path_util_unittest.cc
index d3d7df4..788eeab 100644
--- a/chrome/browser/chromeos/file_system_provider/mount_path_util_unittest.cc
+++ b/chrome/browser/chromeos/file_system_provider/mount_path_util_unittest.cc
@@ -13,6 +13,7 @@
#include "chrome/browser/chromeos/file_system_provider/service.h"
#include "chrome/browser/chromeos/file_system_provider/service_factory.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
diff --git a/chrome/browser/chromeos/file_system_provider/service_unittest.cc b/chrome/browser/chromeos/file_system_provider/service_unittest.cc
index ef99385..7a6d1e6 100644
--- a/chrome/browser/chromeos/file_system_provider/service_unittest.cc
+++ b/chrome/browser/chromeos/file_system_provider/service_unittest.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/chromeos/file_system_provider/observer.h"
#include "chrome/browser/chromeos/file_system_provider/provided_file_system_info.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_pref_service_syncable.h"
#include "chrome/test/base/testing_profile.h"
diff --git a/chrome/browser/chromeos/first_run/drive_first_run_controller.cc b/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
index 09973a6..c69b2ed 100644
--- a/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
+++ b/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/background/background_contents_service.h"
#include "chrome/browser/background/background_contents_service_factory.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/tab_contents/background_contents.h"
@@ -24,6 +23,7 @@
#include "chrome/browser/ui/singleton_tabs.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/grit/theme_resources.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/notification_details.h"
@@ -364,7 +364,7 @@ void DriveFirstRunController::EnableOfflineMode() {
return;
}
- if (!UserManager::Get()->IsLoggedInAsRegularUser()) {
+ if (!user_manager::UserManager::Get()->IsLoggedInAsRegularUser()) {
LOG(ERROR) << "Attempting to enable offline access "
"but not logged in a regular user.";
OnOfflineInit(false, OUTCOME_WRONG_USER_TYPE);
diff --git a/chrome/browser/chromeos/first_run/first_run.cc b/chrome/browser/chromeos/first_run/first_run.cc
index c3e73e9..bf2d007 100644
--- a/chrome/browser/chromeos/first_run/first_run.cc
+++ b/chrome/browser/chromeos/first_run/first_run.cc
@@ -5,16 +5,18 @@
#include "base/command_line.h"
#include "base/metrics/histogram.h"
#include "base/prefs/pref_service.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/first_run/first_run_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/extensions/application_launch.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chromeos/chromeos_switches.h"
#include "components/pref_registry/pref_registry_syncable.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
@@ -67,7 +69,7 @@ class DialogLauncher : public content::NotificationObserver {
bool launched_in_test = command_line->HasSwitch(::switches::kTestType);
bool launched_in_telemetry =
command_line->HasSwitch(switches::kOobeSkipPostLogin);
- bool is_user_new = chromeos::UserManager::Get()->IsCurrentUserNew();
+ bool is_user_new = user_manager::UserManager::Get()->IsCurrentUserNew();
bool first_run_forced = command_line->HasSwitch(switches::kForceFirstRunUI);
bool first_run_seen =
profile_->GetPrefs()->GetBoolean(prefs::kFirstRunTutorialShown);
@@ -96,9 +98,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
}
void MaybeLaunchDialogAfterSessionStart() {
- UserManager* user_manager = UserManager::Get();
new DialogLauncher(ProfileHelper::Get()->GetProfileByUserUnsafe(
- user_manager->GetActiveUser()));
+ user_manager::UserManager::Get()->GetActiveUser()));
}
void LaunchTutorial() {
diff --git a/chrome/browser/chromeos/first_run/first_run_controller.cc b/chrome/browser/chromeos/first_run/first_run_controller.cc
index 8a8cd4fb..02b8cf1 100644
--- a/chrome/browser/chromeos/first_run/first_run_controller.cc
+++ b/chrome/browser/chromeos/first_run/first_run_controller.cc
@@ -13,9 +13,9 @@
#include "chrome/browser/chromeos/first_run/steps/app_list_step.h"
#include "chrome/browser/chromeos/first_run/steps/help_step.h"
#include "chrome/browser/chromeos/first_run/steps/tray_step.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/ui/chrome_pages.h"
+#include "components/user_manager/user_manager.h"
#include "ui/views/widget/widget.h"
namespace {
@@ -71,7 +71,7 @@ FirstRunController::FirstRunController()
void FirstRunController::Init() {
start_time_ = base::Time::Now();
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_profile_ = ProfileHelper::Get()->GetProfileByUserUnsafe(
user_manager->GetActiveUser());
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
index 39d4a70..87518b9 100644
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
@@ -22,7 +22,6 @@
#include "chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.h"
#include "chrome/browser/chromeos/input_method/input_method_engine.h"
#include "chrome/browser/chromeos/language_preferences.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/pref_names.h"
#include "chromeos/ime/component_extension_ime_manager.h"
diff --git a/chrome/browser/chromeos/input_method/input_method_persistence.cc b/chrome/browser/chromeos/input_method/input_method_persistence.cc
index c0c82fb..e9a2cd9 100644
--- a/chrome/browser/chromeos/input_method/input_method_persistence.cc
+++ b/chrome/browser/chromeos/input_method/input_method_persistence.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
#include "chrome/browser/chromeos/language_preferences.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/pref_names.h"
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.cc
index 2ca6103..1c2c241 100644
--- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.cc
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.cc
@@ -11,8 +11,8 @@
#include "base/message_loop/message_loop.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ui/idle_logout_dialog_view.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
@@ -48,7 +48,7 @@ KioskModeIdleLogout::~KioskModeIdleLogout() {
}
void KioskModeIdleLogout::Setup() {
- if (UserManager::Get()->IsLoggedInAsDemoUser()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsDemoUser()) {
// This means that we're recovering from a crash. The user is already
// logged in, so go ahead and start the timer.
Start();
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc
index e260cde..8843dca 100644
--- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc
@@ -11,8 +11,8 @@
#include "base/message_loop/message_loop.h"
#include "base/synchronization/waitable_event.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -64,7 +64,8 @@ TEST_F(KioskModeIdleLogoutTest, DISABLED_CheckObserversBeforeUserLogin) {
TEST_F(KioskModeIdleLogoutTest, DISABLED_CheckObserversAfterUserLogin) {
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_LOGIN_USER_CHANGED,
- content::Source<UserManager>(UserManager::Get()),
+ content::Source<user_manager::UserManager>(
+ user_manager::UserManager::Get()),
// Ideally this should be the user logged in, but since we won't really be
// checking for the current logged in user in our observer anyway, giving
// NoDetails here is fine.
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.cc
index 22a0010..231403e 100644
--- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.cc
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.cc
@@ -11,7 +11,6 @@
#include "base/lazy_instance.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/lifetime/application_lifetime.h"
diff --git a/chrome/browser/chromeos/login/app_launch_controller.cc b/chrome/browser/chromeos/login/app_launch_controller.cc
index 3408b5c..99b7873 100644
--- a/chrome/browser/chromeos/login/app_launch_controller.cc
+++ b/chrome/browser/chromeos/login/app_launch_controller.cc
@@ -31,6 +31,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "net/base/network_change_notifier.h"
@@ -296,7 +297,7 @@ bool AppLaunchController::CanConfigureNetwork() {
return true;
}
- return !UserManager::Get()->GetOwnerEmail().empty();
+ return !user_manager::UserManager::Get()->GetOwnerEmail().empty();
}
bool AppLaunchController::NeedOwnerAuthToConfigureNetwork() {
diff --git a/chrome/browser/chromeos/login/app_launch_signin_screen.cc b/chrome/browser/chromeos/login/app_launch_signin_screen.cc
index ee18fe7..de79951 100644
--- a/chrome/browser/chromeos/login/app_launch_signin_screen.cc
+++ b/chrome/browser/chromeos/login/app_launch_signin_screen.cc
@@ -11,13 +11,14 @@
#include "chrome/browser/signin/screenlock_bridge.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
#include "chrome/grit/generated_resources.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_ui.h"
#include "ui/base/l10n/l10n_util.h"
namespace chromeos {
-UserManager* AppLaunchSigninScreen::test_user_manager_ = NULL;
+user_manager::UserManager* AppLaunchSigninScreen::test_user_manager_ = NULL;
AppLaunchSigninScreen::AppLaunchSigninScreen(
OobeUI* oobe_ui, Delegate* delegate)
@@ -39,7 +40,7 @@ void AppLaunchSigninScreen::Show() {
}
void AppLaunchSigninScreen::InitOwnerUserList() {
- UserManager* user_manager = GetUserManager();
+ user_manager::UserManager* user_manager = GetUserManager();
const std::string& owner_email = user_manager->GetOwnerEmail();
const user_manager::UserList& all_users = user_manager->GetUsers();
@@ -57,12 +58,13 @@ void AppLaunchSigninScreen::InitOwnerUserList() {
// static
void AppLaunchSigninScreen::SetUserManagerForTesting(
- UserManager* user_manager) {
+ user_manager::UserManager* user_manager) {
test_user_manager_ = user_manager;
}
-UserManager* AppLaunchSigninScreen::GetUserManager() {
- return test_user_manager_ ? test_user_manager_ : UserManager::Get();
+user_manager::UserManager* AppLaunchSigninScreen::GetUserManager() {
+ return test_user_manager_ ? test_user_manager_
+ : user_manager::UserManager::Get();
}
void AppLaunchSigninScreen::CancelPasswordChangedFlow() {
diff --git a/chrome/browser/chromeos/login/app_launch_signin_screen.h b/chrome/browser/chromeos/login/app_launch_signin_screen.h
index 665eddd..2fbcf66 100644
--- a/chrome/browser/chromeos/login/app_launch_signin_screen.h
+++ b/chrome/browser/chromeos/login/app_launch_signin_screen.h
@@ -8,12 +8,12 @@
#include <string>
#include "base/memory/ref_counted.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/signin/screenlock_bridge.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
#include "chromeos/login/auth/auth_status_consumer.h"
#include "chromeos/login/auth/authenticator.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
namespace chromeos {
@@ -43,11 +43,11 @@ class AppLaunchSigninScreen : public SigninScreenHandlerDelegate,
void Show();
- static void SetUserManagerForTesting(UserManager* user_manager);
+ static void SetUserManagerForTesting(user_manager::UserManager* user_manager);
private:
void InitOwnerUserList();
- UserManager* GetUserManager();
+ user_manager::UserManager* GetUserManager();
// SigninScreenHandlerDelegate implementation:
virtual void CancelPasswordChangedFlow() OVERRIDE;
@@ -96,7 +96,7 @@ class AppLaunchSigninScreen : public SigninScreenHandlerDelegate,
// This list should have at most one user, and that user should be the owner.
user_manager::UserList owner_user_list_;
- static UserManager* test_user_manager_;
+ static user_manager::UserManager* test_user_manager_;
DISALLOW_COPY_AND_ASSIGN(AppLaunchSigninScreen);
};
diff --git a/chrome/browser/chromeos/login/auth/login_performer.cc b/chrome/browser/chromeos/login/auth/login_performer.cc
index ec9c19f..b093664 100644
--- a/chrome/browser/chromeos/login/auth/login_performer.cc
+++ b/chrome/browser/chromeos/login/auth/login_performer.cc
@@ -18,8 +18,8 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_login_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -29,6 +29,7 @@
#include "chromeos/dbus/session_manager_client.h"
#include "chromeos/login/user_names.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
@@ -219,7 +220,7 @@ void LoginPerformer::LoginAsSupervisedUser(
return;
}
- if (!UserManager::Get()->AreSupervisedUsersAllowed()) {
+ if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) {
LOG(ERROR) << "Login attempt of supervised user detected.";
delegate_->WhiteListCheckFailed(user_context.GetUserID());
return;
@@ -228,11 +229,11 @@ void LoginPerformer::LoginAsSupervisedUser(
SupervisedUserLoginFlow* new_flow =
new SupervisedUserLoginFlow(user_context.GetUserID());
new_flow->set_host(
- UserManager::Get()->GetUserFlow(user_context.GetUserID())->host());
- UserManager::Get()->SetUserFlow(user_context.GetUserID(), new_flow);
+ ChromeUserManager::Get()->GetUserFlow(user_context.GetUserID())->host());
+ ChromeUserManager::Get()->SetUserFlow(user_context.GetUserID(), new_flow);
- SupervisedUserAuthentication* authentication = UserManager::Get()->
- GetSupervisedUserManager()->GetAuthentication();
+ SupervisedUserAuthentication* authentication =
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
UserContext user_context_copy = authentication->TransformKey(user_context);
diff --git a/chrome/browser/chromeos/login/auth/mount_manager.cc b/chrome/browser/chromeos/login/auth/mount_manager.cc
index f0b3479..5ca790c 100644
--- a/chrome/browser/chromeos/login/auth/mount_manager.cc
+++ b/chrome/browser/chromeos/login/auth/mount_manager.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/chromeos/login/auth/mount_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
namespace chromeos {
diff --git a/chrome/browser/chromeos/login/auth/parallel_authenticator.cc b/chrome/browser/chromeos/login/auth/parallel_authenticator.cc
index 66495ed..f9ca2d3 100644
--- a/chrome/browser/chromeos/login/auth/parallel_authenticator.cc
+++ b/chrome/browser/chromeos/login/auth/parallel_authenticator.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/boot_times_loader.h"
#include "chrome/browser/chromeos/login/auth/authentication_notification_details.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
@@ -25,6 +24,7 @@
#include "chromeos/login/auth/user_context.h"
#include "chromeos/login/login_state.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -242,12 +242,13 @@ void ParallelAuthenticator::AuthenticateToLogin(
Profile* profile,
const UserContext& user_context) {
authentication_profile_ = profile;
- current_state_.reset(new AuthAttemptState(
- user_context,
- user_manager::USER_TYPE_REGULAR,
- false, // unlock
- false, // online_complete
- !UserManager::Get()->IsKnownUser(user_context.GetUserID())));
+ current_state_.reset(
+ new AuthAttemptState(user_context,
+ user_manager::USER_TYPE_REGULAR,
+ false, // unlock
+ false, // online_complete
+ !user_manager::UserManager::Get()->IsKnownUser(
+ user_context.GetUserID())));
// Reset the verified flag.
owner_is_verified_ = false;
@@ -261,12 +262,13 @@ void ParallelAuthenticator::AuthenticateToLogin(
void ParallelAuthenticator::CompleteLogin(Profile* profile,
const UserContext& user_context) {
authentication_profile_ = profile;
- current_state_.reset(new AuthAttemptState(
- user_context,
- user_manager::USER_TYPE_REGULAR,
- true, // unlock
- false, // online_complete
- !UserManager::Get()->IsKnownUser(user_context.GetUserID())));
+ current_state_.reset(
+ new AuthAttemptState(user_context,
+ user_manager::USER_TYPE_REGULAR,
+ true, // unlock
+ false, // online_complete
+ !user_manager::UserManager::Get()->IsKnownUser(
+ user_context.GetUserID())));
// Reset the verified flag.
owner_is_verified_ = false;
diff --git a/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc b/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc
index 248defa..8d3b03e 100644
--- a/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc
+++ b/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc
@@ -15,7 +15,7 @@
#include "base/strings/stringprintf.h"
#include "chrome/browser/chromeos/login/auth/mock_url_fetchers.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -35,7 +35,6 @@
#include "chromeos/login/auth/mock_auth_status_consumer.h"
#include "chromeos/login/auth/test_attempt_state.h"
#include "chromeos/login/auth/user_context.h"
-#include "components/user_manager/user.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "crypto/nss_util_internal.h"
#include "crypto/scoped_test_nss_chromeos_user.h"
diff --git a/chrome/browser/chromeos/login/chrome_restart_request.cc b/chrome/browser/chromeos/login/chrome_restart_request.cc
index 9461bd1..c02904b 100644
--- a/chrome/browser/chromeos/login/chrome_restart_request.cc
+++ b/chrome/browser/chromeos/login/chrome_restart_request.cc
@@ -22,7 +22,6 @@
#include "cc/base/switches.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/boot_times_loader.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
diff --git a/chrome/browser/chromeos/login/crash_restore_browsertest.cc b/chrome/browser/chromeos/login/crash_restore_browsertest.cc
index a5fa609..f5ce615 100644
--- a/chrome/browser/chromeos/login/crash_restore_browsertest.cc
+++ b/chrome/browser/chromeos/login/crash_restore_browsertest.cc
@@ -9,7 +9,6 @@
#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/cryptohome_client.h"
@@ -17,6 +16,7 @@
#include "chromeos/dbus/fake_session_manager_client.h"
#include "chromeos/dbus/session_manager_client.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
@@ -59,7 +59,7 @@ class CrashRestoreSimpleTest : public InProcessBrowserTest {
};
IN_PROC_BROWSER_TEST_F(CrashRestoreSimpleTest, RestoreSessionForOneUser) {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_manager::User* user = user_manager->GetActiveUser();
ASSERT_TRUE(user);
EXPECT_EQ(kUserId1, user->email());
@@ -132,7 +132,7 @@ IN_PROC_BROWSER_TEST_F(CrashRestoreComplexTest, RestoreSessionForThreeUsers) {
// User that is last in the user sessions map becomes active. This behavior
// will become better defined once each user gets a separate user desktop.
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_manager::User* user = user_manager->GetActiveUser();
ASSERT_TRUE(user);
EXPECT_EQ(kUserId3, user->email());
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc b/chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc
index 9e87fb5..466638f 100644
--- a/chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc
+++ b/chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/chromeos/app_mode/app_session_lifetime.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/component_loader.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/lifetime/application_lifetime.h"
@@ -21,6 +20,7 @@
#include "chrome/grit/browser_resources.h"
#include "chromeos/network/network_handler.h"
#include "chromeos/network/network_state_handler.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "ui/base/window_open_disposition.h"
@@ -96,7 +96,7 @@ void DemoAppLauncher::OnProfileLoaded(Profile* profile) {
profile, extension, extensions::LAUNCH_CONTAINER_WINDOW, NEW_WINDOW));
InitAppSession(profile, extension_id);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
LoginDisplayHostImpl::default_host()->Finalize();
}
diff --git a/chrome/browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc b/chrome/browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc
index 35f988b..c65f0cf 100644
--- a/chrome/browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc
+++ b/chrome/browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
#include "chrome/browser/chromeos/login/test/app_window_waiter.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -19,6 +18,7 @@
#include "chromeos/chromeos_switches.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_source.h"
#include "content/public/test/test_utils.h"
@@ -35,7 +35,7 @@ base::FilePath GetTestDemoAppPath() {
}
Profile* WaitForProfile() {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (!user_manager || !user_manager->IsUserLoggedIn()) {
content::WindowedNotificationObserver(
chrome::NOTIFICATION_SESSION_STARTED,
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index ff25f97..0030ed7 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -33,7 +33,8 @@
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
@@ -60,6 +61,7 @@
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_service.h"
#include "components/policy/core/common/policy_types.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -211,7 +213,7 @@ void ExistingUserController::UpdateLoginDisplay(
// TODO(xiyuan): Clean user profile whose email is not in whitelist.
bool meets_supervised_requirements =
(*it)->GetType() != user_manager::USER_TYPE_SUPERVISED ||
- UserManager::Get()->AreSupervisedUsersAllowed();
+ user_manager::UserManager::Get()->AreSupervisedUsersAllowed();
bool meets_whitelist_requirements =
LoginUtils::IsWhitelisted((*it)->email(), NULL) ||
(*it)->GetType() != user_manager::USER_TYPE_REGULAR;
@@ -444,8 +446,8 @@ void ExistingUserController::Login(const UserContext& user_context,
void ExistingUserController::PerformLogin(
const UserContext& user_context,
LoginPerformer::AuthorizationMode auth_mode) {
- UserManager::Get()->GetUserFlow(last_login_attempt_username_)->
- set_host(host_);
+ ChromeUserManager::Get()->GetUserFlow(last_login_attempt_username_)->set_host(
+ host_);
BootTimesLoader::Get()->RecordLoginAttempted();
@@ -490,8 +492,10 @@ void ExistingUserController::LoginAsRetailModeUser() {
}
void ExistingUserController::LoginAsGuest() {
- if (is_login_in_progress_ || UserManager::Get()->IsUserLoggedIn())
+ if (is_login_in_progress_ ||
+ user_manager::UserManager::Get()->IsUserLoggedIn()) {
return;
+ }
// Stop the auto-login timer when attempting login.
StopPublicSessionAutoLoginTimer();
@@ -550,8 +554,10 @@ void ExistingUserController::MigrateUserData(const std::string& old_password) {
void ExistingUserController::LoginAsPublicSession(
const UserContext& user_context) {
- if (is_login_in_progress_ || UserManager::Get()->IsUserLoggedIn())
+ if (is_login_in_progress_ ||
+ user_manager::UserManager::Get()->IsUserLoggedIn()) {
return;
+ }
// Stop the auto-login timer when attempting login.
StopPublicSessionAutoLoginTimer();
@@ -582,7 +588,7 @@ void ExistingUserController::LoginAsPublicSession(
// If there is no public account with the given user ID, logging in is not
// possible.
const user_manager::User* user =
- UserManager::Get()->FindUser(user_context.GetUserID());
+ user_manager::UserManager::Get()->FindUser(user_context.GetUserID());
if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) {
// Re-enable clicking on other windows.
login_display_->SetUIEnabled(true);
@@ -767,8 +773,9 @@ void ExistingUserController::OnAuthFailure(const AuthFailure& failure) {
guest_mode_url_ = GURL::EmptyGURL();
std::string error = failure.GetErrorString();
- if (UserManager::Get()->GetUserFlow(last_login_attempt_username_)->
- HandleLoginFailure(failure)) {
+ if (ChromeUserManager::Get()
+ ->GetUserFlow(last_login_attempt_username_)
+ ->HandleLoginFailure(failure)) {
login_display_->SetUIEnabled(true);
return;
}
@@ -788,8 +795,8 @@ void ExistingUserController::OnAuthFailure(const AuthFailure& failure) {
} else {
// Check networking after trying to login in case user is
// cached locally or the local admin account.
- bool is_known_user =
- UserManager::Get()->IsKnownUser(last_login_attempt_username_);
+ bool is_known_user = user_manager::UserManager::Get()->IsKnownUser(
+ last_login_attempt_username_);
if (!network_state_helper_->IsConnected()) {
if (is_known_user)
ShowError(IDS_LOGIN_ERROR_AUTHENTICATING, error);
@@ -816,7 +823,7 @@ void ExistingUserController::OnAuthFailure(const AuthFailure& failure) {
// Reset user flow to default, so that special flow will not affect next
// attempt.
- UserManager::Get()->ResetUserFlow(last_login_attempt_username_);
+ ChromeUserManager::Get()->ResetUserFlow(last_login_attempt_username_);
if (auth_status_consumer_)
auth_status_consumer_->OnAuthFailure(failure);
@@ -835,8 +842,9 @@ void ExistingUserController::OnAuthSuccess(const UserContext& user_context) {
password_changed_ = login_performer_->password_changed();
auth_mode_ = login_performer_->auth_mode();
- UserManager::Get()->GetUserFlow(user_context.GetUserID())->
- HandleLoginSuccess(user_context);
+ ChromeUserManager::Get()
+ ->GetUserFlow(user_context.GetUserID())
+ ->HandleLoginSuccess(user_context);
StopPublicSessionAutoLoginTimer();
@@ -854,8 +862,8 @@ void ExistingUserController::OnAuthSuccess(const UserContext& user_context) {
// Update user's displayed email.
if (!display_email_.empty()) {
- UserManager::Get()->SaveUserDisplayEmail(user_context.GetUserID(),
- display_email_);
+ user_manager::UserManager::Get()->SaveUserDisplayEmail(
+ user_context.GetUserID(), display_email_);
display_email_.clear();
}
@@ -870,7 +878,7 @@ void ExistingUserController::OnProfilePrepared(Profile* profile) {
// Reenable clicking on other windows and status area.
login_display_->SetUIEnabled(true);
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager->IsCurrentUserNew() &&
user_manager->IsLoggedInAsSupervisedUser()) {
// Supervised users should launch into empty desktop on first run.
@@ -878,7 +886,9 @@ void ExistingUserController::OnProfilePrepared(Profile* profile) {
}
if (user_manager->IsCurrentUserNew() &&
- !user_manager->GetCurrentUserFlow()->ShouldSkipPostLoginScreens() &&
+ !ChromeUserManager::Get()
+ ->GetCurrentUserFlow()
+ ->ShouldSkipPostLoginScreens() &&
!WizardController::default_controller()->skip_post_login_screens()) {
// Don't specify start URLs if the administrator has configured the start
// URLs via policy.
@@ -933,8 +943,9 @@ void ExistingUserController::OnPasswordChangeDetected() {
return;
}
- if (UserManager::Get()->GetUserFlow(last_login_attempt_username_)->
- HandlePasswordChangeDetected()) {
+ if (ChromeUserManager::Get()
+ ->GetUserFlow(last_login_attempt_username_)
+ ->HandlePasswordChangeDetected()) {
return;
}
@@ -1005,7 +1016,7 @@ void ExistingUserController::OnOnlineChecked(const std::string& username,
void ExistingUserController::DeviceSettingsChanged() {
if (host_ != NULL) {
// Signed settings or user list changed. Notify views and update them.
- UpdateLoginDisplay(chromeos::UserManager::Get()->GetUsers());
+ UpdateLoginDisplay(user_manager::UserManager::Get()->GetUsers());
ConfigurePublicSessionAutoLogin();
return;
}
@@ -1047,8 +1058,8 @@ void ExistingUserController::ConfigurePublicSessionAutoLogin() {
}
}
- const user_manager::User* user =
- UserManager::Get()->FindUser(public_session_auto_login_username_);
+ const user_manager::User* user = user_manager::UserManager::Get()->FindUser(
+ public_session_auto_login_username_);
if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
public_session_auto_login_username_.clear();
@@ -1114,7 +1125,7 @@ void ExistingUserController::InitializeStartUrls() const {
std::vector<std::string> start_urls;
const base::ListValue *urls;
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
bool can_show_getstarted_guide =
user_manager->GetActiveUser()->GetType() ==
user_manager::USER_TYPE_REGULAR &&
@@ -1189,7 +1200,8 @@ void ExistingUserController::ShowError(int error_id,
if (error_id == IDS_LOGIN_ERROR_AUTHENTICATING) {
if (num_login_attempts_ > 1) {
const user_manager::User* user =
- UserManager::Get()->FindUser(last_login_attempt_username_);
+ user_manager::UserManager::Get()->FindUser(
+ last_login_attempt_username_);
if (user && (user->GetType() == user_manager::USER_TYPE_SUPERVISED))
error_id = IDS_LOGIN_ERROR_AUTHENTICATING_2ND_TIME_SUPERVISED;
}
@@ -1202,7 +1214,7 @@ void ExistingUserController::ShowGaiaPasswordChanged(
const std::string& username) {
// Invalidate OAuth token, since it can't be correct after password is
// changed.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
username, user_manager::User::OAUTH2_TOKEN_STATUS_INVALID);
login_display_->SetUIEnabled(true);
diff --git a/chrome/browser/chromeos/login/existing_user_controller_auto_login_unittest.cc b/chrome/browser/chromeos/login/existing_user_controller_auto_login_unittest.cc
index 772d82f..50a3553 100644
--- a/chrome/browser/chromeos/login/existing_user_controller_auto_login_unittest.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller_auto_login_unittest.cc
@@ -11,7 +11,7 @@
#include "chrome/browser/chromeos/login/ui/mock_login_display.h"
#include "chrome/browser/chromeos/login/ui/mock_login_display_host.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
diff --git a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc
index 247b27e..0464c0d 100644
--- a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc
@@ -19,7 +19,7 @@
#include "chrome/browser/chromeos/login/ui/mock_login_display.h"
#include "chrome/browser/chromeos/login/ui/mock_login_display_host.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
@@ -43,6 +43,7 @@
#include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
#include "components/policy/core/common/cloud/policy_builder.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/test/mock_notification_observer.h"
#include "content/public/test/test_utils.h"
@@ -350,11 +351,12 @@ class ExistingUserControllerPublicSessionTest
ExistingUserControllerTest::SetUpOnMainThread();
// Wait for the public session user to be created.
- if (!chromeos::UserManager::Get()->IsKnownUser(public_session_user_id_)) {
+ if (!user_manager::UserManager::Get()->IsKnownUser(
+ public_session_user_id_)) {
content::WindowedNotificationObserver(
chrome::NOTIFICATION_USER_LIST_CHANGED,
- base::Bind(&chromeos::UserManager::IsKnownUser,
- base::Unretained(chromeos::UserManager::Get()),
+ base::Bind(&user_manager::UserManager::IsKnownUser,
+ base::Unretained(user_manager::UserManager::Get()),
public_session_user_id_)).Wait();
}
diff --git a/chrome/browser/chromeos/login/fake_login_utils.cc b/chrome/browser/chromeos/login/fake_login_utils.cc
index 085d852..aa3c889 100644
--- a/chrome/browser/chromeos/login/fake_login_utils.cc
+++ b/chrome/browser/chromeos/login/fake_login_utils.cc
@@ -10,8 +10,8 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/first_run/first_run.h"
#include "chrome/browser/profiles/profile.h"
@@ -21,6 +21,7 @@
#include "chromeos/login/auth/mock_authenticator.h"
#include "chromeos/login/auth/user_context.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -37,9 +38,8 @@ void FakeLoginUtils::RespectLocalePreference(Profile*,
void FakeLoginUtils::DoBrowserLaunch(Profile* profile,
LoginDisplayHost* login_host) {
-
- if (!UserManager::Get()->GetCurrentUserFlow()->ShouldLaunchBrowser()) {
- UserManager::Get()->GetCurrentUserFlow()->LaunchExtraSteps(profile);
+ if (!ChromeUserManager::Get()->GetCurrentUserFlow()->ShouldLaunchBrowser()) {
+ ChromeUserManager::Get()->GetCurrentUserFlow()->LaunchExtraSteps(profile);
return;
}
login_host->BeforeSessionStart();
@@ -58,17 +58,18 @@ void FakeLoginUtils::DoBrowserLaunch(Profile* profile,
}
if (login_host)
login_host->Finalize();
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
}
void FakeLoginUtils::PrepareProfile(const UserContext& user_context,
bool has_cookies,
bool has_active_session,
LoginUtils::Delegate* delegate) {
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
user_context.GetUserID(), user_context.GetUserIDHash(), false);
user_manager::User* user =
- UserManager::Get()->FindUserAndModify(user_context.GetUserID());
+ user_manager::UserManager::Get()->FindUserAndModify(
+ user_context.GetUserID());
DCHECK(user);
// Make sure that we get the real Profile instead of the login Profile.
@@ -77,11 +78,12 @@ void FakeLoginUtils::PrepareProfile(const UserContext& user_context,
profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
user_context.GetUserID());
- if (UserManager::Get()->IsLoggedInAsSupervisedUser()) {
- user_manager::User* active_user = UserManager::Get()->GetActiveUser();
+ if (user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
+ user_manager::User* active_user =
+ user_manager::UserManager::Get()->GetActiveUser();
std::string supervised_user_sync_id =
- UserManager::Get()->GetSupervisedUserManager()->
- GetUserSyncId(active_user->email());
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ active_user->email());
if (supervised_user_sync_id.empty())
supervised_user_sync_id = "DUMMY ID";
profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc
index f76d3c6..45aafe1 100644
--- a/chrome/browser/chromeos/login/helper.cc
+++ b/chrome/browser/chromeos/login/helper.cc
@@ -7,7 +7,6 @@
#include "ash/shell.h"
#include "base/command_line.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/grit/theme_resources.h"
#include "chromeos/chromeos_switches.h"
diff --git a/chrome/browser/chromeos/login/kiosk_browsertest.cc b/chrome/browser/chromeos/login/kiosk_browsertest.cc
index b7cb0430..e67f238 100644
--- a/chrome/browser/chromeos/login/kiosk_browsertest.cc
+++ b/chrome/browser/chromeos/login/kiosk_browsertest.cc
@@ -25,6 +25,7 @@
#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
diff --git a/chrome/browser/chromeos/login/lock/screen_locker.cc b/chrome/browser/chromeos/login/lock/screen_locker.cc
index fe389eb..3dd1dc8 100644
--- a/chrome/browser/chromeos/login/lock/screen_locker.cc
+++ b/chrome/browser/chromeos/login/lock/screen_locker.cc
@@ -30,8 +30,8 @@
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/browser/ui/webui/chromeos/login/screenlock_icon_provider.h"
@@ -45,6 +45,7 @@
#include "chromeos/login/auth/authenticator.h"
#include "chromeos/login/auth/extended_authenticator.h"
#include "components/signin/core/browser/signin_manager.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -202,10 +203,11 @@ void ScreenLocker::OnAuthSuccess(const UserContext& user_context) {
}
const user_manager::User* user =
- UserManager::Get()->FindUser(user_context.GetUserID());
+ user_manager::UserManager::Get()->FindUser(user_context.GetUserID());
if (user) {
if (!user->is_active())
- UserManager::Get()->SwitchActiveUser(user_context.GetUserID());
+ user_manager::UserManager::Get()->SwitchActiveUser(
+ user_context.GetUserID());
} else {
NOTREACHED() << "Logged in user not found.";
}
@@ -253,7 +255,7 @@ void ScreenLocker::Authenticate(const UserContext& user_context) {
if (const user_manager::User* user =
FindUnlockUser(user_context.GetUserID())) {
if (user->GetType() == user_manager::USER_TYPE_SUPERVISED) {
- UserContext updated_context = UserManager::Get()
+ UserContext updated_context = ChromeUserManager::Get()
->GetSupervisedUserManager()
->GetAuthentication()
->TransformKey(user_context);
@@ -348,7 +350,7 @@ void ScreenLocker::HandleLockScreenRequest() {
return;
}
if (g_screen_lock_observer->session_started() &&
- UserManager::Get()->CanCurrentUserLock()) {
+ user_manager::UserManager::Get()->CanCurrentUserLock()) {
ScreenLocker::Show();
ash::Shell::GetInstance()->lock_state_controller()->OnStartingLock();
} else {
@@ -370,8 +372,8 @@ void ScreenLocker::Show() {
// Check whether the currently logged in user is a guest account and if so,
// refuse to lock the screen (crosbug.com/23764).
// For a demo user, we should never show the lock screen (crosbug.com/27647).
- if (UserManager::Get()->IsLoggedInAsGuest() ||
- UserManager::Get()->IsLoggedInAsDemoUser()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest() ||
+ user_manager::UserManager::Get()->IsLoggedInAsDemoUser()) {
VLOG(1) << "Refusing to lock screen for guest/demo account";
return;
}
@@ -390,7 +392,7 @@ void ScreenLocker::Show() {
if (!screen_locker_) {
ScreenLocker* locker =
- new ScreenLocker(UserManager::Get()->GetUnlockUsers());
+ new ScreenLocker(user_manager::UserManager::Get()->GetUnlockUsers());
VLOG(1) << "Created ScreenLocker " << locker;
locker->Init();
} else {
@@ -405,8 +407,8 @@ void ScreenLocker::Show() {
void ScreenLocker::Hide() {
DCHECK(base::MessageLoopForUI::IsCurrent());
// For a guest/demo user, screen_locker_ would have never been initialized.
- if (UserManager::Get()->IsLoggedInAsGuest() ||
- UserManager::Get()->IsLoggedInAsDemoUser()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest() ||
+ user_manager::UserManager::Get()->IsLoggedInAsDemoUser()) {
VLOG(1) << "Refusing to hide lock screen for guest/demo account";
return;
}
diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
index 628bb72..d0876ee 100644
--- a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
+++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/ui/webui_login_display.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/browser/chromeos/login/login_manager_test.cc b/chrome/browser/chromeos/login/login_manager_test.cc
index 6d5445a..40a5836 100644
--- a/chrome/browser/chromeos/login/login_manager_test.cc
+++ b/chrome/browser/chromeos/login/login_manager_test.cc
@@ -10,11 +10,11 @@
#include "chrome/browser/chromeos/login/existing_user_controller.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/auth/key.h"
#include "chromeos/login/auth/user_context.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
@@ -68,7 +68,7 @@ bool LoginManagerTest::TryToLogin(const UserContext& user_context) {
if (!AddUserToSession(user_context))
return false;
if (const user_manager::User* active_user =
- UserManager::Get()->GetActiveUser())
+ user_manager::UserManager::Get()->GetActiveUser())
return active_user->email() == user_context.GetUserID();
return false;
}
@@ -85,7 +85,7 @@ bool LoginManagerTest::AddUserToSession(const UserContext& user_context) {
chrome::NOTIFICATION_SESSION_STARTED,
content::NotificationService::AllSources()).Wait();
const user_manager::UserList& logged_users =
- UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_users.begin();
it != logged_users.end();
++it) {
diff --git a/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc b/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
index 9743499..d5a4f1f 100644
--- a/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
+++ b/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
@@ -4,12 +4,12 @@
#include "base/command_line.h"
#include "base/memory/ref_counted.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -31,7 +31,7 @@ class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
};
IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, DisableSupervisedUsers) {
- EXPECT_FALSE(chromeos::UserManager::Get()->AreSupervisedUsersAllowed());
+ EXPECT_FALSE(user_manager::UserManager::Get()->AreSupervisedUsersAllowed());
scoped_refptr<content::MessageLoopRunner> runner(
new content::MessageLoopRunner);
@@ -46,7 +46,7 @@ IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, DisableSupervisedUsers) {
runner->Run();
- EXPECT_TRUE(chromeos::UserManager::Get()->AreSupervisedUsersAllowed());
+ EXPECT_TRUE(user_manager::UserManager::Get()->AreSupervisedUsersAllowed());
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc
index 5ed36b9..37566ae 100644
--- a/chrome/browser/chromeos/login/login_utils.cc
+++ b/chrome/browser/chromeos/login/login_utils.cc
@@ -50,8 +50,9 @@
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/input_events_blocker.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -80,6 +81,7 @@
#include "chromeos/settings/cros_settings_names.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "google_apis/gaia/gaia_auth_consumer.h"
@@ -106,11 +108,11 @@ CommandLine CreatePerSessionCommandLine(Profile* profile) {
// Returns true if restart is needed to apply per-session flags.
bool NeedRestartToApplyPerSessionFlags(const CommandLine& user_flags) {
// Don't restart browser if it is not first profile in session.
- if (UserManager::Get()->GetLoggedInUsers().size() != 1)
+ if (user_manager::UserManager::Get()->GetLoggedInUsers().size() != 1)
return false;
// Only restart if needed and if not going into managed mode.
- if (UserManager::Get()->IsLoggedInAsSupervisedUser())
+ if (user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser())
return false;
if (about_flags::AreSwitchesIdenticalToCurrentCommandLine(
@@ -247,8 +249,8 @@ void LoginUtilsImpl::DoBrowserLaunchInternal(Profile* profile,
return;
}
- if (!UserManager::Get()->GetCurrentUserFlow()->ShouldLaunchBrowser()) {
- UserManager::Get()->GetCurrentUserFlow()->LaunchExtraSteps(profile);
+ if (!ChromeUserManager::Get()->GetCurrentUserFlow()->ShouldLaunchBrowser()) {
+ ChromeUserManager::Get()->GetCurrentUserFlow()->LaunchExtraSteps(profile);
return;
}
@@ -284,9 +286,9 @@ void LoginUtilsImpl::DoBrowserLaunchInternal(Profile* profile,
// browser before it is dereferenced by the login host.
if (login_host)
login_host->Finalize();
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
chromeos::BootTimesLoader::Get()->LoginDone(
- chromeos::UserManager::Get()->IsCurrentUserNew());
+ user_manager::UserManager::Get()->IsCurrentUserNew());
}
// static
@@ -365,7 +367,7 @@ bool LoginUtilsImpl::RestartToApplyPerSessionFlagsIfNeed(Profile* profile,
flags.assign(user_flags.argv().begin() + 1, user_flags.argv().end());
VLOG(1) << "Restarting to apply per-session flags...";
DBusThreadManager::Get()->GetSessionManagerClient()->SetFlagsForUser(
- UserManager::Get()->GetActiveUser()->email(), flags);
+ user_manager::UserManager::Get()->GetActiveUser()->email(), flags);
AttemptRestart(profile);
return true;
}
diff --git a/chrome/browser/chromeos/login/saml/saml_browsertest.cc b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
index be4baca..9d2de95b 100644
--- a/chrome/browser/chromeos/login/saml/saml_browsertest.cc
+++ b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
@@ -24,7 +24,6 @@
#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/webui_login_display.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/device_policy_builder.h"
#include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
@@ -49,6 +48,7 @@
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
@@ -580,7 +580,8 @@ IN_PROC_BROWSER_TEST_F(SamlTest, UseAutenticatedUserEmailAddress) {
content::WindowedNotificationObserver(
chrome::NOTIFICATION_SESSION_STARTED,
content::NotificationService::AllSources()).Wait();
- const user_manager::User* user = UserManager::Get()->GetActiveUser();
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetActiveUser();
ASSERT_TRUE(user);
EXPECT_EQ(kFirstSAMLUserEmail, user->email());
}
@@ -737,11 +738,11 @@ void SAMLPolicyTest::SetUpOnMainThread() {
SamlTest::SetUpOnMainThread();
// Pretend that the test users' OAuth tokens are valid.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
kFirstSAMLUserEmail, user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
kNonSAMLUserEmail, user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
kDifferentDomainSAMLUserEmail,
user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
}
@@ -818,7 +819,7 @@ std::string SAMLPolicyTest::GetCookieValue(const std::string& name) {
void SAMLPolicyTest::GetCookies() {
Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(
- UserManager::Get()->GetActiveUser());
+ user_manager::UserManager::Get()->GetActiveUser());
ASSERT_TRUE(profile);
base::RunLoop run_loop;
content::BrowserThread::PostTask(
diff --git a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc
index 8922981..42321e3 100644
--- a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc
+++ b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc
@@ -13,12 +13,12 @@
#include "base/prefs/pref_service.h"
#include "base/time/clock.h"
#include "base/time/time.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
namespace chromeos {
@@ -56,7 +56,7 @@ void SAMLOfflineSigninLimiter::SignedIn(UserContext::AuthFlow auth_flow) {
// a SAML IdP. No limit applies in this case. Clear the time of last login
// with SAML and the flag enforcing online login, then return.
prefs->ClearPref(prefs::kSAMLLastGAIASignInTime);
- UserManager::Get()->SaveForceOnlineSignin(user_id, false);
+ user_manager::UserManager::Get()->SaveForceOnlineSignin(user_id, false);
return;
}
@@ -66,7 +66,7 @@ void SAMLOfflineSigninLimiter::SignedIn(UserContext::AuthFlow auth_flow) {
// enforcing online login. The flag will be set again when the limit
// expires. If the limit already expired (e.g. because it was set to zero),
// the flag will be set again immediately.
- UserManager::Get()->SaveForceOnlineSignin(user_id, false);
+ user_manager::UserManager::Get()->SaveForceOnlineSignin(user_id, false);
prefs->SetInt64(prefs::kSAMLLastGAIASignInTime,
clock_->Now().ToInternalValue());
}
@@ -147,7 +147,7 @@ void SAMLOfflineSigninLimiter::ForceOnlineLogin() {
return;
}
- UserManager::Get()->SaveForceOnlineSignin(user->email(), true);
+ user_manager::UserManager::Get()->SaveForceOnlineSignin(user->email(), true);
offline_signin_limit_timer_.reset();
}
diff --git a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
index eefb3d9..0828fdc 100644
--- a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
+++ b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
@@ -12,7 +12,7 @@
#include "base/time/clock.h"
#include "chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_factory.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
diff --git a/chrome/browser/chromeos/login/screens/chrome_user_selection_screen.cc b/chrome/browser/chromeos/login/screens/chrome_user_selection_screen.cc
index 00332b4..4eecbd9 100644
--- a/chrome/browser/chromeos/login/screens/chrome_user_selection_screen.cc
+++ b/chrome/browser/chromeos/login/screens/chrome_user_selection_screen.cc
@@ -13,7 +13,6 @@
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
@@ -22,6 +21,7 @@
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "policy/policy_constants.h"
@@ -152,7 +152,8 @@ void ChromeUserSelectionScreen::CheckForPublicSessionLocalePolicyChange(
void ChromeUserSelectionScreen::SetPublicSessionDisplayName(
const std::string& user_id) {
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
return;
diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.cc b/chrome/browser/chromeos/login/screens/user_image_screen.cc
index b1f3391..bd709db 100644
--- a/chrome/browser/chromeos/login/screens/user_image_screen.cc
+++ b/chrome/browser/chromeos/login/screens/user_image_screen.cc
@@ -21,7 +21,7 @@
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/screens/screen_observer.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/policy/profile_policy_connector.h"
@@ -34,6 +34,7 @@
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/default_user_images.h"
#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "policy/policy_constants.h"
@@ -219,11 +220,11 @@ void UserImageScreen::PrepareToShow() {
}
const user_manager::User* UserImageScreen::GetUser() {
- return UserManager::Get()->GetLoggedInUser();
+ return user_manager::UserManager::Get()->GetLoggedInUser();
}
UserImageManager* UserImageScreen::GetUserImageManager() {
- return UserManager::Get()->GetUserImageManager(GetUser()->email());
+ return ChromeUserManager::Get()->GetUserImageManager(GetUser()->email());
}
UserImageSyncObserver* UserImageScreen::GetSyncObserver() {
diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.h b/chrome/browser/chromeos/login/screens/user_image_screen.h
index 506901e..5783e29 100644
--- a/chrome/browser/chromeos/login/screens/user_image_screen.h
+++ b/chrome/browser/chromeos/login/screens/user_image_screen.h
@@ -27,6 +27,8 @@ class PolicyChangeRegistrar;
namespace chromeos {
+class UserImageManager;
+
class UserImageScreen: public WizardScreen,
public UserImageScreenActor::Delegate,
public ImageDecoder::Delegate,
diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.cc b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
index 78a296e..41c3024 100644
--- a/chrome/browser/chromeos/login/screens/user_selection_screen.cc
+++ b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
@@ -14,13 +14,14 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/signin/screenlock_bridge.h"
#include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
#include "chrome/common/pref_names.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "ui/wm/core/user_activity_detector.h"
@@ -136,7 +137,7 @@ void UserSelectionScreen::FillUserDictionary(
// Fill in multi-profiles related fields.
if (is_signin_to_add) {
MultiProfileUserController* multi_profile_user_controller =
- UserManager::Get()->GetMultiProfileUserController();
+ ChromeUserManager::Get()->GetMultiProfileUserController();
MultiProfileUserController::UserAllowedInSessionReason isUserAllowedReason;
bool isUserAllowed = multi_profile_user_controller->IsUserAllowedInSession(
user_id, &isUserAllowedReason);
@@ -299,7 +300,7 @@ void UserSelectionScreen::SendUserList() {
// http://crbug.com/230852
bool single_user = users.size() == 1;
bool is_signin_to_add = LoginDisplayHostImpl::default_host() &&
- UserManager::Get()->IsUserLoggedIn();
+ user_manager::UserManager::Get()->IsUserLoggedIn();
std::string owner;
chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner);
diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.cc b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
index 73f1720..d4077b6 100644
--- a/chrome/browser/chromeos/login/session/chrome_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/chromeos/login/session/login_oobe_session_manager_delegate.h"
#include "chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.h"
#include "chrome/browser/chromeos/login/session/stub_login_session_manager_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/user_names.h"
diff --git a/chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc b/chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc
index 31c6513..1b43698 100644
--- a/chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc
+++ b/chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc
@@ -7,11 +7,11 @@
#include "base/command_line.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/audio/cras_audio_handler.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
namespace chromeos {
@@ -48,7 +48,7 @@ void RestoreAfterCrashSessionManagerDelegate::Start() {
content::Details<Profile>(profile()));
// This call will set session state to SESSION_STATE_ACTIVE (same one).
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Now is the good time to retrieve other logged in users for this session.
// First user has been already marked as logged in and active in
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc
index d9eb16d..1a654b5 100644
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -31,8 +31,8 @@
#include "chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_factory.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -64,6 +64,7 @@
#include "components/session_manager/core/session_manager.h"
#include "components/signin/core/browser/signin_manager_base.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -190,7 +191,7 @@ void UserSessionManager::OverrideHomedir() {
// Override user homedir, check for ProfileManager being initialized as
// it may not exist in unit tests.
if (g_browser_process->profile_manager()) {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager->GetLoggedInUsers().size() == 1) {
base::FilePath homedir = ProfileHelper::GetProfilePathByUserIdHash(
user_manager->GetPrimaryUser()->username_hash());
@@ -248,7 +249,7 @@ void UserSessionManager::StartSession(
}
void UserSessionManager::PerformPostUserLoggedInActions() {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager->GetLoggedInUsers().size() == 1) {
// Owner must be first user in session. DeviceSettingsService can't deal
// with multiple user and will mix up ownership, crbug.com/230018.
@@ -263,7 +264,7 @@ void UserSessionManager::PerformPostUserLoggedInActions() {
}
void UserSessionManager::RestoreAuthenticationSession(Profile* user_profile) {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// We need to restore session only for logged in regular (GAIA) users.
// Note: stub user is a special case that is used for tests, running
// linux_chromeos build on dev workstations w/o user_id parameters.
@@ -366,7 +367,7 @@ bool UserSessionManager::RespectLocalePreference(
if (g_browser_process == NULL)
return false;
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (!user || (user_manager->IsUserLoggedIn() &&
user != user_manager->GetPrimaryUser())) {
return false;
@@ -426,7 +427,8 @@ bool UserSessionManager::RespectLocalePreference(
//
// For Guest mode, user locale preferences will never get initialized.
// So input methods should be enabled somewhere.
- const bool enable_layouts = UserManager::Get()->IsLoggedInAsGuest();
+ const bool enable_layouts =
+ user_manager::UserManager::Get()->IsLoggedInAsGuest();
locale_util::SwitchLanguage(pref_locale,
enable_layouts,
false /* login_layouts_only */,
@@ -476,8 +478,8 @@ void UserSessionManager::OnSessionRestoreStateChanged(
// error. http://crbug.com/295245
if (!connection_error) {
// We are in one of "done" states here.
- UserManager::Get()->SaveUserOAuthStatus(
- UserManager::Get()->GetLoggedInUser()->email(),
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->GetLoggedInUser()->email(),
user_status);
}
@@ -494,8 +496,8 @@ void UserSessionManager::OnNewRefreshTokenAvaiable(Profile* user_profile) {
login_manager->RemoveObserver(this);
// Mark user auth token status as valid.
- UserManager::Get()->SaveUserOAuthStatus(
- UserManager::Get()->GetLoggedInUser()->email(),
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->GetLoggedInUser()->email(),
user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
VLOG(1) << "Exiting after new refresh token fetched";
@@ -511,7 +513,7 @@ void UserSessionManager::OnConnectionTypeChanged(
base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kTestName) ||
base::CommandLine::ForCurrentProcess()->HasSwitch(::switches::kTestType);
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (type == net::NetworkChangeNotifier::CONNECTION_NONE ||
!user_manager->IsUserLoggedIn() ||
!user_manager->IsLoggedInAsRegularUser() ||
@@ -585,7 +587,7 @@ void UserSessionManager::StartCrosSession() {
void UserSessionManager::NotifyUserLoggedIn() {
BootTimesLoader* btl = BootTimesLoader::Get();
btl->AddLoginTimeMarker("UserLoggedIn-Start", false);
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_manager->UserLoggedIn(user_context_.GetUserID(),
user_context_.GetUserIDHash(),
false);
@@ -640,20 +642,21 @@ void UserSessionManager::OnProfileCreated(const UserContext& user_context,
void UserSessionManager::InitProfilePreferences(
Profile* profile,
const UserContext& user_context) {
- if (UserManager::Get()->IsCurrentUserNew()) {
+ if (user_manager::UserManager::Get()->IsCurrentUserNew()) {
SetFirstLoginPrefs(profile->GetPrefs(),
user_context.GetPublicSessionLocale(),
user_context.GetPublicSessionInputMethod());
}
- if (UserManager::Get()->IsLoggedInAsSupervisedUser()) {
- user_manager::User* active_user = UserManager::Get()->GetActiveUser();
+ if (user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
+ user_manager::User* active_user =
+ user_manager::UserManager::Get()->GetActiveUser();
std::string supervised_user_sync_id =
- UserManager::Get()->GetSupervisedUserManager()->
- GetUserSyncId(active_user->email());
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ active_user->email());
profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
supervised_user_sync_id);
- } else if (UserManager::Get()->IsLoggedInAsRegularUser()) {
+ } else if (user_manager::UserManager::Get()->IsLoggedInAsRegularUser()) {
// Make sure that the google service username is properly set (we do this
// on every sign in, not just the first login, to deal with existing
// profiles that might not have it set yet).
@@ -743,7 +746,7 @@ void UserSessionManager::FinalizePrepareProfile(Profile* profile) {
}
btl->AddLoginTimeMarker("TPMOwn-End", false);
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager->IsLoggedInAsRegularUser()) {
SAMLOfflineSigninLimiter* saml_offline_signin_limiter =
SAMLOfflineSigninLimiterFactory::GetForProfile(profile);
@@ -867,8 +870,10 @@ void UserSessionManager::InitRlzImpl(Profile* profile, bool disabled) {
// Negative ping delay means to send ping immediately after a first search is
// recorded.
RLZTracker::InitRlzFromProfileDelayed(
- profile, UserManager::Get()->IsCurrentUserNew(),
- ping_delay < 0, base::TimeDelta::FromMilliseconds(abs(ping_delay)));
+ profile,
+ user_manager::UserManager::Get()->IsCurrentUserNew(),
+ ping_delay < 0,
+ base::TimeDelta::FromMilliseconds(abs(ping_delay)));
if (delegate_)
delegate_->OnRlzInitialized();
#endif
@@ -909,7 +914,7 @@ void UserSessionManager::OnRestoreActiveSessions(
}
// One profile has been already loaded on browser start.
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
DCHECK(user_manager->GetLoggedInUsers().size() == 1);
DCHECK(user_manager->GetActiveUser());
std::string active_user_id = user_manager->GetActiveUser()->email();
@@ -940,7 +945,7 @@ void UserSessionManager::RestorePendingUserSessions() {
// Check that this user is not logged in yet.
user_manager::UserList logged_in_users =
- UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
bool user_already_logged_in = false;
for (user_manager::UserList::const_iterator it = logged_in_users.begin();
it != logged_in_users.end();
diff --git a/chrome/browser/chromeos/login/signin/auth_sync_observer.cc b/chrome/browser/chromeos/login/signin/auth_sync_observer.cc
index f780776..6878da0 100644
--- a/chrome/browser/chromeos/login/signin/auth_sync_observer.cc
+++ b/chrome/browser/chromeos/login/signin/auth_sync_observer.cc
@@ -7,12 +7,13 @@
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/prefs/pref_service.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
#include "chrome/common/pref_names.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/user_metrics.h"
#include "google_apis/gaia/gaia_auth_util.h"
@@ -44,8 +45,8 @@ void AuthSyncObserver::Shutdown() {
}
void AuthSyncObserver::OnStateChanged() {
- DCHECK(UserManager::Get()->IsLoggedInAsRegularUser() ||
- UserManager::Get()->IsLoggedInAsSupervisedUser());
+ DCHECK(user_manager::UserManager::Get()->IsLoggedInAsRegularUser() ||
+ user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser());
ProfileSyncService* sync_service =
ProfileSyncServiceFactory::GetForProfile(profile_);
user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile_);
@@ -65,15 +66,17 @@ void AuthSyncObserver::OnStateChanged() {
// TODO(nkostyelv): Change observer after active user has changed.
user_manager::User::OAuthTokenStatus old_status =
user->oauth_token_status();
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
email, user_manager::User::OAUTH2_TOKEN_STATUS_INVALID);
if (user->GetType() == user_manager::USER_TYPE_SUPERVISED &&
old_status != user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) {
// Attempt to restore token from file.
- UserManager::Get()->GetSupervisedUserManager()->LoadSupervisedUserToken(
- profile_,
- base::Bind(&AuthSyncObserver::OnSupervisedTokenLoaded,
- base::Unretained(this)));
+ ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->LoadSupervisedUserToken(
+ profile_,
+ base::Bind(&AuthSyncObserver::OnSupervisedTokenLoaded,
+ base::Unretained(this)));
content::RecordAction(
base::UserMetricsAction("ManagedUsers_Chromeos_Sync_Invalidated"));
}
@@ -83,7 +86,7 @@ void AuthSyncObserver::OnStateChanged() {
user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) {
LOG(ERROR) <<
"Got an incorrectly invalidated token case, restoring token status.";
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
user->email(), user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
content::RecordAction(
base::UserMetricsAction("ManagedUsers_Chromeos_Sync_Recovered"));
@@ -92,7 +95,7 @@ void AuthSyncObserver::OnStateChanged() {
}
void AuthSyncObserver::OnSupervisedTokenLoaded(const std::string& token) {
- UserManager::Get()->GetSupervisedUserManager()->ConfigureSyncWithToken(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->ConfigureSyncWithToken(
profile_, token);
}
diff --git a/chrome/browser/chromeos/login/signin/merge_session_load_page_unittest.cc b/chrome/browser/chromeos/login/signin/merge_session_load_page_unittest.cc
index 02afa07..b23327b 100644
--- a/chrome/browser/chromeos/login/signin/merge_session_load_page_unittest.cc
+++ b/chrome/browser/chromeos/login/signin/merge_session_load_page_unittest.cc
@@ -7,7 +7,7 @@
#include "chrome/browser/chromeos/login/signin/merge_session_load_page.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
diff --git a/chrome/browser/chromeos/login/signin/merge_session_throttle.cc b/chrome/browser/chromeos/login/signin/merge_session_throttle.cc
index ce9b7a7..b8f8b02 100644
--- a/chrome/browser/chromeos/login/signin/merge_session_throttle.cc
+++ b/chrome/browser/chromeos/login/signin/merge_session_throttle.cc
@@ -16,10 +16,9 @@
#include "chrome/browser/chromeos/login/signin/merge_session_xhr_request_waiter.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/common/url_constants.h"
#include "components/google/core/browser/google_util.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_controller.h"
@@ -163,9 +162,9 @@ bool MergeSessionThrottle::ShouldDelayRequest(
int render_view_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (!chromeos::UserManager::Get()->IsUserLoggedIn()) {
+ if (!user_manager::UserManager::Get()->IsUserLoggedIn()) {
return false;
- } else if (!chromeos::UserManager::Get()->IsLoggedInAsRegularUser()) {
+ } else if (!user_manager::UserManager::Get()->IsLoggedInAsRegularUser()) {
// This is not a regular user session, let's remove the throttle
// permanently.
if (!AreAllSessionMergedAlready())
@@ -206,8 +205,8 @@ bool MergeSessionThrottle::ShouldDelayRequest(
// In theory this should not happen since we should
// kick off the session restore process for the newly added profile
// before we attempt loading any page.
- if (chromeos::UserManager::Get()->IsLoggedInAsRegularUser() &&
- !chromeos::UserManager::Get()->IsLoggedInAsStub()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsRegularUser() &&
+ !user_manager::UserManager::Get()->IsLoggedInAsStub()) {
LOG(WARNING) << "Loading content for a profile without "
<< "session restore?";
}
diff --git a/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc b/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
index 00677ec..edf53d9 100644
--- a/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
+++ b/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h"
#include "chrome/browser/chromeos/login/signin_specifics.h"
#include "chrome/browser/chromeos/login/test/oobe_base_test.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -31,6 +30,7 @@
#include "chromeos/login/auth/user_context.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/process_manager.h"
@@ -192,8 +192,9 @@ class OAuth2Test : public OobeBaseTest {
return false;
if (const user_manager::User* active_user =
- UserManager::Get()->GetActiveUser())
+ user_manager::UserManager::Get()->GetActiveUser()) {
return active_user->email() == username;
+ }
return false;
}
@@ -217,7 +218,7 @@ class OAuth2Test : public OobeBaseTest {
protected:
// OobeBaseTest overrides.
virtual Profile* profile() OVERRIDE {
- if (UserManager::Get()->GetActiveUser())
+ if (user_manager::UserManager::Get()->GetActiveUser())
return ProfileManager::GetPrimaryUserProfile();
return OobeBaseTest::profile();
@@ -239,7 +240,7 @@ class OAuth2Test : public OobeBaseTest {
chrome::NOTIFICATION_SESSION_STARTED,
content::NotificationService::AllSources()).Wait();
const user_manager::UserList& logged_users =
- UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_users.begin();
it != logged_users.end();
++it) {
diff --git a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc
index 9bdf0b4..122d679 100644
--- a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc
+++ b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc
@@ -12,7 +12,6 @@
#include "base/prefs/pref_service.h"
#include "base/strings/string_util.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/chrome_signin_client_factory.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
@@ -22,6 +21,7 @@
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_client.h"
#include "components/signin/core/browser/signin_manager.h"
+#include "components/user_manager/user_manager.h"
#include "google_apis/gaia/gaia_auth_util.h"
#include "google_apis/gaia/gaia_constants.h"
#include "google_apis/gaia/gaia_urls.h"
@@ -111,7 +111,7 @@ void OAuth2LoginManager::RestoreSessionFromSavedTokens() {
// and OnRefreshTokenAvailable is not called. Flagging it here would
// cause user to go through Gaia in next login to obtain a new refresh
// token.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
primary_account_id, user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN);
token_service->LoadCredentials(primary_account_id);
@@ -140,14 +140,14 @@ void OAuth2LoginManager::OnRefreshTokenAvailable(
// Do not validate tokens for supervised users, as they don't actually have
// oauth2 token.
- if (UserManager::Get()->IsLoggedInAsSupervisedUser()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
VLOG(1) << "Logged in as supervised user, skip token validation.";
return;
}
// Only restore session cookies for the primary account in the profile.
if (GetPrimaryAccountId() == account_id) {
// Token is loaded. Undo the flagging before token loading.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
account_id, user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
VerifySessionCookies();
}
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc b/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc
index a7889eb..bd65b30 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc
@@ -13,11 +13,11 @@
#include "base/threading/sequenced_worker_pool.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chromeos/cryptohome/signed_secret.pb.h"
#include "chromeos/login/auth/key.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "crypto/hmac.h"
#include "crypto/random.h"
@@ -224,7 +224,7 @@ void SupervisedUserAuthentication::ScheduleSupervisedPasswordChange(
const std::string& supervised_user_id,
const base::DictionaryValue* password_data) {
const user_manager::User* user =
- UserManager::Get()->FindUser(supervised_user_id);
+ user_manager::UserManager::Get()->FindUser(supervised_user_id);
base::FilePath profile_path = ProfileHelper::GetProfilePathByUserIdHash(
user->username_hash());
JSONFileValueSerializer serializer(profile_path.Append(kPasswordUpdateFile));
@@ -281,7 +281,8 @@ void SupervisedUserAuthentication::LoadPasswordUpdateData(
const std::string& user_id,
const PasswordDataCallback& success_callback,
const base::Closure& failure_callback) {
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
base::FilePath profile_path =
ProfileHelper::GetProfilePathByUserIdHash(user->username_hash());
PostTaskAndReplyWithResult(
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc
index bda8ca2..8ac7f8d 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc
@@ -159,7 +159,7 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserTransactionCleanupTest,
std::string user_id = registration_utility_stub_->supervised_user_id();
// Make sure user is already in list.
- ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(3UL, user_manager::UserManager::Get()->GetUsers().size());
// We wait for token now. Press cancel button at this point.
JSEval("$('cancel-add-user-button').click()");
@@ -171,7 +171,7 @@ IN_PROC_BROWSER_TEST_(
SupervisedUserTransactionCleanupTest2,
testing::internal::GetTypeId<SupervisedUserTransactionCleanupTest>()) {
// Make sure there is no supervised user in list.
- ASSERT_EQ(2UL, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(2UL, user_manager::UserManager::Get()->GetUsers().size());
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc
index 56211fc..45cd784 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc
@@ -17,8 +17,8 @@
#include "chrome/browser/chromeos/login/auth/mount_manager.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
@@ -28,6 +28,7 @@
#include "chromeos/login/auth/key.h"
#include "chromeos/login/auth/user_context.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/user_metrics.h"
#include "crypto/random.h"
@@ -148,7 +149,7 @@ void SupervisedUserCreationControllerNew::StartCreationImpl() {
VLOG(1) << " Phase 1 : Prepare keys";
SupervisedUserManager* manager =
- UserManager::Get()->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
manager->StartCreationTransaction(creation_context_->display_name);
creation_context_->local_user_id = manager->GenerateUserId();
@@ -167,7 +168,7 @@ void SupervisedUserCreationControllerNew::StartCreationImpl() {
creation_context_->display_name);
SupervisedUserAuthentication* authentication =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
// When importing M35+ users we need only to store data, for all other cases
// we need to create some keys.
@@ -368,14 +369,16 @@ void SupervisedUserCreationControllerNew::OnSupervisedUserFilesStored(
}
// Assume that new token is valid. It will be automatically invalidated if
// sync service fails to use it.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
creation_context_->local_user_id,
user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
stage_ = TOKEN_WRITTEN;
timeout_timer_.Stop();
- UserManager::Get()->GetSupervisedUserManager()->CommitCreationTransaction();
+ ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->CommitCreationTransaction();
content::RecordAction(
base::UserMetricsAction("ManagedMode_LocallyManagedUserCreated"));
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
index 52ba4ab..53f5cd7 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_controller.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/supervised_user/supervised_user_constants.h"
@@ -445,8 +446,8 @@ bool SupervisedUserCreationScreen::FindUserByDisplayName(
void SupervisedUserCreationScreen::ApplyPicture() {
std::string user_id = controller_->GetSupervisedUserId();
- UserManager* user_manager = UserManager::Get();
- UserImageManager* image_manager = user_manager->GetUserImageManager(user_id);
+ UserImageManager* image_manager =
+ ChromeUserManager::Get()->GetUserImageManager(user_id);
switch (selected_image_) {
case user_manager::User::USER_IMAGE_EXTERNAL:
// Photo decoding may not have been finished yet.
@@ -485,7 +486,7 @@ void SupervisedUserCreationScreen::OnGetSupervisedUsers(
// Copy for passing to WebUI, contains only id, name and avatar URL.
scoped_ptr<base::ListValue> ui_users(new base::ListValue());
SupervisedUserManager* supervised_user_manager =
- UserManager::Get()->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
// Stored copy, contains all necessary information.
existing_users_.reset(new base::DictionaryValue());
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc
index 43ce73f..d6d7fb1 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc
@@ -15,10 +15,11 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chromeos/login/auth/key.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
using content::BrowserThread;
@@ -69,10 +70,10 @@ void SupervisedUserLoginFlow::ConfigureSync(const std::string& token) {
// TODO(antrim): add error handling (no token loaded).
// See also: http://crbug.com/312751
- UserManager::Get()->GetSupervisedUserManager()->ConfigureSyncWithToken(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->ConfigureSyncWithToken(
profile_, token);
SupervisedUserAuthentication* auth =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
if (auth->HasScheduledPasswordUpdate(user_id())) {
auth->LoadPasswordUpdateData(
@@ -95,7 +96,7 @@ void SupervisedUserLoginFlow::OnPasswordChangeDataLoaded(
const base::DictionaryValue* password_data) {
// Edge case, when manager has signed in and already updated the password.
SupervisedUserAuthentication* auth =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
if (!auth->NeedPasswordChange(user_id(), password_data)) {
VLOG(1) << "Password already changed for " << user_id();
auth->ClearScheduledPasswordUpdate(user_id());
@@ -179,7 +180,7 @@ void SupervisedUserLoginFlow::OnNewKeyAdded(
scoped_ptr<base::DictionaryValue> password_data) {
VLOG(1) << "New key added";
SupervisedUserAuthentication* auth =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
auth->StorePasswordData(user_id(), *password_data.get());
auth->MarkKeyIncomplete(user_id(), true /* incomplete */);
authenticator_->RemoveKey(
@@ -224,7 +225,7 @@ void SupervisedUserLoginFlow::OnPasswordUpdated(
VLOG(1) << "Updated password for supervised user";
SupervisedUserAuthentication* auth =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
// Incomplete state is not there in password_data, carry it from old state.
bool was_incomplete = auth->HasIncompleteKey(user_id());
@@ -248,11 +249,10 @@ void SupervisedUserLoginFlow::Finish() {
void SupervisedUserLoginFlow::LaunchExtraSteps(
Profile* profile) {
profile_ = profile;
- UserManager::Get()->GetSupervisedUserManager()->LoadSupervisedUserToken(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->LoadSupervisedUserToken(
profile,
- base::Bind(
- &SupervisedUserLoginFlow::OnSyncSetupDataLoaded,
- weak_factory_.GetWeakPtr()));
+ base::Bind(&SupervisedUserLoginFlow::OnSyncSetupDataLoaded,
+ weak_factory_.GetWeakPtr()));
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc b/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc
index 9517059..eef1077 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_test_base.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
#include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -78,9 +79,10 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
DISABLED_PRE_PasswordChangeFromUserTest) {
SigninAsSupervisedUser(true, 0, kTestSupervisedUserDisplayName);
- const user_manager::User* user = UserManager::Get()->GetUsers().at(0);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetUsers().at(0);
std::string sync_id =
- UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
user->email());
base::DictionaryValue password;
password.SetIntegerWithoutPathExpansion(
@@ -124,14 +126,14 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
DISABLED_PRE_PasswordChangeFromManagerTest) {
const user_manager::User* supervised_user =
- UserManager::Get()->GetUsers().at(0);
+ user_manager::UserManager::Get()->GetUsers().at(0);
SigninAsManager(1);
EXPECT_CALL(*mock_homedir_methods_, AddKeyEx(_, _, _, _, _)).Times(1);
std::string sync_id =
- UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
supervised_user->email());
::sync_pb::ManagedUserSpecifics managed_user_proto;
@@ -190,9 +192,10 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
DISABLED_PRE_PRE_PasswordChangeUserAndManagerTest) {
SigninAsSupervisedUser(true, 0, kTestSupervisedUserDisplayName);
- const user_manager::User* user = UserManager::Get()->GetUsers().at(0);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetUsers().at(0);
std::string sync_id =
- UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
user->email());
base::DictionaryValue password;
password.SetIntegerWithoutPathExpansion(
@@ -213,14 +216,14 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest,
DISABLED_PRE_PasswordChangeUserAndManagerTest) {
const user_manager::User* supervised_user =
- UserManager::Get()->GetUsers().at(0);
+ user_manager::UserManager::Get()->GetUsers().at(0);
SigninAsManager(1);
EXPECT_CALL(*mock_homedir_methods_, AddKeyEx(_, _, _, _, _)).Times(1);
std::string sync_id =
- UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId(
supervised_user->email());
::sync_pb::ManagedUserSpecifics managed_user_proto;
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc b/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc
index fa0fc964..0074e2f 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc
@@ -300,7 +300,7 @@ void SupervisedUserTestBase::StartFlowLoginAsManager() {
login_observer.Wait();
// OAuth token is valid.
- UserManager::Get()->SaveUserOAuthStatus(
+ user_manager::UserManager::Get()->SaveUserOAuthStatus(
kTestManager, user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
base::RunLoop().RunUntilIdle();
@@ -357,11 +357,11 @@ void SupervisedUserTestBase::SigninAsSupervisedUser(
EXPECT_CALL(*mock_homedir_methods_, MountEx(_, _, _, _)).Times(1);
// Log in as supervised user, make sure that everything works.
- ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(3UL, user_manager::UserManager::Get()->GetUsers().size());
// Created supervised user have to be first in a list.
const user_manager::User* user =
- UserManager::Get()->GetUsers().at(user_index);
+ user_manager::UserManager::Get()->GetUsers().at(user_index);
ASSERT_EQ(base::UTF8ToUTF16(expected_display_name), user->display_name());
LoginUser(user->email());
if (check_homedir_calls)
@@ -377,11 +377,11 @@ void SupervisedUserTestBase::SigninAsSupervisedUser(
void SupervisedUserTestBase::SigninAsManager(int user_index) {
// Log in as supervised user, make sure that everything works.
- ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(3UL, user_manager::UserManager::Get()->GetUsers().size());
// Created supervised user have to be first in a list.
const user_manager::User* user =
- UserManager::Get()->GetUsers().at(user_index);
+ user_manager::UserManager::Get()->GetUsers().at(user_index);
LoginUser(user->email());
Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
shared_settings_adapter_.reset(
@@ -394,11 +394,12 @@ void SupervisedUserTestBase::RemoveSupervisedUser(
int user_index,
const std::string& expected_display_name) {
// Remove supervised user.
- ASSERT_EQ(original_user_count, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(original_user_count,
+ user_manager::UserManager::Get()->GetUsers().size());
// Created supervised user have to be first in a list.
const user_manager::User* user =
- UserManager::Get()->GetUsers().at(user_index);
+ user_manager::UserManager::Get()->GetUsers().at(user_index);
ASSERT_EQ(base::UTF8ToUTF16(expected_display_name), user->display_name());
// Open pod menu.
@@ -429,7 +430,8 @@ void SupervisedUserTestBase::RemoveSupervisedUser(
user_index));
// Make sure there is no supervised user in list.
- ASSERT_EQ(original_user_count - 1, UserManager::Get()->GetUsers().size());
+ ASSERT_EQ(original_user_count - 1,
+ user_manager::UserManager::Get()->GetUsers().size());
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/ui/login_display.h b/chrome/browser/chromeos/login/ui/login_display.h
index d8e51e4..f845522 100644
--- a/chrome/browser/chromeos/login/ui/login_display.h
+++ b/chrome/browser/chromeos/login/ui/login_display.h
@@ -12,9 +12,9 @@
#include "base/strings/string16.h"
#include "chrome/browser/chromeos/login/help_app_launcher.h"
#include "chrome/browser/chromeos/login/signin_specifics.h"
-#include "chrome/browser/chromeos/login/users/remove_user_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/remove_user_delegate.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/rect.h"
@@ -25,7 +25,7 @@ class UserContext;
// TODO(nkostylev): Extract interface, create a BaseLoginDisplay class.
// An abstract class that defines login UI implementation.
-class LoginDisplay : public RemoveUserDelegate {
+class LoginDisplay : public user_manager::RemoveUserDelegate {
public:
// Sign in error IDs that require detailed error screen and not just
// a simple error bubble.
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
index d1d1185..f4b62fc 100644
--- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
+++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
@@ -46,7 +46,6 @@
#include "chrome/browser/chromeos/login/ui/oobe_display.h"
#include "chrome/browser/chromeos/login/ui/webui_login_display.h"
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/mobile_config.h"
#include "chrome/browser/chromeos/net/delay_network_call.h"
@@ -70,6 +69,7 @@
#include "chromeos/login/login_state.h"
#include "chromeos/settings/timezone_settings.h"
#include "components/session_manager/core/session_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
@@ -408,7 +408,7 @@ LoginDisplayHostImpl::~LoginDisplayHostImpl() {
default_host_ = NULL;
// TODO(tengs): This should be refactored. See crbug.com/314934.
- if (UserManager::Get()->IsCurrentUserNew()) {
+ if (user_manager::UserManager::Get()->IsCurrentUserNew()) {
// DriveOptInController will delete itself when finished.
(new DriveFirstRunController(
ProfileManager::GetActiveUserProfile()))->EnableOfflineMode();
@@ -568,7 +568,7 @@ void LoginDisplayHostImpl::StartUserAdding(
SetOobeProgressBarVisible(oobe_progress_bar_visible_ = false);
SetStatusAreaVisible(true);
sign_in_controller_->Init(
- chromeos::UserManager::Get()->GetUsersAdmittedForMultiProfile());
+ user_manager::UserManager::Get()->GetUsersAdmittedForMultiProfile());
CHECK(webui_login_display_);
GetOobeUI()->ShowSigninScreen(LoginScreenContext(),
webui_login_display_,
@@ -605,7 +605,7 @@ void LoginDisplayHostImpl::StartSignInScreen(
DVLOG(1) << "Starting sign in screen";
const user_manager::UserList& users =
- chromeos::UserManager::Get()->GetUsers();
+ user_manager::UserManager::Get()->GetUsers();
// Fix for users who updated device and thus never passed register screen.
// If we already have users, we assume that it is not a second part of
@@ -777,7 +777,7 @@ void LoginDisplayHostImpl::Observe(
chrome::NOTIFICATION_BROWSER_OPENED,
content::NotificationService::AllSources());
} else if (type == chrome::NOTIFICATION_LOGIN_USER_CHANGED &&
- chromeos::UserManager::Get()->IsCurrentUserNew()) {
+ user_manager::UserManager::Get()->IsCurrentUserNew()) {
// For new user, move desktop to locker container so that windows created
// during the user image picker step are below it.
ash::Shell::GetInstance()->
diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen.cc b/chrome/browser/chromeos/login/ui/user_adding_screen.cc
index 8547d7b..e74b072 100644
--- a/chrome/browser/chromeos/login/ui/user_adding_screen.cc
+++ b/chrome/browser/chromeos/login/ui/user_adding_screen.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "components/session_manager/core/session_manager.h"
+#include "components/user_manager/user_manager.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/size.h"
@@ -64,9 +65,9 @@ void UserAddingScreenImpl::Cancel() {
display_host_->Finalize();
// Reset wallpaper if cancel adding user from multiple user sign in page.
- if (UserManager::Get()->IsUserLoggedIn()) {
+ if (user_manager::UserManager::Get()->IsUserLoggedIn()) {
WallpaperManager::Get()->SetUserWallpaperDelayed(
- UserManager::Get()->GetActiveUser()->email());
+ user_manager::UserManager::Get()->GetActiveUser()->email());
}
}
diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
index 94771ba..a1e1174 100644
--- a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
+++ b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
@@ -14,10 +14,10 @@
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -92,15 +92,15 @@ IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, PRE_CancelAdding) {
IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, CancelAdding) {
EXPECT_CALL(login_utils(), DoBrowserLaunch(_, _)).Times(1);
- EXPECT_EQ(3u, UserManager::Get()->GetUsers().size());
- EXPECT_EQ(0u, UserManager::Get()->GetLoggedInUsers().size());
+ EXPECT_EQ(3u, user_manager::UserManager::Get()->GetUsers().size());
+ EXPECT_EQ(0u, user_manager::UserManager::Get()->GetLoggedInUsers().size());
EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_LOGIN_PRIMARY,
ash::Shell::GetInstance()->session_state_delegate()->
GetSessionState());
LoginUser(kTestUsers[0]);
- EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size());
+ EXPECT_EQ(1u, user_manager::UserManager::Get()->GetLoggedInUsers().size());
EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE,
ash::Shell::GetInstance()->session_state_delegate()->
GetSessionState());
@@ -120,8 +120,9 @@ IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, CancelAdding) {
GetSessionState());
EXPECT_TRUE(LoginDisplayHostImpl::default_host() == NULL);
- EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size());
- EXPECT_EQ(kTestUsers[0], UserManager::Get()->GetActiveUser()->email());
+ EXPECT_EQ(1u, user_manager::UserManager::Get()->GetLoggedInUsers().size());
+ EXPECT_EQ(kTestUsers[0],
+ user_manager::UserManager::Get()->GetActiveUser()->email());
}
IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, PRE_AddingSeveralUsers) {
@@ -141,7 +142,7 @@ IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, AddingSeveralUsers) {
ash::Shell::GetInstance()->session_state_delegate()->
GetSessionState());
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
for (int i = 1; i < 3; ++i) {
UserAddingScreen::Get()->Start();
diff --git a/chrome/browser/chromeos/login/ui/webui_login_display.cc b/chrome/browser/chromeos/login/ui/webui_login_display.cc
index f7a12e7..ececc37 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_display.cc
+++ b/chrome/browser/chromeos/login/ui/webui_login_display.cc
@@ -19,6 +19,7 @@
#include "chromeos/ime/ime_keyboard.h"
#include "chromeos/ime/input_method_manager.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/views/widget/widget.h"
#include "ui/wm/core/user_activity_detector.h"
@@ -122,7 +123,7 @@ void WebUILoginDisplay::SetUIEnabled(bool is_enabled) {
// Allow this call only before user sign in or at lock screen.
// If this call is made after new user signs in but login screen is still
// around that would trigger a sign in extension refresh.
- if (is_enabled && (!UserManager::Get()->IsUserLoggedIn() ||
+ if (is_enabled && (!user_manager::UserManager::Get()->IsUserLoggedIn() ||
ScreenLocker::default_screen_locker())) {
ClearAndEnablePassword();
}
@@ -277,7 +278,7 @@ void WebUILoginDisplay::OnSigninScreenReady() {
}
void WebUILoginDisplay::RemoveUser(const std::string& username) {
- UserManager::Get()->RemoveUser(username, this);
+ user_manager::UserManager::Get()->RemoveUser(username, this);
}
void WebUILoginDisplay::ResyncUserData() {
diff --git a/chrome/browser/chromeos/login/user_flow.cc b/chrome/browser/chromeos/login/user_flow.cc
index 81fe9908..fcfc9ca 100644
--- a/chrome/browser/chromeos/login/user_flow.cc
+++ b/chrome/browser/chromeos/login/user_flow.cc
@@ -5,14 +5,14 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
namespace chromeos {
namespace {
void UnregisterFlow(const std::string& user_id) {
- UserManager::Get()->ResetUserFlow(user_id);
+ ChromeUserManager::Get()->ResetUserFlow(user_id);
}
} // namespace
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
index 146130e..46a772b 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
@@ -30,8 +30,9 @@
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_util.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h"
@@ -53,6 +54,7 @@
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/default_user_images.h"
#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_source.h"
#include "content/public/test/test_utils.h"
@@ -96,7 +98,7 @@ policy::CloudPolicyStore* GetStoreForUser(const user_manager::User* user) {
} // namespace
class UserImageManagerTest : public LoginManagerTest,
- public UserManager::Observer {
+ public user_manager::UserManager::Observer {
protected:
UserImageManagerTest() : LoginManagerTest(true) {
}
@@ -112,23 +114,24 @@ class UserImageManagerTest : public LoginManagerTest,
virtual void SetUpOnMainThread() OVERRIDE {
LoginManagerTest::SetUpOnMainThread();
local_state_ = g_browser_process->local_state();
- UserManager::Get()->AddObserver(this);
+ user_manager::UserManager::Get()->AddObserver(this);
}
virtual void TearDownOnMainThread() OVERRIDE {
- UserManager::Get()->RemoveObserver(this);
+ user_manager::UserManager::Get()->RemoveObserver(this);
LoginManagerTest::TearDownOnMainThread();
}
// UserManager::Observer overrides:
- virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE {
+ virtual void LocalStateChanged(
+ user_manager::UserManager* user_manager) OVERRIDE {
if (run_loop_)
run_loop_->Quit();
}
// Logs in |username|.
void LogIn(const std::string& username) {
- UserManager::Get()->UserLoggedIn(username, username, false);
+ user_manager::UserManager::Get()->UserLoggedIn(username, username, false);
}
// Stores old (pre-migration) user image info.
@@ -225,8 +228,8 @@ class UserImageManagerTest : public LoginManagerTest,
net::TestURLFetcherFactory* url_fetcher_factory) {
ProfileDownloader* profile_downloader =
reinterpret_cast<UserImageManagerImpl*>(
- UserManager::Get()->GetUserImageManager(username))->
- profile_downloader_.get();
+ ChromeUserManager::Get()->GetUserImageManager(username))
+ ->profile_downloader_.get();
ASSERT_TRUE(profile_downloader);
static_cast<OAuth2TokenService::Consumer*>(profile_downloader)->
@@ -274,10 +277,11 @@ class UserImageManagerTest : public LoginManagerTest,
fetcher->delegate()->OnURLFetchComplete(fetcher);
run_loop.Run();
- const user_manager::User* user = UserManager::Get()->GetLoggedInUser();
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetLoggedInUser();
ASSERT_TRUE(user);
UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>(
- UserManager::Get()->GetUserImageManager(user->email()));
+ ChromeUserManager::Get()->GetUserImageManager(user->email()));
if (uim->job_.get()) {
run_loop_.reset(new base::RunLoop);
run_loop_->Run();
@@ -305,7 +309,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) {
}
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) {
- UserManager::Get()->GetUsers(); // Load users.
+ user_manager::UserManager::Get()->GetUsers(); // Load users.
// Old info preserved.
ExpectOldUserImageInfo(
kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
@@ -325,7 +329,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) {
}
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) {
- UserManager::Get()->GetUsers(); // Load users.
+ user_manager::UserManager::Get()->GetUsers(); // Load users.
// Old info preserved.
ExpectOldUserImageInfo(
kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
@@ -348,12 +352,13 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) {
}
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
- UserManager::Get()->GetUsers(); // Load users.
+ user_manager::UserManager::Get()->GetUsers(); // Load users.
// Old info preserved.
ExpectOldUserImageInfo(kTestUser1,
user_manager::User::USER_IMAGE_EXTERNAL,
GetUserImagePath(kTestUser1, "png"));
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
EXPECT_TRUE(user->image_is_stub());
base::RunLoop run_loop;
@@ -369,7 +374,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
ExpectNewUserImageInfo(kTestUser1,
user_manager::User::USER_IMAGE_EXTERNAL,
GetUserImagePath(kTestUser1, "jpg"));
- user = UserManager::Get()->GetLoggedInUser();
+ user = user_manager::UserManager::Get()->GetLoggedInUser();
ASSERT_TRUE(user);
EXPECT_FALSE(user->image_is_safe_format());
// Check image dimensions.
@@ -380,8 +385,9 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
}
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) {
- UserManager::Get()->GetUsers(); // Load users.
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ user_manager::UserManager::Get()->GetUsers(); // Load users.
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
// Wait for image load.
if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) {
@@ -405,14 +411,15 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) {
// Verifies that SaveUserDefaultImageIndex() correctly sets and persists the
// chosen user image.
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
const gfx::ImageSkia& default_image =
user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserDefaultImageIndex(
user_manager::kFirstDefaultImageIndex);
@@ -430,7 +437,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) {
// Verifies that SaveUserImage() correctly sets and persists the chosen user
// image.
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
SkBitmap custom_image_bitmap;
@@ -441,7 +449,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
run_loop_.reset(new base::RunLoop);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserImage(
user_manager::UserImage::CreateAndEncode(custom_image));
run_loop_->Run();
@@ -469,7 +477,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) {
// Verifies that SaveUserImageFromFile() correctly sets and persists the chosen
// user image.
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
const base::FilePath custom_image_path =
@@ -480,7 +489,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
run_loop_.reset(new base::RunLoop);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserImageFromFile(custom_image_path);
run_loop_->Run();
@@ -509,7 +518,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
// Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and
// persists the chosen user image.
IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
@@ -517,7 +527,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
run_loop_.reset(new base::RunLoop);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserImageFromProfileImage();
run_loop_->Run();
@@ -556,7 +566,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
// clobber the default image chosen in the meantime.
IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
ProfileImageDownloadDoesNotClobber) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
const gfx::ImageSkia& default_image =
@@ -567,7 +578,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
run_loop_.reset(new base::RunLoop);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserImageFromProfileImage();
run_loop_->Run();
@@ -676,7 +687,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) {
// image.
// http://crbug.com/396352
IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
LoginUser(kTestUser1);
@@ -745,7 +757,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) {
user_manager::GetDefaultImage(user_image_index);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserDefaultImageIndex(user_image_index);
EXPECT_TRUE(user->HasDefaultImage());
@@ -763,7 +775,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
// then set through policy, the policy takes precedence, overriding the
// previously chosen image.
IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
LoginUser(kTestUser1);
@@ -778,7 +791,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserDefaultImageIndex(
user_manager::kFirstDefaultImageIndex);
@@ -825,7 +838,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest,
// chooses a different image, the policy takes precedence, preventing the user
// from overriding the previously chosen image.
IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
- const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
ASSERT_TRUE(user);
LoginUser(kTestUser1);
@@ -863,7 +877,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
// Choose a different user image. Verify that the user image does not change
// as policy takes precedence.
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(kTestUser1);
+ ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
user_image_manager->SaveUserDefaultImageIndex(
user_manager::kFirstDefaultImageIndex);
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
index f54185a..b112818 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
@@ -25,7 +25,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile_downloader.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -33,6 +32,7 @@
#include "chrome/grit/theme_resources.h"
#include "components/user_manager/user_image/default_user_images.h"
#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -470,8 +470,9 @@ void UserImageManagerImpl::Job::NotifyJobDone() {
parent_->OnJobDone();
}
-UserImageManagerImpl::UserImageManagerImpl(const std::string& user_id,
- UserManager* user_manager)
+UserImageManagerImpl::UserImageManagerImpl(
+ const std::string& user_id,
+ user_manager::UserManager* user_manager)
: UserImageManager(user_id),
user_manager_(user_manager),
downloading_profile_image_(false),
@@ -763,9 +764,10 @@ void UserImageManagerImpl::OnProfileDownloadSuccess(
user_manager_->UpdateUserAccountData(
user_id(),
- UserManager::UserAccountData(downloader->GetProfileFullName(),
- downloader->GetProfileGivenName(),
- downloader->GetProfileLocale()));
+ user_manager::UserManager::UserAccountData(
+ downloader->GetProfileFullName(),
+ downloader->GetProfileGivenName(),
+ downloader->GetProfileLocale()));
if (!downloading_profile_image_)
return;
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h
index 1f4b8b0..7390374 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h
@@ -32,12 +32,12 @@ class SequencedTaskRunner;
namespace user_manager {
class UserImage;
+class UserManager;
}
namespace chromeos {
class UserImageSyncObserver;
-class UserManager;
class UserImageManagerImpl
: public UserImageManager,
@@ -45,7 +45,7 @@ class UserImageManagerImpl
public:
// UserImageManager:
UserImageManagerImpl(const std::string& user_id,
- UserManager* user_manager);
+ user_manager::UserManager* user_manager);
virtual ~UserImageManagerImpl();
virtual void LoadUserImage() OVERRIDE;
@@ -153,7 +153,7 @@ class UserImageManagerImpl
bool IsUserLoggedInAndRegular() const;
// The user manager.
- UserManager* user_manager_;
+ user_manager::UserManager* user_manager_;
// Loader for JPEG user images.
scoped_refptr<UserImageLoader> image_loader_;
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc
index bb9268f..0052395 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc
@@ -10,12 +10,14 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/screens/user_image_screen.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/common/pref_names.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/default_user_images.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
@@ -168,7 +170,7 @@ void UserImageSyncObserver::UpdateLocalImageFromSynced() {
if ((synced_index == local_index) || !IsIndexSupported(synced_index))
return;
UserImageManager* image_manager =
- UserManager::Get()->GetUserImageManager(user_->email());
+ ChromeUserManager::Get()->GetUserImageManager(user_->email());
if (synced_index == user_manager::User::USER_IMAGE_PROFILE) {
image_manager->SaveUserImageFromProfileImage();
} else {
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h
index 503338b..a4c82ca 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h
@@ -9,16 +9,13 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/prefs/pref_service_syncable_observer.h"
#include "content/public/browser/notification_observer.h"
class PrefChangeRegistrar;
class PrefServiceSyncable;
class Profile;
-namespace chromeos {
-class User;
-}
+
namespace content {
class NotificationRegistrar;
}
@@ -26,6 +23,10 @@ namespace user_prefs {
class PrefRegistrySyncable;
}
+namespace user_manager {
+class User;
+}
+
namespace chromeos {
// This class is responsible for keeping local user image synced with
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager.cc b/chrome/browser/chromeos/login/users/chrome_user_manager.cc
index d7fdd8b..1800e30 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager.cc
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager.cc
@@ -3,1016 +3,23 @@
// found in the LICENSE file.
#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
-
-#include <cstddef>
-#include <set>
-
-#include "ash/multi_profile_uma.h"
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/command_line.h"
-#include "base/compiler_specific.h"
-#include "base/format_macros.h"
-#include "base/logging.h"
-#include "base/metrics/histogram.h"
-#include "base/prefs/pref_registry_simple.h"
-#include "base/prefs/pref_service.h"
-#include "base/prefs/scoped_user_pref_update.h"
-#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/values.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
-#include "chrome/browser/chromeos/login/session/user_session_manager.h"
-#include "chrome/browser/chromeos/login/signin/auth_sync_observer.h"
-#include "chrome/browser/chromeos/login/signin/auth_sync_observer_factory.h"
-#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
-#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/remove_user_delegate.h"
-#include "chrome/browser/chromeos/login/users/supervised_user_manager_impl.h"
-#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
-#include "chrome/browser/chromeos/policy/device_local_account.h"
-#include "chrome/browser/chromeos/profiles/multiprofiles_session_aborted_dialog.h"
-#include "chrome/browser/chromeos/profiles/profile_helper.h"
-#include "chrome/browser/chromeos/session_length_limiter.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/supervised_user/chromeos/manager_password_service_factory.h"
-#include "chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/crash_keys.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/grit/theme_resources.h"
-#include "chromeos/chromeos_switches.h"
-#include "chromeos/login/user_names.h"
-#include "chromeos/settings/cros_settings_names.h"
-#include "components/session_manager/core/session_manager.h"
-#include "components/user_manager/user_image/user_image.h"
-#include "components/user_manager/user_type.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_service.h"
-#include "policy/policy_constants.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/wm/core/wm_core_switches.h"
-
-using content::BrowserThread;
+#include "components/user_manager/user_manager.h"
namespace chromeos {
-namespace {
-
-// A vector pref of the the regular users known on this device, arranged in LRU
-// order.
-const char kRegularUsers[] = "LoggedInUsers";
-
-// A vector pref of the public accounts defined on this device.
-const char kPublicAccounts[] = "PublicAccounts";
-
-// A string pref that gets set when a public account is removed but a user is
-// currently logged into that account, requiring the account's data to be
-// removed after logout.
-const char kPublicAccountPendingDataRemoval[] =
- "PublicAccountPendingDataRemoval";
-
-} // namespace
-// static
-void UserManager::RegisterPrefs(PrefRegistrySimple* registry) {
- UserManagerBase::RegisterPrefs(registry);
-
- registry->RegisterListPref(kPublicAccounts);
- registry->RegisterStringPref(kPublicAccountPendingDataRemoval, std::string());
- SupervisedUserManager::RegisterPrefs(registry);
- SessionLengthLimiter::RegisterPrefs(registry);
-}
-
-ChromeUserManager::ChromeUserManager()
- : cros_settings_(CrosSettings::Get()),
- device_local_account_policy_service_(NULL),
- supervised_user_manager_(new SupervisedUserManagerImpl(this)),
- weak_factory_(this) {
- UpdateNumberOfUsers();
-
- // UserManager instance should be used only on UI thread.
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- registrar_.Add(this,
- chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
- content::NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
- content::NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_PROFILE_CREATED,
- content::NotificationService::AllSources());
-
- // Since we're in ctor postpone any actions till this is fully created.
- if (base::MessageLoop::current()) {
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
- weak_factory_.GetWeakPtr()));
- }
-
- local_accounts_subscription_ = cros_settings_->AddSettingsObserver(
- kAccountsPrefDeviceLocalAccounts,
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
- weak_factory_.GetWeakPtr()));
- multi_profile_user_controller_.reset(
- new MultiProfileUserController(this, GetLocalState()));
-
- policy::BrowserPolicyConnectorChromeOS* connector =
- g_browser_process->platform_part()->browser_policy_connector_chromeos();
- avatar_policy_observer_.reset(new policy::CloudExternalDataPolicyObserver(
- cros_settings_,
- connector->GetDeviceLocalAccountPolicyService(),
- policy::key::kUserAvatarImage,
- this));
- avatar_policy_observer_->Init();
-
- wallpaper_policy_observer_.reset(new policy::CloudExternalDataPolicyObserver(
- cros_settings_,
- connector->GetDeviceLocalAccountPolicyService(),
- policy::key::kWallpaperImage,
- this));
- wallpaper_policy_observer_->Init();
+ChromeUserManager::ChromeUserManager(
+ scoped_refptr<base::TaskRunner> task_runner,
+ scoped_refptr<base::TaskRunner> blocking_task_runner)
+ : UserManagerBase(task_runner, blocking_task_runner) {
}
ChromeUserManager::~ChromeUserManager() {
}
-void ChromeUserManager::Shutdown() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::Shutdown();
-
- local_accounts_subscription_.reset();
-
- // Stop the session length limiter.
- session_length_limiter_.reset();
-
- if (device_local_account_policy_service_)
- device_local_account_policy_service_->RemoveObserver(this);
-
- for (UserImageManagerMap::iterator it = user_image_managers_.begin(),
- ie = user_image_managers_.end();
- it != ie;
- ++it) {
- it->second->Shutdown();
- }
- multi_profile_user_controller_.reset();
- avatar_policy_observer_.reset();
- wallpaper_policy_observer_.reset();
- registrar_.RemoveAll();
-}
-
-MultiProfileUserController* ChromeUserManager::GetMultiProfileUserController() {
- return multi_profile_user_controller_.get();
-}
-
-UserImageManager* ChromeUserManager::GetUserImageManager(
- const std::string& user_id) {
- UserImageManagerMap::iterator ui = user_image_managers_.find(user_id);
- if (ui != user_image_managers_.end())
- return ui->second.get();
- linked_ptr<UserImageManagerImpl> mgr(new UserImageManagerImpl(user_id, this));
- user_image_managers_[user_id] = mgr;
- return mgr.get();
-}
-
-SupervisedUserManager* ChromeUserManager::GetSupervisedUserManager() {
- return supervised_user_manager_.get();
-}
-
-user_manager::UserList ChromeUserManager::GetUsersAdmittedForMultiProfile()
- const {
- // Supervised users are not allowed to use multi-profiles.
- if (GetLoggedInUsers().size() == 1 &&
- GetPrimaryUser()->GetType() != user_manager::USER_TYPE_REGULAR) {
- return user_manager::UserList();
- }
-
- user_manager::UserList result;
- const user_manager::UserList& users = GetUsers();
- for (user_manager::UserList::const_iterator it = users.begin();
- it != users.end();
- ++it) {
- if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR &&
- !(*it)->is_logged_in()) {
- MultiProfileUserController::UserAllowedInSessionReason check;
- multi_profile_user_controller_->IsUserAllowedInSession((*it)->email(),
- &check);
- if (check ==
- MultiProfileUserController::NOT_ALLOWED_PRIMARY_USER_POLICY_FORBIDS) {
- return user_manager::UserList();
- }
-
- // Users with a policy that prevents them being added to a session will be
- // shown in login UI but will be grayed out.
- // Same applies to owner account (see http://crbug.com/385034).
- if (check == MultiProfileUserController::ALLOWED ||
- check == MultiProfileUserController::NOT_ALLOWED_POLICY_FORBIDS ||
- check == MultiProfileUserController::NOT_ALLOWED_OWNER_AS_SECONDARY ||
- check ==
- MultiProfileUserController::NOT_ALLOWED_POLICY_CERT_TAINTED) {
- result.push_back(*it);
- }
- }
- }
-
- return result;
-}
-
-user_manager::UserList ChromeUserManager::GetUnlockUsers() const {
- const user_manager::UserList& logged_in_users = GetLoggedInUsers();
- if (logged_in_users.empty())
- return user_manager::UserList();
-
- user_manager::UserList unlock_users;
- Profile* profile =
- ProfileHelper::Get()->GetProfileByUserUnsafe(GetPrimaryUser());
- std::string primary_behavior =
- profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior);
-
- // Specific case: only one logged in user or
- // primary user has primary-only multi-profile policy.
- if (logged_in_users.size() == 1 ||
- primary_behavior == MultiProfileUserController::kBehaviorPrimaryOnly) {
- if (GetPrimaryUser()->can_lock())
- unlock_users.push_back(primary_user_);
- } else {
- // Fill list of potential unlock users based on multi-profile policy state.
- for (user_manager::UserList::const_iterator it = logged_in_users.begin();
- it != logged_in_users.end();
- ++it) {
- user_manager::User* user = (*it);
- Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
- const std::string behavior =
- profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior);
- if (behavior == MultiProfileUserController::kBehaviorUnrestricted &&
- user->can_lock()) {
- unlock_users.push_back(user);
- } else if (behavior == MultiProfileUserController::kBehaviorPrimaryOnly) {
- NOTREACHED()
- << "Spotted primary-only multi-profile policy for non-primary user";
- }
- }
- }
-
- return unlock_users;
-}
-
-void ChromeUserManager::SessionStarted() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SessionStarted();
-
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_SESSION_STARTED,
- content::Source<UserManager>(this),
- content::Details<const user_manager::User>(GetActiveUser()));
-}
-
-void ChromeUserManager::RemoveUserInternal(const std::string& user_email,
- RemoveUserDelegate* delegate) {
- CrosSettings* cros_settings = CrosSettings::Get();
-
- const base::Closure& callback =
- base::Bind(&ChromeUserManager::RemoveUserInternal,
- weak_factory_.GetWeakPtr(),
- user_email,
- delegate);
-
- // Ensure the value of owner email has been fetched.
- if (CrosSettingsProvider::TRUSTED !=
- cros_settings->PrepareTrustedValues(callback)) {
- // Value of owner email is not fetched yet. RemoveUserInternal will be
- // called again after fetch completion.
- return;
- }
- std::string owner;
- cros_settings->GetString(kDeviceOwner, &owner);
- if (user_email == owner) {
- // Owner is not allowed to be removed from the device.
- return;
- }
- RemoveNonOwnerUserInternal(user_email, delegate);
-}
-
-void ChromeUserManager::SaveUserOAuthStatus(
- const std::string& user_id,
- user_manager::User::OAuthTokenStatus oauth_token_status) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SaveUserOAuthStatus(user_id, oauth_token_status);
-
- GetUserFlow(user_id)->HandleOAuthTokenStatusChange(oauth_token_status);
-}
-
-void ChromeUserManager::SaveUserDisplayName(
- const std::string& user_id,
- const base::string16& display_name) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SaveUserDisplayName(user_id, display_name);
-
- // Do not update local state if data stored or cached outside the user's
- // cryptohome is to be treated as ephemeral.
- if (!IsUserNonCryptohomeDataEphemeral(user_id))
- supervised_user_manager_->UpdateManagerName(user_id, display_name);
-}
-
-void ChromeUserManager::StopPolicyObserverForTesting() {
- avatar_policy_observer_.reset();
- wallpaper_policy_observer_.reset();
-}
-
-void ChromeUserManager::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- switch (type) {
- case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED:
- if (!device_local_account_policy_service_) {
- policy::BrowserPolicyConnectorChromeOS* connector =
- g_browser_process->platform_part()
- ->browser_policy_connector_chromeos();
- device_local_account_policy_service_ =
- connector->GetDeviceLocalAccountPolicyService();
- if (device_local_account_policy_service_)
- device_local_account_policy_service_->AddObserver(this);
- }
- RetrieveTrustedDevicePolicies();
- UpdateOwnership();
- break;
- case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: {
- Profile* profile = content::Details<Profile>(details).ptr();
- if (IsUserLoggedIn() && !IsLoggedInAsGuest() && !IsLoggedInAsKioskApp()) {
- if (IsLoggedInAsSupervisedUser())
- SupervisedUserPasswordServiceFactory::GetForProfile(profile);
- if (IsLoggedInAsRegularUser())
- ManagerPasswordServiceFactory::GetForProfile(profile);
-
- if (!profile->IsOffTheRecord()) {
- AuthSyncObserver* sync_observer =
- AuthSyncObserverFactory::GetInstance()->GetForProfile(profile);
- sync_observer->StartObserving();
- multi_profile_user_controller_->StartObserving(profile);
- }
- }
- break;
- }
- case chrome::NOTIFICATION_PROFILE_CREATED: {
- Profile* profile = content::Source<Profile>(source).ptr();
- user_manager::User* user =
- ProfileHelper::Get()->GetUserByProfile(profile);
- if (user != NULL)
- user->set_profile_is_created();
-
- // If there is pending user switch, do it now.
- if (!GetPendingUserSwitchID().empty()) {
- // Call SwitchActiveUser async because otherwise it may cause
- // ProfileManager::GetProfile before the profile gets registered
- // in ProfileManager. It happens in case of sync profile load when
- // NOTIFICATION_PROFILE_CREATED is called synchronously.
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&ChromeUserManager::SwitchActiveUser,
- weak_factory_.GetWeakPtr(),
- GetPendingUserSwitchID()));
- SetPendingUserSwitchID(std::string());
- }
- break;
- }
- default:
- NOTREACHED();
- }
-}
-
-void ChromeUserManager::OnExternalDataSet(const std::string& policy,
- const std::string& user_id) {
- if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataSet(policy);
- else if (policy == policy::key::kWallpaperImage)
- WallpaperManager::Get()->OnPolicySet(policy, user_id);
- else
- NOTREACHED();
-}
-
-void ChromeUserManager::OnExternalDataCleared(const std::string& policy,
- const std::string& user_id) {
- if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataCleared(policy);
- else if (policy == policy::key::kWallpaperImage)
- WallpaperManager::Get()->OnPolicyCleared(policy, user_id);
- else
- NOTREACHED();
-}
-
-void ChromeUserManager::OnExternalDataFetched(const std::string& policy,
- const std::string& user_id,
- scoped_ptr<std::string> data) {
- if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataFetched(policy, data.Pass());
- else if (policy == policy::key::kWallpaperImage)
- WallpaperManager::Get()->OnPolicyFetched(policy, user_id, data.Pass());
- else
- NOTREACHED();
-}
-
-void ChromeUserManager::OnPolicyUpdated(const std::string& user_id) {
- const user_manager::User* user = FindUser(user_id);
- if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
- return;
- UpdatePublicAccountDisplayName(user_id);
-}
-
-void ChromeUserManager::OnDeviceLocalAccountsChanged() {
- // No action needed here, changes to the list of device-local accounts get
- // handled via the kAccountsPrefDeviceLocalAccounts device setting observer.
-}
-
-bool ChromeUserManager::CanCurrentUserLock() const {
- return UserManagerBase::CanCurrentUserLock() &&
- GetCurrentUserFlow()->CanLockScreen();
-}
-
-bool ChromeUserManager::IsUserNonCryptohomeDataEphemeral(
- const std::string& user_id) const {
- // Data belonging to the obsolete public accounts whose data has not been
- // removed yet is not ephemeral.
- bool is_obsolete_public_account = IsPublicAccountMarkedForRemoval(user_id);
-
- return !is_obsolete_public_account &&
- UserManagerBase::IsUserNonCryptohomeDataEphemeral(user_id);
-}
-
-bool ChromeUserManager::AreEphemeralUsersEnabled() const {
- policy::BrowserPolicyConnectorChromeOS* connector =
- g_browser_process->platform_part()->browser_policy_connector_chromeos();
- return GetEphemeralUsersEnabled() &&
- (connector->IsEnterpriseManaged() || !GetOwnerEmail().empty());
-}
-
-const std::string& ChromeUserManager::GetApplicationLocale() const {
- return g_browser_process->GetApplicationLocale();
-}
-
-PrefService* ChromeUserManager::GetLocalState() const {
- return g_browser_process ? g_browser_process->local_state() : NULL;
-}
-
-bool ChromeUserManager::IsEnterpriseManaged() const {
- policy::BrowserPolicyConnectorChromeOS* connector =
- g_browser_process->platform_part()->browser_policy_connector_chromeos();
- return connector->IsEnterpriseManaged();
-}
-
-void ChromeUserManager::LoadPublicAccounts(
- std::set<std::string>* public_sessions_set) {
- const base::ListValue* prefs_public_sessions =
- GetLocalState()->GetList(kPublicAccounts);
- std::vector<std::string> public_sessions;
- ParseUserList(*prefs_public_sessions,
- std::set<std::string>(),
- &public_sessions,
- public_sessions_set);
- for (std::vector<std::string>::const_iterator it = public_sessions.begin();
- it != public_sessions.end();
- ++it) {
- users_.push_back(user_manager::User::CreatePublicAccountUser(*it));
- UpdatePublicAccountDisplayName(*it);
- }
-}
-
-void ChromeUserManager::PerformPreUserListLoadingActions() {
- // Clean up user list first. All code down the path should be synchronous,
- // so that local state after transaction rollback is in consistent state.
- // This process also should not trigger EnsureUsersLoaded again.
- if (supervised_user_manager_->HasFailedUserCreationTransaction())
- supervised_user_manager_->RollbackUserCreationTransaction();
-}
-
-void ChromeUserManager::PerformPostUserListLoadingActions() {
- for (user_manager::UserList::iterator ui = users_.begin(), ue = users_.end();
- ui != ue;
- ++ui) {
- GetUserImageManager((*ui)->email())->LoadUserImage();
- }
-}
-
-void ChromeUserManager::PerformPostUserLoggedInActions(bool browser_restart) {
- // Initialize the session length limiter and start it only if
- // session limit is defined by the policy.
- session_length_limiter_.reset(
- new SessionLengthLimiter(NULL, browser_restart));
-}
-
-bool ChromeUserManager::IsDemoApp(const std::string& user_id) const {
- return DemoAppLauncher::IsDemoAppSession(user_id);
-}
-
-bool ChromeUserManager::IsKioskApp(const std::string& user_id) const {
- policy::DeviceLocalAccount::Type device_local_account_type;
- return policy::IsDeviceLocalAccountUser(user_id,
- &device_local_account_type) &&
- device_local_account_type ==
- policy::DeviceLocalAccount::TYPE_KIOSK_APP;
-}
-
-bool ChromeUserManager::IsPublicAccountMarkedForRemoval(
- const std::string& user_id) const {
- return user_id ==
- GetLocalState()->GetString(kPublicAccountPendingDataRemoval);
-}
-
-void ChromeUserManager::RetrieveTrustedDevicePolicies() {
- // Local state may not be initialized in unit_tests.
- if (!GetLocalState())
- return;
-
- SetEphemeralUsersEnabled(false);
- SetOwnerEmail(std::string());
-
- // Schedule a callback if device policy has not yet been verified.
- if (CrosSettingsProvider::TRUSTED !=
- cros_settings_->PrepareTrustedValues(
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
- weak_factory_.GetWeakPtr()))) {
- return;
- }
-
- bool ephemeral_users_enabled = false;
- cros_settings_->GetBoolean(kAccountsPrefEphemeralUsersEnabled,
- &ephemeral_users_enabled);
- SetEphemeralUsersEnabled(ephemeral_users_enabled);
-
- std::string owner_email;
- cros_settings_->GetString(kDeviceOwner, &owner_email);
- SetOwnerEmail(owner_email);
-
- EnsureUsersLoaded();
-
- bool changed = UpdateAndCleanUpPublicAccounts(
- policy::GetDeviceLocalAccounts(cros_settings_));
-
- // If ephemeral users are enabled and we are on the login screen, take this
- // opportunity to clean up by removing all regular users except the owner.
- if (GetEphemeralUsersEnabled() && !IsUserLoggedIn()) {
- ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
- prefs_users_update->Clear();
- for (user_manager::UserList::iterator it = users_.begin();
- it != users_.end();) {
- const std::string user_email = (*it)->email();
- if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR &&
- user_email != GetOwnerEmail()) {
- RemoveNonCryptohomeData(user_email);
- DeleteUser(*it);
- it = users_.erase(it);
- changed = true;
- } else {
- if ((*it)->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
- prefs_users_update->Append(new base::StringValue(user_email));
- ++it;
- }
- }
- }
-
- if (changed)
- NotifyUserListChanged();
-}
-
-void ChromeUserManager::GuestUserLoggedIn() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::GuestUserLoggedIn();
-
- // TODO(nkostylev): Add support for passing guest session cryptohome
- // mount point. Legacy (--login-profile) value will be used for now.
- // http://crosbug.com/230859
- active_user_->SetStubImage(
- user_manager::UserImage(
- *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PROFILE_PICTURE_LOADING)),
- user_manager::User::USER_IMAGE_INVALID,
- false);
-
- // Initializes wallpaper after active_user_ is set.
- WallpaperManager::Get()->SetUserWallpaperNow(chromeos::login::kGuestUserName);
-}
-
-void ChromeUserManager::RegularUserLoggedIn(const std::string& user_id) {
- UserManagerBase::RegularUserLoggedIn(user_id);
-
- if (IsCurrentUserNew())
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
-
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
-
- WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
-
- // Make sure that new data is persisted to Local State.
- GetLocalState()->CommitPendingWrite();
-}
-
-void ChromeUserManager::RegularUserLoggedInAsEphemeral(
- const std::string& user_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::RegularUserLoggedInAsEphemeral(user_id);
-
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
-}
-
-void ChromeUserManager::SupervisedUserLoggedIn(const std::string& user_id) {
- // TODO(nkostylev): Refactor, share code with RegularUserLoggedIn().
-
- // Remove the user from the user list.
- active_user_ = RemoveRegularOrSupervisedUserFromList(user_id);
-
- // If the user was not found on the user list, create a new user.
- if (!GetActiveUser()) {
- SetIsCurrentUserNew(true);
- active_user_ = user_manager::User::CreateSupervisedUser(user_id);
- // Leaving OAuth token status at the default state = unknown.
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
- } else {
- if (supervised_user_manager_->CheckForFirstRun(user_id)) {
- SetIsCurrentUserNew(true);
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
- } else {
- SetIsCurrentUserNew(false);
- }
- }
-
- // Add the user to the front of the user list.
- ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
- prefs_users_update->Insert(0, new base::StringValue(user_id));
- users_.insert(users_.begin(), active_user_);
-
- // Now that user is in the list, save display name.
- if (IsCurrentUserNew()) {
- SaveUserDisplayName(GetActiveUser()->email(),
- GetActiveUser()->GetDisplayName());
- }
-
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), true);
- WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
-
- // Make sure that new data is persisted to Local State.
- GetLocalState()->CommitPendingWrite();
-}
-
-void ChromeUserManager::PublicAccountUserLoggedIn(user_manager::User* user) {
- SetIsCurrentUserNew(true);
- active_user_ = user;
-
- // The UserImageManager chooses a random avatar picture when a user logs in
- // for the first time. Tell the UserImageManager that this user is not new to
- // prevent the avatar from getting changed.
- GetUserImageManager(user->email())->UserLoggedIn(false, true);
- WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
-}
-
-void ChromeUserManager::KioskAppLoggedIn(const std::string& app_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- policy::DeviceLocalAccount::Type device_local_account_type;
- DCHECK(policy::IsDeviceLocalAccountUser(app_id, &device_local_account_type));
- DCHECK_EQ(policy::DeviceLocalAccount::TYPE_KIOSK_APP,
- device_local_account_type);
-
- active_user_ = user_manager::User::CreateKioskAppUser(app_id);
- active_user_->SetStubImage(
- user_manager::UserImage(
- *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PROFILE_PICTURE_LOADING)),
- user_manager::User::USER_IMAGE_INVALID,
- false);
-
- WallpaperManager::Get()->SetUserWallpaperNow(app_id);
-
- // TODO(bartfab): Add KioskAppUsers to the users_ list and keep metadata like
- // the kiosk_app_id in these objects, removing the need to re-parse the
- // device-local account list here to extract the kiosk_app_id.
- const std::vector<policy::DeviceLocalAccount> device_local_accounts =
- policy::GetDeviceLocalAccounts(cros_settings_);
- const policy::DeviceLocalAccount* account = NULL;
- for (std::vector<policy::DeviceLocalAccount>::const_iterator it =
- device_local_accounts.begin();
- it != device_local_accounts.end();
- ++it) {
- if (it->user_id == app_id) {
- account = &*it;
- break;
- }
- }
- std::string kiosk_app_id;
- if (account) {
- kiosk_app_id = account->kiosk_app_id;
- } else {
- LOG(ERROR) << "Logged into nonexistent kiosk-app account: " << app_id;
- NOTREACHED();
- }
-
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- command_line->AppendSwitch(::switches::kForceAppMode);
- command_line->AppendSwitchASCII(::switches::kAppId, kiosk_app_id);
-
- // Disable window animation since kiosk app runs in a single full screen
- // window and window animation causes start-up janks.
- command_line->AppendSwitch(wm::switches::kWindowAnimationsDisabled);
-}
-
-void ChromeUserManager::DemoAccountLoggedIn() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- active_user_ =
- user_manager::User::CreateKioskAppUser(DemoAppLauncher::kDemoUserName);
- active_user_->SetStubImage(
- user_manager::UserImage(
- *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PROFILE_PICTURE_LOADING)),
- user_manager::User::USER_IMAGE_INVALID,
- false);
- WallpaperManager::Get()->SetUserWallpaperNow(DemoAppLauncher::kDemoUserName);
-
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- command_line->AppendSwitch(::switches::kForceAppMode);
- command_line->AppendSwitchASCII(::switches::kAppId,
- DemoAppLauncher::kDemoAppId);
-
- // Disable window animation since the demo app runs in a single full screen
- // window and window animation causes start-up janks.
- CommandLine::ForCurrentProcess()->AppendSwitch(
- wm::switches::kWindowAnimationsDisabled);
-}
-
-void ChromeUserManager::RetailModeUserLoggedIn() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- SetIsCurrentUserNew(true);
- active_user_ = user_manager::User::CreateRetailModeUser();
- GetUserImageManager(chromeos::login::kRetailModeUserName)
- ->UserLoggedIn(IsCurrentUserNew(), true);
- WallpaperManager::Get()->SetUserWallpaperNow(
- chromeos::login::kRetailModeUserName);
-}
-
-void ChromeUserManager::NotifyOnLogin() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- UserSessionManager::OverrideHomedir();
- UpdateNumberOfUsers();
-
- UserManagerBase::NotifyOnLogin();
-
- // TODO(nkostylev): Deprecate this notification in favor of
- // ActiveUserChanged() observer call.
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_LOGIN_USER_CHANGED,
- content::Source<UserManager>(this),
- content::Details<const user_manager::User>(GetActiveUser()));
-
- UserSessionManager::GetInstance()->PerformPostUserLoggedInActions();
-}
-
-void ChromeUserManager::UpdateOwnership() {
- bool is_owner = DeviceSettingsService::Get()->HasPrivateOwnerKey();
- VLOG(1) << "Current user " << (is_owner ? "is owner" : "is not owner");
-
- SetCurrentUserIsOwner(is_owner);
-}
-
-void ChromeUserManager::RemoveNonCryptohomeData(const std::string& user_id) {
- UserManagerBase::RemoveNonCryptohomeData(user_id);
-
- WallpaperManager::Get()->RemoveUserWallpaperInfo(user_id);
- GetUserImageManager(user_id)->DeleteUserImage();
-
- supervised_user_manager_->RemoveNonCryptohomeData(user_id);
-
- multi_profile_user_controller_->RemoveCachedValues(user_id);
-}
-
-void ChromeUserManager::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
- PrefService* local_state = GetLocalState();
- const std::string public_account_pending_data_removal =
- local_state->GetString(kPublicAccountPendingDataRemoval);
- if (public_account_pending_data_removal.empty() ||
- (IsUserLoggedIn() &&
- public_account_pending_data_removal == GetActiveUser()->email())) {
- return;
- }
-
- RemoveNonCryptohomeData(public_account_pending_data_removal);
- local_state->ClearPref(kPublicAccountPendingDataRemoval);
-}
-
-void ChromeUserManager::CleanUpPublicAccountNonCryptohomeData(
- const std::vector<std::string>& old_public_accounts) {
- std::set<std::string> users;
- for (user_manager::UserList::const_iterator it = users_.begin();
- it != users_.end();
- ++it)
- users.insert((*it)->email());
-
- // If the user is logged into a public account that has been removed from the
- // user list, mark the account's data as pending removal after logout.
- if (IsLoggedInAsPublicAccount()) {
- const std::string active_user_id = GetActiveUser()->email();
- if (users.find(active_user_id) == users.end()) {
- GetLocalState()->SetString(kPublicAccountPendingDataRemoval,
- active_user_id);
- users.insert(active_user_id);
- }
- }
-
- // Remove the data belonging to any other public accounts that are no longer
- // found on the user list.
- for (std::vector<std::string>::const_iterator it =
- old_public_accounts.begin();
- it != old_public_accounts.end();
- ++it) {
- if (users.find(*it) == users.end())
- RemoveNonCryptohomeData(*it);
- }
-}
-
-bool ChromeUserManager::UpdateAndCleanUpPublicAccounts(
- const std::vector<policy::DeviceLocalAccount>& device_local_accounts) {
- // Try to remove any public account data marked as pending removal.
- CleanUpPublicAccountNonCryptohomeDataPendingRemoval();
-
- // Get the current list of public accounts.
- std::vector<std::string> old_public_accounts;
- for (user_manager::UserList::const_iterator it = users_.begin();
- it != users_.end();
- ++it) {
- if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT)
- old_public_accounts.push_back((*it)->email());
- }
-
- // Get the new list of public accounts from policy.
- std::vector<std::string> new_public_accounts;
- for (std::vector<policy::DeviceLocalAccount>::const_iterator it =
- device_local_accounts.begin();
- it != device_local_accounts.end();
- ++it) {
- // TODO(mnissler, nkostylev, bartfab): Process Kiosk Apps within the
- // standard login framework: http://crbug.com/234694
- if (it->type == policy::DeviceLocalAccount::TYPE_PUBLIC_SESSION)
- new_public_accounts.push_back(it->user_id);
- }
-
- // If the list of public accounts has not changed, return.
- if (new_public_accounts.size() == old_public_accounts.size()) {
- bool changed = false;
- for (size_t i = 0; i < new_public_accounts.size(); ++i) {
- if (new_public_accounts[i] != old_public_accounts[i]) {
- changed = true;
- break;
- }
- }
- if (!changed)
- return false;
- }
-
- // Persist the new list of public accounts in a pref.
- ListPrefUpdate prefs_public_accounts_update(GetLocalState(), kPublicAccounts);
- prefs_public_accounts_update->Clear();
- for (std::vector<std::string>::const_iterator it =
- new_public_accounts.begin();
- it != new_public_accounts.end();
- ++it) {
- prefs_public_accounts_update->AppendString(*it);
- }
-
- // Remove the old public accounts from the user list.
- for (user_manager::UserList::iterator it = users_.begin();
- it != users_.end();) {
- if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) {
- if (*it != GetLoggedInUser())
- DeleteUser(*it);
- it = users_.erase(it);
- } else {
- ++it;
- }
- }
-
- // Add the new public accounts to the front of the user list.
- for (std::vector<std::string>::const_reverse_iterator it =
- new_public_accounts.rbegin();
- it != new_public_accounts.rend();
- ++it) {
- if (IsLoggedInAsPublicAccount() && *it == GetActiveUser()->email())
- users_.insert(users_.begin(), GetLoggedInUser());
- else
- users_.insert(users_.begin(),
- user_manager::User::CreatePublicAccountUser(*it));
- UpdatePublicAccountDisplayName(*it);
- }
-
- for (user_manager::UserList::iterator
- ui = users_.begin(),
- ue = users_.begin() + new_public_accounts.size();
- ui != ue;
- ++ui) {
- GetUserImageManager((*ui)->email())->LoadUserImage();
- }
-
- // Remove data belonging to public accounts that are no longer found on the
- // user list.
- CleanUpPublicAccountNonCryptohomeData(old_public_accounts);
-
- return true;
-}
-
-void ChromeUserManager::UpdatePublicAccountDisplayName(
- const std::string& user_id) {
- std::string display_name;
-
- if (device_local_account_policy_service_) {
- policy::DeviceLocalAccountPolicyBroker* broker =
- device_local_account_policy_service_->GetBrokerForUser(user_id);
- if (broker)
- display_name = broker->GetDisplayName();
- }
-
- // Set or clear the display name.
- SaveUserDisplayName(user_id, base::UTF8ToUTF16(display_name));
-}
-
-UserFlow* ChromeUserManager::GetCurrentUserFlow() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (!IsUserLoggedIn())
- return GetDefaultUserFlow();
- return GetUserFlow(GetLoggedInUser()->email());
-}
-
-UserFlow* ChromeUserManager::GetUserFlow(const std::string& user_id) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- FlowMap::const_iterator it = specific_flows_.find(user_id);
- if (it != specific_flows_.end())
- return it->second;
- return GetDefaultUserFlow();
-}
-
-void ChromeUserManager::SetUserFlow(const std::string& user_id,
- UserFlow* flow) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- ResetUserFlow(user_id);
- specific_flows_[user_id] = flow;
-}
-
-void ChromeUserManager::ResetUserFlow(const std::string& user_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- FlowMap::iterator it = specific_flows_.find(user_id);
- if (it != specific_flows_.end()) {
- delete it->second;
- specific_flows_.erase(it);
- }
-}
-
-bool ChromeUserManager::AreSupervisedUsersAllowed() const {
- bool supervised_users_allowed = false;
- cros_settings_->GetBoolean(kAccountsPrefSupervisedUsersEnabled,
- &supervised_users_allowed);
- return supervised_users_allowed;
-}
-
-UserFlow* ChromeUserManager::GetDefaultUserFlow() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (!default_flow_.get())
- default_flow_.reset(new DefaultUserFlow());
- return default_flow_.get();
-}
-
-void ChromeUserManager::NotifyUserListChanged() {
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_USER_LIST_CHANGED,
- content::Source<UserManager>(this),
- content::NotificationService::NoDetails());
-}
-
-void ChromeUserManager::NotifyUserAddedToSession(
- const user_manager::User* added_user,
- bool user_switch_pending) {
- if (user_switch_pending)
- SetPendingUserSwitchID(added_user->email());
-
- UpdateNumberOfUsers();
- UserManagerBase::NotifyUserAddedToSession(added_user, user_switch_pending);
-}
-
-void ChromeUserManager::OnUserNotAllowed(const std::string& user_email) {
- LOG(ERROR) << "Shutdown session because a user is not allowed to be in the "
- "current session";
- chromeos::ShowMultiprofilesSessionAbortedDialog(user_email);
-}
-
-void ChromeUserManager::UpdateNumberOfUsers() {
- size_t users = GetLoggedInUsers().size();
- if (users) {
- // Write the user number as UMA stat when a multi user session is possible.
- if ((users + GetUsersAdmittedForMultiProfile().size()) > 1)
- ash::MultiProfileUMA::RecordUserCount(users);
- }
-
- base::debug::SetCrashKeyValue(
- crash_keys::kNumberOfUsers,
- base::StringPrintf("%" PRIuS, GetLoggedInUsers().size()));
+// static
+ChromeUserManager* ChromeUserManager::Get() {
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
+ return user_manager ? static_cast<ChromeUserManager*>(user_manager) : NULL;
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager.h b/chrome/browser/chromeos/login/users/chrome_user_manager.h
index 84dd7d9..c6a74eb 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager.h
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager.h
@@ -5,222 +5,53 @@
#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
-#include <map>
-#include <string>
-#include <vector>
-
#include "base/basictypes.h"
-#include "base/containers/hash_tables.h"
-#include "base/memory/linked_ptr.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/observer_list.h"
-#include "base/synchronization/lock.h"
-#include "base/time/time.h"
-#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
-#include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager_base.h"
-#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
-#include "chrome/browser/chromeos/policy/cloud_external_data_policy_observer.h"
-#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
-#include "chrome/browser/chromeos/settings/cros_settings.h"
-#include "chrome/browser/chromeos/settings/device_settings_service.h"
-#include "components/user_manager/user.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-
-class PrefService;
-class ProfileSyncService;
+#include "components/user_manager/user_manager_base.h"
-namespace policy {
-struct DeviceLocalAccount;
+namespace base {
+class TaskRunner;
}
namespace chromeos {
class MultiProfileUserController;
-class RemoveUserDelegate;
-class SupervisedUserManagerImpl;
-class SessionLengthLimiter;
+class SupervisedUserManager;
+class UserFlow;
+class UserImageManager;
-// Chrome specific implementation of the UserManager.
-class ChromeUserManager
- : public UserManagerBase,
- public content::NotificationObserver,
- public policy::CloudExternalDataPolicyObserver::Delegate,
- public policy::DeviceLocalAccountPolicyService::Observer,
- public MultiProfileUserControllerDelegate {
+// Chrome specific interface of the UserManager.
+class ChromeUserManager : public user_manager::UserManagerBase {
public:
+ ChromeUserManager(scoped_refptr<base::TaskRunner> task_runner,
+ scoped_refptr<base::TaskRunner> blocking_task_runner);
virtual ~ChromeUserManager();
- // UserManager implementation:
- virtual void Shutdown() OVERRIDE;
- virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
- virtual UserImageManager* GetUserImageManager(
- const std::string& user_id) OVERRIDE;
- virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
- virtual user_manager::UserList GetUsersAdmittedForMultiProfile()
- const OVERRIDE;
- virtual user_manager::UserList GetUnlockUsers() const OVERRIDE;
- virtual void SessionStarted() OVERRIDE;
- virtual void SaveUserOAuthStatus(
- const std::string& user_id,
- user_manager::User::OAuthTokenStatus oauth_token_status) OVERRIDE;
- virtual void SaveUserDisplayName(const std::string& user_id,
- const base::string16& display_name) OVERRIDE;
- virtual bool CanCurrentUserLock() const OVERRIDE;
- virtual bool IsUserNonCryptohomeDataEphemeral(
- const std::string& user_id) const OVERRIDE;
-
- virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
- virtual UserFlow* GetUserFlow(const std::string& user_id) const OVERRIDE;
- virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) OVERRIDE;
- virtual void ResetUserFlow(const std::string& user_id) OVERRIDE;
- virtual bool AreSupervisedUsersAllowed() const OVERRIDE;
-
- // content::NotificationObserver implementation.
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
-
- // policy::CloudExternalDataPolicyObserver::Delegate:
- virtual void OnExternalDataSet(const std::string& policy,
- const std::string& user_id) OVERRIDE;
- virtual void OnExternalDataCleared(const std::string& policy,
- const std::string& user_id) OVERRIDE;
- virtual void OnExternalDataFetched(const std::string& policy,
- const std::string& user_id,
- scoped_ptr<std::string> data) OVERRIDE;
-
- // policy::DeviceLocalAccountPolicyService::Observer implementation.
- virtual void OnPolicyUpdated(const std::string& user_id) OVERRIDE;
- virtual void OnDeviceLocalAccountsChanged() OVERRIDE;
-
- void StopPolicyObserverForTesting();
-
- protected:
- // UserManagerBase implementation:
- virtual bool AreEphemeralUsersEnabled() const OVERRIDE;
- virtual const std::string& GetApplicationLocale() const OVERRIDE;
- virtual PrefService* GetLocalState() const OVERRIDE;
- virtual bool IsEnterpriseManaged() const OVERRIDE;
- virtual void LoadPublicAccounts(std::set<std::string>* users_set) OVERRIDE;
- virtual void NotifyOnLogin() OVERRIDE;
- virtual void NotifyUserAddedToSession(const user_manager::User* added_user,
- bool user_switch_pending) OVERRIDE;
- virtual void PerformPreUserListLoadingActions() OVERRIDE;
- virtual void PerformPostUserListLoadingActions() OVERRIDE;
- virtual void PerformPostUserLoggedInActions(bool browser_restart) OVERRIDE;
- virtual void RemoveNonCryptohomeData(const std::string& user_id) OVERRIDE;
- virtual void RemoveUserInternal(const std::string& user_email,
- RemoveUserDelegate* delegate) OVERRIDE;
- virtual bool IsDemoApp(const std::string& user_id) const OVERRIDE;
- virtual bool IsKioskApp(const std::string& user_id) const OVERRIDE;
- virtual bool IsPublicAccountMarkedForRemoval(
- const std::string& user_id) const OVERRIDE;
- virtual void DemoAccountLoggedIn() OVERRIDE;
- virtual void GuestUserLoggedIn() OVERRIDE;
- virtual void KioskAppLoggedIn(const std::string& app_id) OVERRIDE;
- virtual void PublicAccountUserLoggedIn(user_manager::User* user) OVERRIDE;
- virtual void RegularUserLoggedIn(const std::string& user_id) OVERRIDE;
- virtual void RegularUserLoggedInAsEphemeral(
- const std::string& user_id) OVERRIDE;
- virtual void RetailModeUserLoggedIn() OVERRIDE;
- virtual void SupervisedUserLoggedIn(const std::string& user_id) OVERRIDE;
-
- private:
- friend class SupervisedUserManagerImpl;
- friend class UserManager;
- friend class UserManagerTest;
- friend class WallpaperManager;
- friend class WallpaperManagerTest;
-
- typedef base::hash_map<std::string, linked_ptr<UserImageManager> >
- UserImageManagerMap;
-
- ChromeUserManager();
-
- // Retrieves trusted device policies and removes users from the persistent
- // list if ephemeral users are enabled. Schedules a callback to itself if
- // trusted device policies are not yet available.
- void RetrieveTrustedDevicePolicies();
-
- // Updates current user ownership on UI thread.
- void UpdateOwnership();
-
- // If data for a public account is marked as pending removal and the user is
- // no longer logged into that account, removes the data.
- void CleanUpPublicAccountNonCryptohomeDataPendingRemoval();
-
- // Removes data belonging to public accounts that are no longer found on the
- // user list. If the user is currently logged into one of these accounts, the
- // data for that account is not removed immediately but marked as pending
- // removal after logout.
- void CleanUpPublicAccountNonCryptohomeData(
- const std::vector<std::string>& old_public_accounts);
-
- // Replaces the list of public accounts with those found in
- // |device_local_accounts|. Ensures that data belonging to accounts no longer
- // on the list is removed. Returns |true| if the list has changed.
- // Public accounts are defined by policy. This method is called whenever an
- // updated list of public accounts is received from policy.
- bool UpdateAndCleanUpPublicAccounts(
- const std::vector<policy::DeviceLocalAccount>& device_local_accounts);
-
- // Updates the display name for public account |username| from policy settings
- // associated with that username.
- void UpdatePublicAccountDisplayName(const std::string& user_id);
-
- // Notifies the UI about a change to the user list.
- void NotifyUserListChanged();
-
- // Lazily creates default user flow.
- UserFlow* GetDefaultUserFlow() const;
-
- // MultiProfileUserControllerDelegate implementation:
- virtual void OnUserNotAllowed(const std::string& user_email) OVERRIDE;
-
- // Update the number of users.
- void UpdateNumberOfUsers();
-
- // Interface to the signed settings store.
- CrosSettings* cros_settings_;
-
- // Interface to device-local account definitions and associated policy.
- policy::DeviceLocalAccountPolicyService* device_local_account_policy_service_;
-
- content::NotificationRegistrar registrar_;
-
- // User avatar managers.
- UserImageManagerMap user_image_managers_;
-
- // Supervised user manager.
- scoped_ptr<SupervisedUserManagerImpl> supervised_user_manager_;
-
- // Session length limiter.
- scoped_ptr<SessionLengthLimiter> session_length_limiter_;
-
- typedef std::map<std::string, UserFlow*> FlowMap;
-
- // Lazy-initialized default flow.
- mutable scoped_ptr<UserFlow> default_flow_;
-
- // Specific flows by user e-mail. Keys should be canonicalized before
- // access.
- FlowMap specific_flows_;
+ // Returns current ChromeUserManager or NULL if instance hasn't been
+ // yet initialized.
+ static ChromeUserManager* Get();
- scoped_ptr<CrosSettings::ObserverSubscription> local_accounts_subscription_;
+ virtual MultiProfileUserController* GetMultiProfileUserController() = 0;
+ virtual UserImageManager* GetUserImageManager(const std::string& user_id) = 0;
+ virtual SupervisedUserManager* GetSupervisedUserManager() = 0;
- scoped_ptr<MultiProfileUserController> multi_profile_user_controller_;
+ // Method that allows to set |flow| for user identified by |user_id|.
+ // Flow should be set before login attempt.
+ // Takes ownership of the |flow|, |flow| will be deleted in case of login
+ // failure.
+ virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) = 0;
- // Observer for the policy that can be used to manage user images.
- scoped_ptr<policy::CloudExternalDataPolicyObserver> avatar_policy_observer_;
+ // Return user flow for current user. Returns instance of DefaultUserFlow if
+ // no flow was defined for current user, or user is not logged in.
+ // Returned value should not be cached.
+ virtual UserFlow* GetCurrentUserFlow() const = 0;
- // Observer for the policy that can be used to manage wallpapers.
- scoped_ptr<policy::CloudExternalDataPolicyObserver>
- wallpaper_policy_observer_;
+ // Return user flow for user identified by |user_id|. Returns instance of
+ // DefaultUserFlow if no flow was defined for user.
+ // Returned value should not be cached.
+ virtual UserFlow* GetUserFlow(const std::string& user_id) const = 0;
- base::WeakPtrFactory<ChromeUserManager> weak_factory_;
+ // Resets user flow for user identified by |user_id|.
+ virtual void ResetUserFlow(const std::string& user_id) = 0;
DISALLOW_COPY_AND_ASSIGN(ChromeUserManager);
};
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
new file mode 100644
index 0000000..32aab49
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -0,0 +1,1040 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
+
+#include <cstddef>
+#include <set>
+
+#include "ash/multi_profile_uma.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/command_line.h"
+#include "base/compiler_specific.h"
+#include "base/format_macros.h"
+#include "base/logging.h"
+#include "base/metrics/histogram.h"
+#include "base/prefs/pref_registry_simple.h"
+#include "base/prefs/pref_service.h"
+#include "base/prefs/scoped_user_pref_update.h"
+#include "base/strings/string_util.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/thread_task_runner_handle.h"
+#include "base/values.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
+#include "chrome/browser/chromeos/login/session/user_session_manager.h"
+#include "chrome/browser/chromeos/login/signin/auth_sync_observer.h"
+#include "chrome/browser/chromeos/login/signin/auth_sync_observer_factory.h"
+#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
+#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
+#include "chrome/browser/chromeos/login/users/supervised_user_manager_impl.h"
+#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
+#include "chrome/browser/chromeos/policy/device_local_account.h"
+#include "chrome/browser/chromeos/profiles/multiprofiles_session_aborted_dialog.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/chromeos/session_length_limiter.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/supervised_user/chromeos/manager_password_service_factory.h"
+#include "chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.h"
+#include "chrome/common/chrome_constants.h"
+#include "chrome/common/chrome_switches.h"
+#include "chrome/common/crash_keys.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/grit/theme_resources.h"
+#include "chromeos/chromeos_switches.h"
+#include "chromeos/login/user_names.h"
+#include "chromeos/settings/cros_settings_names.h"
+#include "components/session_manager/core/session_manager.h"
+#include "components/user_manager/remove_user_delegate.h"
+#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_type.h"
+#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/notification_service.h"
+#include "policy/policy_constants.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "ui/wm/core/wm_core_switches.h"
+
+using content::BrowserThread;
+
+namespace chromeos {
+namespace {
+
+// A vector pref of the the regular users known on this device, arranged in LRU
+// order.
+const char kRegularUsers[] = "LoggedInUsers";
+
+// A vector pref of the public accounts defined on this device.
+const char kPublicAccounts[] = "PublicAccounts";
+
+// A string pref that gets set when a public account is removed but a user is
+// currently logged into that account, requiring the account's data to be
+// removed after logout.
+const char kPublicAccountPendingDataRemoval[] =
+ "PublicAccountPendingDataRemoval";
+
+} // namespace
+
+// static
+void ChromeUserManagerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
+ ChromeUserManager::RegisterPrefs(registry);
+
+ registry->RegisterListPref(kPublicAccounts);
+ registry->RegisterStringPref(kPublicAccountPendingDataRemoval, std::string());
+ SupervisedUserManager::RegisterPrefs(registry);
+ SessionLengthLimiter::RegisterPrefs(registry);
+}
+
+// static
+scoped_ptr<ChromeUserManager> ChromeUserManagerImpl::CreateChromeUserManager() {
+ return scoped_ptr<ChromeUserManager>(new ChromeUserManagerImpl());
+}
+
+ChromeUserManagerImpl::ChromeUserManagerImpl()
+ : ChromeUserManager(base::ThreadTaskRunnerHandle::Get(),
+ BrowserThread::GetBlockingPool()),
+ cros_settings_(CrosSettings::Get()),
+ device_local_account_policy_service_(NULL),
+ supervised_user_manager_(new SupervisedUserManagerImpl(this)),
+ weak_factory_(this) {
+ UpdateNumberOfUsers();
+
+ // UserManager instance should be used only on UI thread.
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ registrar_.Add(this,
+ chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED,
+ content::NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
+ content::NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_PROFILE_CREATED,
+ content::NotificationService::AllSources());
+
+ // Since we're in ctor postpone any actions till this is fully created.
+ if (base::MessageLoop::current()) {
+ base::MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
+ weak_factory_.GetWeakPtr()));
+ }
+
+ local_accounts_subscription_ = cros_settings_->AddSettingsObserver(
+ kAccountsPrefDeviceLocalAccounts,
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
+ weak_factory_.GetWeakPtr()));
+ multi_profile_user_controller_.reset(
+ new MultiProfileUserController(this, GetLocalState()));
+
+ policy::BrowserPolicyConnectorChromeOS* connector =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos();
+ avatar_policy_observer_.reset(new policy::CloudExternalDataPolicyObserver(
+ cros_settings_,
+ connector->GetDeviceLocalAccountPolicyService(),
+ policy::key::kUserAvatarImage,
+ this));
+ avatar_policy_observer_->Init();
+
+ wallpaper_policy_observer_.reset(new policy::CloudExternalDataPolicyObserver(
+ cros_settings_,
+ connector->GetDeviceLocalAccountPolicyService(),
+ policy::key::kWallpaperImage,
+ this));
+ wallpaper_policy_observer_->Init();
+}
+
+ChromeUserManagerImpl::~ChromeUserManagerImpl() {
+}
+
+void ChromeUserManagerImpl::Shutdown() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::Shutdown();
+
+ local_accounts_subscription_.reset();
+
+ // Stop the session length limiter.
+ session_length_limiter_.reset();
+
+ if (device_local_account_policy_service_)
+ device_local_account_policy_service_->RemoveObserver(this);
+
+ for (UserImageManagerMap::iterator it = user_image_managers_.begin(),
+ ie = user_image_managers_.end();
+ it != ie;
+ ++it) {
+ it->second->Shutdown();
+ }
+ multi_profile_user_controller_.reset();
+ avatar_policy_observer_.reset();
+ wallpaper_policy_observer_.reset();
+ registrar_.RemoveAll();
+}
+
+MultiProfileUserController*
+ChromeUserManagerImpl::GetMultiProfileUserController() {
+ return multi_profile_user_controller_.get();
+}
+
+UserImageManager* ChromeUserManagerImpl::GetUserImageManager(
+ const std::string& user_id) {
+ UserImageManagerMap::iterator ui = user_image_managers_.find(user_id);
+ if (ui != user_image_managers_.end())
+ return ui->second.get();
+ linked_ptr<UserImageManagerImpl> mgr(new UserImageManagerImpl(user_id, this));
+ user_image_managers_[user_id] = mgr;
+ return mgr.get();
+}
+
+SupervisedUserManager* ChromeUserManagerImpl::GetSupervisedUserManager() {
+ return supervised_user_manager_.get();
+}
+
+user_manager::UserList ChromeUserManagerImpl::GetUsersAdmittedForMultiProfile()
+ const {
+ // Supervised users are not allowed to use multi-profiles.
+ if (GetLoggedInUsers().size() == 1 &&
+ GetPrimaryUser()->GetType() != user_manager::USER_TYPE_REGULAR) {
+ return user_manager::UserList();
+ }
+
+ user_manager::UserList result;
+ const user_manager::UserList& users = GetUsers();
+ for (user_manager::UserList::const_iterator it = users.begin();
+ it != users.end();
+ ++it) {
+ if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR &&
+ !(*it)->is_logged_in()) {
+ MultiProfileUserController::UserAllowedInSessionReason check;
+ multi_profile_user_controller_->IsUserAllowedInSession((*it)->email(),
+ &check);
+ if (check ==
+ MultiProfileUserController::NOT_ALLOWED_PRIMARY_USER_POLICY_FORBIDS) {
+ return user_manager::UserList();
+ }
+
+ // Users with a policy that prevents them being added to a session will be
+ // shown in login UI but will be grayed out.
+ // Same applies to owner account (see http://crbug.com/385034).
+ if (check == MultiProfileUserController::ALLOWED ||
+ check == MultiProfileUserController::NOT_ALLOWED_POLICY_FORBIDS ||
+ check == MultiProfileUserController::NOT_ALLOWED_OWNER_AS_SECONDARY ||
+ check ==
+ MultiProfileUserController::NOT_ALLOWED_POLICY_CERT_TAINTED) {
+ result.push_back(*it);
+ }
+ }
+ }
+
+ return result;
+}
+
+user_manager::UserList ChromeUserManagerImpl::GetUnlockUsers() const {
+ const user_manager::UserList& logged_in_users = GetLoggedInUsers();
+ if (logged_in_users.empty())
+ return user_manager::UserList();
+
+ user_manager::UserList unlock_users;
+ Profile* profile =
+ ProfileHelper::Get()->GetProfileByUserUnsafe(GetPrimaryUser());
+ std::string primary_behavior =
+ profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior);
+
+ // Specific case: only one logged in user or
+ // primary user has primary-only multi-profile policy.
+ if (logged_in_users.size() == 1 ||
+ primary_behavior == MultiProfileUserController::kBehaviorPrimaryOnly) {
+ if (GetPrimaryUser()->can_lock())
+ unlock_users.push_back(primary_user_);
+ } else {
+ // Fill list of potential unlock users based on multi-profile policy state.
+ for (user_manager::UserList::const_iterator it = logged_in_users.begin();
+ it != logged_in_users.end();
+ ++it) {
+ user_manager::User* user = (*it);
+ Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
+ const std::string behavior =
+ profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior);
+ if (behavior == MultiProfileUserController::kBehaviorUnrestricted &&
+ user->can_lock()) {
+ unlock_users.push_back(user);
+ } else if (behavior == MultiProfileUserController::kBehaviorPrimaryOnly) {
+ NOTREACHED()
+ << "Spotted primary-only multi-profile policy for non-primary user";
+ }
+ }
+ }
+
+ return unlock_users;
+}
+
+void ChromeUserManagerImpl::SessionStarted() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::SessionStarted();
+
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_SESSION_STARTED,
+ content::Source<UserManager>(this),
+ content::Details<const user_manager::User>(GetActiveUser()));
+}
+
+void ChromeUserManagerImpl::RemoveUserInternal(
+ const std::string& user_email,
+ user_manager::RemoveUserDelegate* delegate) {
+ CrosSettings* cros_settings = CrosSettings::Get();
+
+ const base::Closure& callback =
+ base::Bind(&ChromeUserManagerImpl::RemoveUserInternal,
+ weak_factory_.GetWeakPtr(),
+ user_email,
+ delegate);
+
+ // Ensure the value of owner email has been fetched.
+ if (CrosSettingsProvider::TRUSTED !=
+ cros_settings->PrepareTrustedValues(callback)) {
+ // Value of owner email is not fetched yet. RemoveUserInternal will be
+ // called again after fetch completion.
+ return;
+ }
+ std::string owner;
+ cros_settings->GetString(kDeviceOwner, &owner);
+ if (user_email == owner) {
+ // Owner is not allowed to be removed from the device.
+ return;
+ }
+ RemoveNonOwnerUserInternal(user_email, delegate);
+}
+
+void ChromeUserManagerImpl::SaveUserOAuthStatus(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus oauth_token_status) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::SaveUserOAuthStatus(user_id, oauth_token_status);
+
+ GetUserFlow(user_id)->HandleOAuthTokenStatusChange(oauth_token_status);
+}
+
+void ChromeUserManagerImpl::SaveUserDisplayName(
+ const std::string& user_id,
+ const base::string16& display_name) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::SaveUserDisplayName(user_id, display_name);
+
+ // Do not update local state if data stored or cached outside the user's
+ // cryptohome is to be treated as ephemeral.
+ if (!IsUserNonCryptohomeDataEphemeral(user_id))
+ supervised_user_manager_->UpdateManagerName(user_id, display_name);
+}
+
+void ChromeUserManagerImpl::StopPolicyObserverForTesting() {
+ avatar_policy_observer_.reset();
+ wallpaper_policy_observer_.reset();
+}
+
+void ChromeUserManagerImpl::Observe(
+ int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) {
+ switch (type) {
+ case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED:
+ if (!device_local_account_policy_service_) {
+ policy::BrowserPolicyConnectorChromeOS* connector =
+ g_browser_process->platform_part()
+ ->browser_policy_connector_chromeos();
+ device_local_account_policy_service_ =
+ connector->GetDeviceLocalAccountPolicyService();
+ if (device_local_account_policy_service_)
+ device_local_account_policy_service_->AddObserver(this);
+ }
+ RetrieveTrustedDevicePolicies();
+ UpdateOwnership();
+ break;
+ case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: {
+ Profile* profile = content::Details<Profile>(details).ptr();
+ if (IsUserLoggedIn() && !IsLoggedInAsGuest() && !IsLoggedInAsKioskApp()) {
+ if (IsLoggedInAsSupervisedUser())
+ SupervisedUserPasswordServiceFactory::GetForProfile(profile);
+ if (IsLoggedInAsRegularUser())
+ ManagerPasswordServiceFactory::GetForProfile(profile);
+
+ if (!profile->IsOffTheRecord()) {
+ AuthSyncObserver* sync_observer =
+ AuthSyncObserverFactory::GetInstance()->GetForProfile(profile);
+ sync_observer->StartObserving();
+ multi_profile_user_controller_->StartObserving(profile);
+ }
+ }
+ break;
+ }
+ case chrome::NOTIFICATION_PROFILE_CREATED: {
+ Profile* profile = content::Source<Profile>(source).ptr();
+ user_manager::User* user =
+ ProfileHelper::Get()->GetUserByProfile(profile);
+ if (user != NULL)
+ user->set_profile_is_created();
+
+ // If there is pending user switch, do it now.
+ if (!GetPendingUserSwitchID().empty()) {
+ // Call SwitchActiveUser async because otherwise it may cause
+ // ProfileManager::GetProfile before the profile gets registered
+ // in ProfileManager. It happens in case of sync profile load when
+ // NOTIFICATION_PROFILE_CREATED is called synchronously.
+ base::MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(&ChromeUserManagerImpl::SwitchActiveUser,
+ weak_factory_.GetWeakPtr(),
+ GetPendingUserSwitchID()));
+ SetPendingUserSwitchID(std::string());
+ }
+ break;
+ }
+ default:
+ NOTREACHED();
+ }
+}
+
+void ChromeUserManagerImpl::OnExternalDataSet(const std::string& policy,
+ const std::string& user_id) {
+ if (policy == policy::key::kUserAvatarImage)
+ GetUserImageManager(user_id)->OnExternalDataSet(policy);
+ else if (policy == policy::key::kWallpaperImage)
+ WallpaperManager::Get()->OnPolicySet(policy, user_id);
+ else
+ NOTREACHED();
+}
+
+void ChromeUserManagerImpl::OnExternalDataCleared(const std::string& policy,
+ const std::string& user_id) {
+ if (policy == policy::key::kUserAvatarImage)
+ GetUserImageManager(user_id)->OnExternalDataCleared(policy);
+ else if (policy == policy::key::kWallpaperImage)
+ WallpaperManager::Get()->OnPolicyCleared(policy, user_id);
+ else
+ NOTREACHED();
+}
+
+void ChromeUserManagerImpl::OnExternalDataFetched(
+ const std::string& policy,
+ const std::string& user_id,
+ scoped_ptr<std::string> data) {
+ if (policy == policy::key::kUserAvatarImage)
+ GetUserImageManager(user_id)->OnExternalDataFetched(policy, data.Pass());
+ else if (policy == policy::key::kWallpaperImage)
+ WallpaperManager::Get()->OnPolicyFetched(policy, user_id, data.Pass());
+ else
+ NOTREACHED();
+}
+
+void ChromeUserManagerImpl::OnPolicyUpdated(const std::string& user_id) {
+ const user_manager::User* user = FindUser(user_id);
+ if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
+ return;
+ UpdatePublicAccountDisplayName(user_id);
+}
+
+void ChromeUserManagerImpl::OnDeviceLocalAccountsChanged() {
+ // No action needed here, changes to the list of device-local accounts get
+ // handled via the kAccountsPrefDeviceLocalAccounts device setting observer.
+}
+
+bool ChromeUserManagerImpl::CanCurrentUserLock() const {
+ return ChromeUserManager::CanCurrentUserLock() &&
+ GetCurrentUserFlow()->CanLockScreen();
+}
+
+bool ChromeUserManagerImpl::IsUserNonCryptohomeDataEphemeral(
+ const std::string& user_id) const {
+ // Data belonging to the obsolete public accounts whose data has not been
+ // removed yet is not ephemeral.
+ bool is_obsolete_public_account = IsPublicAccountMarkedForRemoval(user_id);
+
+ return !is_obsolete_public_account &&
+ ChromeUserManager::IsUserNonCryptohomeDataEphemeral(user_id);
+}
+
+bool ChromeUserManagerImpl::AreEphemeralUsersEnabled() const {
+ policy::BrowserPolicyConnectorChromeOS* connector =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos();
+ return GetEphemeralUsersEnabled() &&
+ (connector->IsEnterpriseManaged() || !GetOwnerEmail().empty());
+}
+
+const std::string& ChromeUserManagerImpl::GetApplicationLocale() const {
+ return g_browser_process->GetApplicationLocale();
+}
+
+PrefService* ChromeUserManagerImpl::GetLocalState() const {
+ return g_browser_process ? g_browser_process->local_state() : NULL;
+}
+
+void ChromeUserManagerImpl::HandleUserOAuthTokenStatusChange(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus status) const {
+ GetUserFlow(user_id)->HandleOAuthTokenStatusChange(status);
+}
+
+bool ChromeUserManagerImpl::IsEnterpriseManaged() const {
+ policy::BrowserPolicyConnectorChromeOS* connector =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos();
+ return connector->IsEnterpriseManaged();
+}
+
+void ChromeUserManagerImpl::LoadPublicAccounts(
+ std::set<std::string>* public_sessions_set) {
+ const base::ListValue* prefs_public_sessions =
+ GetLocalState()->GetList(kPublicAccounts);
+ std::vector<std::string> public_sessions;
+ ParseUserList(*prefs_public_sessions,
+ std::set<std::string>(),
+ &public_sessions,
+ public_sessions_set);
+ for (std::vector<std::string>::const_iterator it = public_sessions.begin();
+ it != public_sessions.end();
+ ++it) {
+ users_.push_back(user_manager::User::CreatePublicAccountUser(*it));
+ UpdatePublicAccountDisplayName(*it);
+ }
+}
+
+void ChromeUserManagerImpl::PerformPreUserListLoadingActions() {
+ // Clean up user list first. All code down the path should be synchronous,
+ // so that local state after transaction rollback is in consistent state.
+ // This process also should not trigger EnsureUsersLoaded again.
+ if (supervised_user_manager_->HasFailedUserCreationTransaction())
+ supervised_user_manager_->RollbackUserCreationTransaction();
+}
+
+void ChromeUserManagerImpl::PerformPostUserListLoadingActions() {
+ for (user_manager::UserList::iterator ui = users_.begin(), ue = users_.end();
+ ui != ue;
+ ++ui) {
+ GetUserImageManager((*ui)->email())->LoadUserImage();
+ }
+}
+
+void ChromeUserManagerImpl::PerformPostUserLoggedInActions(
+ bool browser_restart) {
+ // Initialize the session length limiter and start it only if
+ // session limit is defined by the policy.
+ session_length_limiter_.reset(
+ new SessionLengthLimiter(NULL, browser_restart));
+}
+
+bool ChromeUserManagerImpl::IsDemoApp(const std::string& user_id) const {
+ return DemoAppLauncher::IsDemoAppSession(user_id);
+}
+
+bool ChromeUserManagerImpl::IsKioskApp(const std::string& user_id) const {
+ policy::DeviceLocalAccount::Type device_local_account_type;
+ return policy::IsDeviceLocalAccountUser(user_id,
+ &device_local_account_type) &&
+ device_local_account_type ==
+ policy::DeviceLocalAccount::TYPE_KIOSK_APP;
+}
+
+bool ChromeUserManagerImpl::IsPublicAccountMarkedForRemoval(
+ const std::string& user_id) const {
+ return user_id ==
+ GetLocalState()->GetString(kPublicAccountPendingDataRemoval);
+}
+
+void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
+ // Local state may not be initialized in unit_tests.
+ if (!GetLocalState())
+ return;
+
+ SetEphemeralUsersEnabled(false);
+ SetOwnerEmail(std::string());
+
+ // Schedule a callback if device policy has not yet been verified.
+ if (CrosSettingsProvider::TRUSTED !=
+ cros_settings_->PrepareTrustedValues(
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
+ weak_factory_.GetWeakPtr()))) {
+ return;
+ }
+
+ bool ephemeral_users_enabled = false;
+ cros_settings_->GetBoolean(kAccountsPrefEphemeralUsersEnabled,
+ &ephemeral_users_enabled);
+ SetEphemeralUsersEnabled(ephemeral_users_enabled);
+
+ std::string owner_email;
+ cros_settings_->GetString(kDeviceOwner, &owner_email);
+ SetOwnerEmail(owner_email);
+
+ EnsureUsersLoaded();
+
+ bool changed = UpdateAndCleanUpPublicAccounts(
+ policy::GetDeviceLocalAccounts(cros_settings_));
+
+ // If ephemeral users are enabled and we are on the login screen, take this
+ // opportunity to clean up by removing all regular users except the owner.
+ if (GetEphemeralUsersEnabled() && !IsUserLoggedIn()) {
+ ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
+ prefs_users_update->Clear();
+ for (user_manager::UserList::iterator it = users_.begin();
+ it != users_.end();) {
+ const std::string user_email = (*it)->email();
+ if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR &&
+ user_email != GetOwnerEmail()) {
+ RemoveNonCryptohomeData(user_email);
+ DeleteUser(*it);
+ it = users_.erase(it);
+ changed = true;
+ } else {
+ if ((*it)->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
+ prefs_users_update->Append(new base::StringValue(user_email));
+ ++it;
+ }
+ }
+ }
+
+ if (changed)
+ NotifyUserListChanged();
+}
+
+void ChromeUserManagerImpl::GuestUserLoggedIn() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::GuestUserLoggedIn();
+
+ // TODO(nkostylev): Add support for passing guest session cryptohome
+ // mount point. Legacy (--login-profile) value will be used for now.
+ // http://crosbug.com/230859
+ active_user_->SetStubImage(
+ user_manager::UserImage(
+ *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PROFILE_PICTURE_LOADING)),
+ user_manager::User::USER_IMAGE_INVALID,
+ false);
+
+ // Initializes wallpaper after active_user_ is set.
+ WallpaperManager::Get()->SetUserWallpaperNow(chromeos::login::kGuestUserName);
+}
+
+void ChromeUserManagerImpl::RegularUserLoggedIn(const std::string& user_id) {
+ ChromeUserManager::RegularUserLoggedIn(user_id);
+
+ if (IsCurrentUserNew())
+ WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+
+ GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
+
+ WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
+
+ // Make sure that new data is persisted to Local State.
+ GetLocalState()->CommitPendingWrite();
+}
+
+void ChromeUserManagerImpl::RegularUserLoggedInAsEphemeral(
+ const std::string& user_id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ChromeUserManager::RegularUserLoggedInAsEphemeral(user_id);
+
+ GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
+ WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+}
+
+void ChromeUserManagerImpl::SupervisedUserLoggedIn(const std::string& user_id) {
+ // TODO(nkostylev): Refactor, share code with RegularUserLoggedIn().
+
+ // Remove the user from the user list.
+ active_user_ = RemoveRegularOrSupervisedUserFromList(user_id);
+
+ // If the user was not found on the user list, create a new user.
+ if (!GetActiveUser()) {
+ SetIsCurrentUserNew(true);
+ active_user_ = user_manager::User::CreateSupervisedUser(user_id);
+ // Leaving OAuth token status at the default state = unknown.
+ WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ } else {
+ if (supervised_user_manager_->CheckForFirstRun(user_id)) {
+ SetIsCurrentUserNew(true);
+ WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ } else {
+ SetIsCurrentUserNew(false);
+ }
+ }
+
+ // Add the user to the front of the user list.
+ ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
+ prefs_users_update->Insert(0, new base::StringValue(user_id));
+ users_.insert(users_.begin(), active_user_);
+
+ // Now that user is in the list, save display name.
+ if (IsCurrentUserNew()) {
+ SaveUserDisplayName(GetActiveUser()->email(),
+ GetActiveUser()->GetDisplayName());
+ }
+
+ GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), true);
+ WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
+
+ // Make sure that new data is persisted to Local State.
+ GetLocalState()->CommitPendingWrite();
+}
+
+void ChromeUserManagerImpl::PublicAccountUserLoggedIn(
+ user_manager::User* user) {
+ SetIsCurrentUserNew(true);
+ active_user_ = user;
+
+ // The UserImageManager chooses a random avatar picture when a user logs in
+ // for the first time. Tell the UserImageManager that this user is not new to
+ // prevent the avatar from getting changed.
+ GetUserImageManager(user->email())->UserLoggedIn(false, true);
+ WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
+}
+
+void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ policy::DeviceLocalAccount::Type device_local_account_type;
+ DCHECK(policy::IsDeviceLocalAccountUser(app_id, &device_local_account_type));
+ DCHECK_EQ(policy::DeviceLocalAccount::TYPE_KIOSK_APP,
+ device_local_account_type);
+
+ active_user_ = user_manager::User::CreateKioskAppUser(app_id);
+ active_user_->SetStubImage(
+ user_manager::UserImage(
+ *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PROFILE_PICTURE_LOADING)),
+ user_manager::User::USER_IMAGE_INVALID,
+ false);
+
+ WallpaperManager::Get()->SetUserWallpaperNow(app_id);
+
+ // TODO(bartfab): Add KioskAppUsers to the users_ list and keep metadata like
+ // the kiosk_app_id in these objects, removing the need to re-parse the
+ // device-local account list here to extract the kiosk_app_id.
+ const std::vector<policy::DeviceLocalAccount> device_local_accounts =
+ policy::GetDeviceLocalAccounts(cros_settings_);
+ const policy::DeviceLocalAccount* account = NULL;
+ for (std::vector<policy::DeviceLocalAccount>::const_iterator it =
+ device_local_accounts.begin();
+ it != device_local_accounts.end();
+ ++it) {
+ if (it->user_id == app_id) {
+ account = &*it;
+ break;
+ }
+ }
+ std::string kiosk_app_id;
+ if (account) {
+ kiosk_app_id = account->kiosk_app_id;
+ } else {
+ LOG(ERROR) << "Logged into nonexistent kiosk-app account: " << app_id;
+ NOTREACHED();
+ }
+
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ command_line->AppendSwitch(::switches::kForceAppMode);
+ command_line->AppendSwitchASCII(::switches::kAppId, kiosk_app_id);
+
+ // Disable window animation since kiosk app runs in a single full screen
+ // window and window animation causes start-up janks.
+ command_line->AppendSwitch(wm::switches::kWindowAnimationsDisabled);
+}
+
+void ChromeUserManagerImpl::DemoAccountLoggedIn() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ active_user_ =
+ user_manager::User::CreateKioskAppUser(DemoAppLauncher::kDemoUserName);
+ active_user_->SetStubImage(
+ user_manager::UserImage(
+ *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PROFILE_PICTURE_LOADING)),
+ user_manager::User::USER_IMAGE_INVALID,
+ false);
+ WallpaperManager::Get()->SetUserWallpaperNow(DemoAppLauncher::kDemoUserName);
+
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ command_line->AppendSwitch(::switches::kForceAppMode);
+ command_line->AppendSwitchASCII(::switches::kAppId,
+ DemoAppLauncher::kDemoAppId);
+
+ // Disable window animation since the demo app runs in a single full screen
+ // window and window animation causes start-up janks.
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ wm::switches::kWindowAnimationsDisabled);
+}
+
+void ChromeUserManagerImpl::RetailModeUserLoggedIn() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ SetIsCurrentUserNew(true);
+ active_user_ = user_manager::User::CreateRetailModeUser();
+ GetUserImageManager(chromeos::login::kRetailModeUserName)
+ ->UserLoggedIn(IsCurrentUserNew(), true);
+ WallpaperManager::Get()->SetUserWallpaperNow(
+ chromeos::login::kRetailModeUserName);
+}
+
+void ChromeUserManagerImpl::NotifyOnLogin() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ UserSessionManager::OverrideHomedir();
+ UpdateNumberOfUsers();
+
+ ChromeUserManager::NotifyOnLogin();
+
+ // TODO(nkostylev): Deprecate this notification in favor of
+ // ActiveUserChanged() observer call.
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_LOGIN_USER_CHANGED,
+ content::Source<UserManager>(this),
+ content::Details<const user_manager::User>(GetActiveUser()));
+
+ UserSessionManager::GetInstance()->PerformPostUserLoggedInActions();
+}
+
+void ChromeUserManagerImpl::UpdateOwnership() {
+ bool is_owner = DeviceSettingsService::Get()->HasPrivateOwnerKey();
+ VLOG(1) << "Current user " << (is_owner ? "is owner" : "is not owner");
+
+ SetCurrentUserIsOwner(is_owner);
+}
+
+void ChromeUserManagerImpl::RemoveNonCryptohomeData(
+ const std::string& user_id) {
+ ChromeUserManager::RemoveNonCryptohomeData(user_id);
+
+ WallpaperManager::Get()->RemoveUserWallpaperInfo(user_id);
+ GetUserImageManager(user_id)->DeleteUserImage();
+
+ supervised_user_manager_->RemoveNonCryptohomeData(user_id);
+
+ multi_profile_user_controller_->RemoveCachedValues(user_id);
+}
+
+void
+ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
+ PrefService* local_state = GetLocalState();
+ const std::string public_account_pending_data_removal =
+ local_state->GetString(kPublicAccountPendingDataRemoval);
+ if (public_account_pending_data_removal.empty() ||
+ (IsUserLoggedIn() &&
+ public_account_pending_data_removal == GetActiveUser()->email())) {
+ return;
+ }
+
+ RemoveNonCryptohomeData(public_account_pending_data_removal);
+ local_state->ClearPref(kPublicAccountPendingDataRemoval);
+}
+
+void ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeData(
+ const std::vector<std::string>& old_public_accounts) {
+ std::set<std::string> users;
+ for (user_manager::UserList::const_iterator it = users_.begin();
+ it != users_.end();
+ ++it)
+ users.insert((*it)->email());
+
+ // If the user is logged into a public account that has been removed from the
+ // user list, mark the account's data as pending removal after logout.
+ if (IsLoggedInAsPublicAccount()) {
+ const std::string active_user_id = GetActiveUser()->email();
+ if (users.find(active_user_id) == users.end()) {
+ GetLocalState()->SetString(kPublicAccountPendingDataRemoval,
+ active_user_id);
+ users.insert(active_user_id);
+ }
+ }
+
+ // Remove the data belonging to any other public accounts that are no longer
+ // found on the user list.
+ for (std::vector<std::string>::const_iterator it =
+ old_public_accounts.begin();
+ it != old_public_accounts.end();
+ ++it) {
+ if (users.find(*it) == users.end())
+ RemoveNonCryptohomeData(*it);
+ }
+}
+
+bool ChromeUserManagerImpl::UpdateAndCleanUpPublicAccounts(
+ const std::vector<policy::DeviceLocalAccount>& device_local_accounts) {
+ // Try to remove any public account data marked as pending removal.
+ CleanUpPublicAccountNonCryptohomeDataPendingRemoval();
+
+ // Get the current list of public accounts.
+ std::vector<std::string> old_public_accounts;
+ for (user_manager::UserList::const_iterator it = users_.begin();
+ it != users_.end();
+ ++it) {
+ if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT)
+ old_public_accounts.push_back((*it)->email());
+ }
+
+ // Get the new list of public accounts from policy.
+ std::vector<std::string> new_public_accounts;
+ for (std::vector<policy::DeviceLocalAccount>::const_iterator it =
+ device_local_accounts.begin();
+ it != device_local_accounts.end();
+ ++it) {
+ // TODO(mnissler, nkostylev, bartfab): Process Kiosk Apps within the
+ // standard login framework: http://crbug.com/234694
+ if (it->type == policy::DeviceLocalAccount::TYPE_PUBLIC_SESSION)
+ new_public_accounts.push_back(it->user_id);
+ }
+
+ // If the list of public accounts has not changed, return.
+ if (new_public_accounts.size() == old_public_accounts.size()) {
+ bool changed = false;
+ for (size_t i = 0; i < new_public_accounts.size(); ++i) {
+ if (new_public_accounts[i] != old_public_accounts[i]) {
+ changed = true;
+ break;
+ }
+ }
+ if (!changed)
+ return false;
+ }
+
+ // Persist the new list of public accounts in a pref.
+ ListPrefUpdate prefs_public_accounts_update(GetLocalState(), kPublicAccounts);
+ prefs_public_accounts_update->Clear();
+ for (std::vector<std::string>::const_iterator it =
+ new_public_accounts.begin();
+ it != new_public_accounts.end();
+ ++it) {
+ prefs_public_accounts_update->AppendString(*it);
+ }
+
+ // Remove the old public accounts from the user list.
+ for (user_manager::UserList::iterator it = users_.begin();
+ it != users_.end();) {
+ if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) {
+ if (*it != GetLoggedInUser())
+ DeleteUser(*it);
+ it = users_.erase(it);
+ } else {
+ ++it;
+ }
+ }
+
+ // Add the new public accounts to the front of the user list.
+ for (std::vector<std::string>::const_reverse_iterator it =
+ new_public_accounts.rbegin();
+ it != new_public_accounts.rend();
+ ++it) {
+ if (IsLoggedInAsPublicAccount() && *it == GetActiveUser()->email())
+ users_.insert(users_.begin(), GetLoggedInUser());
+ else
+ users_.insert(users_.begin(),
+ user_manager::User::CreatePublicAccountUser(*it));
+ UpdatePublicAccountDisplayName(*it);
+ }
+
+ for (user_manager::UserList::iterator
+ ui = users_.begin(),
+ ue = users_.begin() + new_public_accounts.size();
+ ui != ue;
+ ++ui) {
+ GetUserImageManager((*ui)->email())->LoadUserImage();
+ }
+
+ // Remove data belonging to public accounts that are no longer found on the
+ // user list.
+ CleanUpPublicAccountNonCryptohomeData(old_public_accounts);
+
+ return true;
+}
+
+void ChromeUserManagerImpl::UpdatePublicAccountDisplayName(
+ const std::string& user_id) {
+ std::string display_name;
+
+ if (device_local_account_policy_service_) {
+ policy::DeviceLocalAccountPolicyBroker* broker =
+ device_local_account_policy_service_->GetBrokerForUser(user_id);
+ if (broker)
+ display_name = broker->GetDisplayName();
+ }
+
+ // Set or clear the display name.
+ SaveUserDisplayName(user_id, base::UTF8ToUTF16(display_name));
+}
+
+UserFlow* ChromeUserManagerImpl::GetCurrentUserFlow() const {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ if (!IsUserLoggedIn())
+ return GetDefaultUserFlow();
+ return GetUserFlow(GetLoggedInUser()->email());
+}
+
+UserFlow* ChromeUserManagerImpl::GetUserFlow(const std::string& user_id) const {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ FlowMap::const_iterator it = specific_flows_.find(user_id);
+ if (it != specific_flows_.end())
+ return it->second;
+ return GetDefaultUserFlow();
+}
+
+void ChromeUserManagerImpl::SetUserFlow(const std::string& user_id,
+ UserFlow* flow) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ ResetUserFlow(user_id);
+ specific_flows_[user_id] = flow;
+}
+
+void ChromeUserManagerImpl::ResetUserFlow(const std::string& user_id) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ FlowMap::iterator it = specific_flows_.find(user_id);
+ if (it != specific_flows_.end()) {
+ delete it->second;
+ specific_flows_.erase(it);
+ }
+}
+
+bool ChromeUserManagerImpl::AreSupervisedUsersAllowed() const {
+ bool supervised_users_allowed = false;
+ cros_settings_->GetBoolean(kAccountsPrefSupervisedUsersEnabled,
+ &supervised_users_allowed);
+ return supervised_users_allowed;
+}
+
+UserFlow* ChromeUserManagerImpl::GetDefaultUserFlow() const {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ if (!default_flow_.get())
+ default_flow_.reset(new DefaultUserFlow());
+ return default_flow_.get();
+}
+
+void ChromeUserManagerImpl::NotifyUserListChanged() {
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_USER_LIST_CHANGED,
+ content::Source<UserManager>(this),
+ content::NotificationService::NoDetails());
+}
+
+void ChromeUserManagerImpl::NotifyUserAddedToSession(
+ const user_manager::User* added_user,
+ bool user_switch_pending) {
+ if (user_switch_pending)
+ SetPendingUserSwitchID(added_user->email());
+
+ UpdateNumberOfUsers();
+ ChromeUserManager::NotifyUserAddedToSession(added_user, user_switch_pending);
+}
+
+void ChromeUserManagerImpl::OnUserNotAllowed(const std::string& user_email) {
+ LOG(ERROR) << "Shutdown session because a user is not allowed to be in the "
+ "current session";
+ chromeos::ShowMultiprofilesSessionAbortedDialog(user_email);
+}
+
+void ChromeUserManagerImpl::UpdateNumberOfUsers() {
+ size_t users = GetLoggedInUsers().size();
+ if (users) {
+ // Write the user number as UMA stat when a multi user session is possible.
+ if ((users + GetUsersAdmittedForMultiProfile().size()) > 1)
+ ash::MultiProfileUMA::RecordUserCount(users);
+ }
+
+ base::debug::SetCrashKeyValue(
+ crash_keys::kNumberOfUsers,
+ base::StringPrintf("%" PRIuS, GetLoggedInUsers().size()));
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.h b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
new file mode 100644
index 0000000..9ba3c20
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
@@ -0,0 +1,245 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
+
+#include <map>
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/containers/hash_tables.h"
+#include "base/memory/linked_ptr.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
+#include "base/observer_list.h"
+#include "base/synchronization/lock.h"
+#include "base/time/time.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
+#include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
+#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
+#include "chrome/browser/chromeos/policy/cloud_external_data_policy_observer.h"
+#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
+#include "chrome/browser/chromeos/settings/device_settings_service.h"
+#include "components/user_manager/user.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
+
+class PrefRegistrySimple;
+class PrefService;
+class ProfileSyncService;
+
+namespace policy {
+struct DeviceLocalAccount;
+}
+
+namespace user_manager {
+class RemoveUserDelegate;
+}
+
+namespace chromeos {
+
+class MultiProfileUserController;
+class SupervisedUserManagerImpl;
+class SessionLengthLimiter;
+
+// Chrome specific implementation of the UserManager.
+class ChromeUserManagerImpl
+ : public ChromeUserManager,
+ public content::NotificationObserver,
+ public policy::CloudExternalDataPolicyObserver::Delegate,
+ public policy::DeviceLocalAccountPolicyService::Observer,
+ public MultiProfileUserControllerDelegate {
+ public:
+ virtual ~ChromeUserManagerImpl();
+
+ // Creates ChromeUserManagerImpl instance.
+ static scoped_ptr<ChromeUserManager> CreateChromeUserManager();
+
+ // Registers user manager preferences.
+ static void RegisterPrefs(PrefRegistrySimple* registry);
+
+ // ChromeUserManager implementation:
+ virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
+ virtual UserImageManager* GetUserImageManager(
+ const std::string& user_id) OVERRIDE;
+ virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
+ virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
+ virtual UserFlow* GetUserFlow(const std::string& user_id) const OVERRIDE;
+ virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) OVERRIDE;
+ virtual void ResetUserFlow(const std::string& user_id) OVERRIDE;
+
+ // UserManager implementation:
+ virtual void Shutdown() OVERRIDE;
+ virtual user_manager::UserList GetUsersAdmittedForMultiProfile()
+ const OVERRIDE;
+ virtual user_manager::UserList GetUnlockUsers() const OVERRIDE;
+ virtual void SessionStarted() OVERRIDE;
+ virtual void SaveUserOAuthStatus(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus oauth_token_status) OVERRIDE;
+ virtual void SaveUserDisplayName(const std::string& user_id,
+ const base::string16& display_name) OVERRIDE;
+ virtual bool CanCurrentUserLock() const OVERRIDE;
+ virtual bool IsUserNonCryptohomeDataEphemeral(
+ const std::string& user_id) const OVERRIDE;
+ virtual bool AreSupervisedUsersAllowed() const OVERRIDE;
+
+ // content::NotificationObserver implementation.
+ virtual void Observe(int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) OVERRIDE;
+
+ // policy::CloudExternalDataPolicyObserver::Delegate:
+ virtual void OnExternalDataSet(const std::string& policy,
+ const std::string& user_id) OVERRIDE;
+ virtual void OnExternalDataCleared(const std::string& policy,
+ const std::string& user_id) OVERRIDE;
+ virtual void OnExternalDataFetched(const std::string& policy,
+ const std::string& user_id,
+ scoped_ptr<std::string> data) OVERRIDE;
+
+ // policy::DeviceLocalAccountPolicyService::Observer implementation.
+ virtual void OnPolicyUpdated(const std::string& user_id) OVERRIDE;
+ virtual void OnDeviceLocalAccountsChanged() OVERRIDE;
+
+ void StopPolicyObserverForTesting();
+
+ protected:
+ // UserManagerBase implementation:
+ virtual bool AreEphemeralUsersEnabled() const OVERRIDE;
+ virtual const std::string& GetApplicationLocale() const OVERRIDE;
+ virtual PrefService* GetLocalState() const OVERRIDE;
+ virtual void HandleUserOAuthTokenStatusChange(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus status) const OVERRIDE;
+ virtual bool IsEnterpriseManaged() const OVERRIDE;
+ virtual void LoadPublicAccounts(std::set<std::string>* users_set) OVERRIDE;
+ virtual void NotifyOnLogin() OVERRIDE;
+ virtual void NotifyUserAddedToSession(const user_manager::User* added_user,
+ bool user_switch_pending) OVERRIDE;
+ virtual void PerformPreUserListLoadingActions() OVERRIDE;
+ virtual void PerformPostUserListLoadingActions() OVERRIDE;
+ virtual void PerformPostUserLoggedInActions(bool browser_restart) OVERRIDE;
+ virtual void RemoveNonCryptohomeData(const std::string& user_id) OVERRIDE;
+ virtual void RemoveUserInternal(
+ const std::string& user_email,
+ user_manager::RemoveUserDelegate* delegate) OVERRIDE;
+ virtual bool IsDemoApp(const std::string& user_id) const OVERRIDE;
+ virtual bool IsKioskApp(const std::string& user_id) const OVERRIDE;
+ virtual bool IsPublicAccountMarkedForRemoval(
+ const std::string& user_id) const OVERRIDE;
+ virtual void DemoAccountLoggedIn() OVERRIDE;
+ virtual void GuestUserLoggedIn() OVERRIDE;
+ virtual void KioskAppLoggedIn(const std::string& app_id) OVERRIDE;
+ virtual void PublicAccountUserLoggedIn(user_manager::User* user) OVERRIDE;
+ virtual void RegularUserLoggedIn(const std::string& user_id) OVERRIDE;
+ virtual void RegularUserLoggedInAsEphemeral(
+ const std::string& user_id) OVERRIDE;
+ virtual void RetailModeUserLoggedIn() OVERRIDE;
+ virtual void SupervisedUserLoggedIn(const std::string& user_id) OVERRIDE;
+
+ private:
+ friend class SupervisedUserManagerImpl;
+ friend class UserManagerTest;
+ friend class WallpaperManager;
+ friend class WallpaperManagerTest;
+
+ typedef base::hash_map<std::string, linked_ptr<UserImageManager> >
+ UserImageManagerMap;
+
+ ChromeUserManagerImpl();
+
+ // Retrieves trusted device policies and removes users from the persistent
+ // list if ephemeral users are enabled. Schedules a callback to itself if
+ // trusted device policies are not yet available.
+ void RetrieveTrustedDevicePolicies();
+
+ // Updates current user ownership on UI thread.
+ void UpdateOwnership();
+
+ // If data for a public account is marked as pending removal and the user is
+ // no longer logged into that account, removes the data.
+ void CleanUpPublicAccountNonCryptohomeDataPendingRemoval();
+
+ // Removes data belonging to public accounts that are no longer found on the
+ // user list. If the user is currently logged into one of these accounts, the
+ // data for that account is not removed immediately but marked as pending
+ // removal after logout.
+ void CleanUpPublicAccountNonCryptohomeData(
+ const std::vector<std::string>& old_public_accounts);
+
+ // Replaces the list of public accounts with those found in
+ // |device_local_accounts|. Ensures that data belonging to accounts no longer
+ // on the list is removed. Returns |true| if the list has changed.
+ // Public accounts are defined by policy. This method is called whenever an
+ // updated list of public accounts is received from policy.
+ bool UpdateAndCleanUpPublicAccounts(
+ const std::vector<policy::DeviceLocalAccount>& device_local_accounts);
+
+ // Updates the display name for public account |username| from policy settings
+ // associated with that username.
+ void UpdatePublicAccountDisplayName(const std::string& user_id);
+
+ // Notifies the UI about a change to the user list.
+ void NotifyUserListChanged();
+
+ // Lazily creates default user flow.
+ UserFlow* GetDefaultUserFlow() const;
+
+ // MultiProfileUserControllerDelegate implementation:
+ virtual void OnUserNotAllowed(const std::string& user_email) OVERRIDE;
+
+ // Update the number of users.
+ void UpdateNumberOfUsers();
+
+ // Interface to the signed settings store.
+ CrosSettings* cros_settings_;
+
+ // Interface to device-local account definitions and associated policy.
+ policy::DeviceLocalAccountPolicyService* device_local_account_policy_service_;
+
+ content::NotificationRegistrar registrar_;
+
+ // User avatar managers.
+ UserImageManagerMap user_image_managers_;
+
+ // Supervised user manager.
+ scoped_ptr<SupervisedUserManagerImpl> supervised_user_manager_;
+
+ // Session length limiter.
+ scoped_ptr<SessionLengthLimiter> session_length_limiter_;
+
+ typedef std::map<std::string, UserFlow*> FlowMap;
+
+ // Lazy-initialized default flow.
+ mutable scoped_ptr<UserFlow> default_flow_;
+
+ // Specific flows by user e-mail. Keys should be canonicalized before
+ // access.
+ FlowMap specific_flows_;
+
+ scoped_ptr<CrosSettings::ObserverSubscription> local_accounts_subscription_;
+
+ scoped_ptr<MultiProfileUserController> multi_profile_user_controller_;
+
+ // Observer for the policy that can be used to manage user images.
+ scoped_ptr<policy::CloudExternalDataPolicyObserver> avatar_policy_observer_;
+
+ // Observer for the policy that can be used to manage wallpapers.
+ scoped_ptr<policy::CloudExternalDataPolicyObserver>
+ wallpaper_policy_observer_;
+
+ base::WeakPtrFactory<ChromeUserManagerImpl> weak_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(ChromeUserManagerImpl);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
diff --git a/chrome/browser/chromeos/login/users/fake_user_manager.cc b/chrome/browser/chromeos/login/users/fake_user_manager.cc
index a969521..f801f8b 100644
--- a/chrome/browser/chromeos/login/users/fake_user_manager.cc
+++ b/chrome/browser/chromeos/login/users/fake_user_manager.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "base/task_runner.h"
#include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/grit/theme_resources.h"
@@ -16,12 +17,27 @@ namespace {
// As defined in /chromeos/dbus/cryptohome_client.cc.
static const char kUserIdHashSuffix[] = "-hash";
+class FakeTaskRunner : public base::TaskRunner {
+ public:
+ virtual bool PostDelayedTask(const tracked_objects::Location& from_here,
+ const base::Closure& task,
+ base::TimeDelta delay) OVERRIDE {
+ task.Run();
+ return true;
+ }
+ virtual bool RunsTasksOnCurrentThread() const OVERRIDE { return true; }
+
+ protected:
+ virtual ~FakeTaskRunner() {}
+};
+
} // namespace
namespace chromeos {
FakeUserManager::FakeUserManager()
- : supervised_user_manager_(new FakeSupervisedUserManager),
+ : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()),
+ supervised_user_manager_(new FakeSupervisedUserManager),
primary_user_(NULL),
multi_profile_user_controller_(NULL) {
ProfileHelper::SetProfileToUserForTestingEnabled(true);
@@ -304,4 +320,34 @@ bool FakeUserManager::AreSupervisedUsersAllowed() const {
return true;
}
+bool FakeUserManager::AreEphemeralUsersEnabled() const {
+ return false;
+}
+
+const std::string& FakeUserManager::GetApplicationLocale() const {
+ static const std::string default_locale("en-US");
+ return default_locale;
+}
+
+PrefService* FakeUserManager::GetLocalState() const {
+ return NULL;
+}
+
+bool FakeUserManager::IsEnterpriseManaged() const {
+ return false;
+}
+
+bool FakeUserManager::IsDemoApp(const std::string& user_id) const {
+ return false;
+}
+
+bool FakeUserManager::IsKioskApp(const std::string& user_id) const {
+ return false;
+}
+
+bool FakeUserManager::IsPublicAccountMarkedForRemoval(
+ const std::string& user_id) const {
+ return false;
+}
+
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/fake_user_manager.h b/chrome/browser/chromeos/login/users/fake_user_manager.h
index 8ade4ec..c312880 100644
--- a/chrome/browser/chromeos/login/users/fake_user_manager.h
+++ b/chrome/browser/chromeos/login/users/fake_user_manager.h
@@ -10,7 +10,7 @@
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/user_image.h"
@@ -20,7 +20,7 @@ class FakeSupervisedUserManager;
// Fake user manager with a barebones implementation. Users can be added
// and set as logged in, and those users can be returned.
-class FakeUserManager : public UserManager {
+class FakeUserManager : public ChromeUserManager {
public:
FakeUserManager();
virtual ~FakeUserManager();
@@ -37,6 +37,16 @@ class FakeUserManager : public UserManager {
// Calculates the user name hash and calls UserLoggedIn to login a user.
void LoginUser(const std::string& email);
+ // ChromeUserManager overrides.
+ virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
+ virtual UserImageManager* GetUserImageManager(
+ const std::string& user_id) OVERRIDE;
+ virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
+ virtual void SetUserFlow(const std::string& email, UserFlow* flow) OVERRIDE {}
+ virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
+ virtual UserFlow* GetUserFlow(const std::string& email) const OVERRIDE;
+ virtual void ResetUserFlow(const std::string& email) OVERRIDE {}
+
// UserManager overrides.
virtual const user_manager::UserList& GetUsers() const OVERRIDE;
virtual user_manager::UserList GetUsersAdmittedForMultiProfile()
@@ -59,16 +69,13 @@ class FakeUserManager : public UserManager {
const std::string& user_id,
const UserAccountData& account_data) OVERRIDE {}
virtual void Shutdown() OVERRIDE {}
- virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
- virtual UserImageManager* GetUserImageManager(
- const std::string& user_id) OVERRIDE;
- virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
virtual const user_manager::UserList& GetLRULoggedInUsers() const OVERRIDE;
virtual user_manager::UserList GetUnlockUsers() const OVERRIDE;
virtual const std::string& GetOwnerEmail() const OVERRIDE;
virtual void SessionStarted() OVERRIDE {}
virtual void RemoveUser(const std::string& email,
- RemoveUserDelegate* delegate) OVERRIDE {}
+ user_manager::RemoveUserDelegate* delegate) OVERRIDE {
+ }
virtual void RemoveUserFromList(const std::string& email) OVERRIDE;
virtual bool IsKnownUser(const std::string& email) const OVERRIDE;
virtual const user_manager::User* FindUser(
@@ -104,10 +111,6 @@ class FakeUserManager : public UserManager {
virtual bool IsSessionStarted() const OVERRIDE;
virtual bool IsUserNonCryptohomeDataEphemeral(
const std::string& email) const OVERRIDE;
- virtual void SetUserFlow(const std::string& email, UserFlow* flow) OVERRIDE {}
- virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
- virtual UserFlow* GetUserFlow(const std::string& email) const OVERRIDE;
- virtual void ResetUserFlow(const std::string& email) OVERRIDE {}
virtual void AddObserver(Observer* obs) OVERRIDE {}
virtual void RemoveObserver(Observer* obs) OVERRIDE {}
virtual void AddSessionStateObserver(
@@ -117,6 +120,29 @@ class FakeUserManager : public UserManager {
virtual void NotifyLocalStateChanged() OVERRIDE {}
virtual bool AreSupervisedUsersAllowed() const OVERRIDE;
+ // UserManagerBase overrides:
+ virtual bool AreEphemeralUsersEnabled() const OVERRIDE;
+ virtual const std::string& GetApplicationLocale() const OVERRIDE;
+ virtual PrefService* GetLocalState() const OVERRIDE;
+ virtual void HandleUserOAuthTokenStatusChange(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus status) const OVERRIDE {}
+ virtual bool IsEnterpriseManaged() const OVERRIDE;
+ virtual void LoadPublicAccounts(
+ std::set<std::string>* public_sessions_set) OVERRIDE {}
+ virtual void PerformPreUserListLoadingActions() OVERRIDE {}
+ virtual void PerformPostUserListLoadingActions() OVERRIDE {}
+ virtual void PerformPostUserLoggedInActions(bool browser_restart) OVERRIDE {}
+ virtual bool IsDemoApp(const std::string& user_id) const OVERRIDE;
+ virtual bool IsKioskApp(const std::string& user_id) const OVERRIDE;
+ virtual bool IsPublicAccountMarkedForRemoval(
+ const std::string& user_id) const OVERRIDE;
+ virtual void DemoAccountLoggedIn() OVERRIDE {}
+ virtual void KioskAppLoggedIn(const std::string& app_id) OVERRIDE {}
+ virtual void PublicAccountUserLoggedIn(user_manager::User* user) OVERRIDE {}
+ virtual void RetailModeUserLoggedIn() OVERRIDE {}
+ virtual void SupervisedUserLoggedIn(const std::string& user_id) OVERRIDE {}
+
void set_owner_email(const std::string& owner_email) {
owner_email_ = owner_email;
}
diff --git a/chrome/browser/chromeos/login/users/mock_user_manager.cc b/chrome/browser/chromeos/login/users/mock_user_manager.cc
index a283a67..b459256 100644
--- a/chrome/browser/chromeos/login/users/mock_user_manager.cc
+++ b/chrome/browser/chromeos/login/users/mock_user_manager.cc
@@ -4,13 +4,33 @@
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
+#include "base/task_runner.h"
#include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
+namespace {
+
+class FakeTaskRunner : public base::TaskRunner {
+ public:
+ virtual bool PostDelayedTask(const tracked_objects::Location& from_here,
+ const base::Closure& task,
+ base::TimeDelta delay) OVERRIDE {
+ task.Run();
+ return true;
+ }
+ virtual bool RunsTasksOnCurrentThread() const OVERRIDE { return true; }
+
+ protected:
+ virtual ~FakeTaskRunner() {}
+};
+
+} // namespace
+
namespace chromeos {
MockUserManager::MockUserManager()
- : user_flow_(new DefaultUserFlow()),
+ : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()),
+ user_flow_(new DefaultUserFlow()),
supervised_user_manager_(new FakeSupervisedUserManager()) {
ProfileHelper::SetProfileToUserForTestingEnabled(true);
}
diff --git a/chrome/browser/chromeos/login/users/mock_user_manager.h b/chrome/browser/chromeos/login/users/mock_user_manager.h
index a5ad8de..7e8dc33 100644
--- a/chrome/browser/chromeos/login/users/mock_user_manager.h
+++ b/chrome/browser/chromeos/login/users/mock_user_manager.h
@@ -11,7 +11,7 @@
#include "base/memory/weak_ptr.h"
#include "chrome/browser/chromeos/login/user_flow.h"
#include "chrome/browser/chromeos/login/users/avatar/mock_user_image_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/user_image.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -20,7 +20,7 @@ namespace chromeos {
class FakeSupervisedUserManager;
-class MockUserManager : public UserManager {
+class MockUserManager : public ChromeUserManager {
public:
MockUserManager();
virtual ~MockUserManager();
@@ -34,7 +34,8 @@ class MockUserManager : public UserManager {
const std::string&, const std::string&, bool));
MOCK_METHOD1(SwitchActiveUser, void(const std::string& email));
MOCK_METHOD0(SessionStarted, void(void));
- MOCK_METHOD2(RemoveUser, void(const std::string&, RemoveUserDelegate*));
+ MOCK_METHOD2(RemoveUser,
+ void(const std::string&, user_manager::RemoveUserDelegate*));
MOCK_METHOD1(RemoveUserFromList, void(const std::string&));
MOCK_CONST_METHOD1(IsKnownUser, bool(const std::string&));
MOCK_CONST_METHOD1(FindUser, const user_manager::User*(const std::string&));
@@ -72,11 +73,29 @@ class MockUserManager : public UserManager {
MOCK_METHOD1(RemoveSessionStateObserver,
void(UserManager::UserSessionStateObserver*));
MOCK_METHOD0(NotifyLocalStateChanged, void(void));
- MOCK_METHOD2(SetUserFlow, void(const std::string&, UserFlow*));
- MOCK_METHOD1(ResetUserFlow, void(const std::string&));
-
MOCK_CONST_METHOD0(AreSupervisedUsersAllowed, bool(void));
+ // UserManagerBase overrides:
+ MOCK_CONST_METHOD0(AreEphemeralUsersEnabled, bool(void));
+ MOCK_CONST_METHOD0(GetApplicationLocale, const std::string&(void));
+ MOCK_CONST_METHOD0(GetLocalState, PrefService*(void));
+ MOCK_CONST_METHOD2(HandleUserOAuthTokenStatusChange,
+ void(const std::string&,
+ user_manager::User::OAuthTokenStatus status));
+ MOCK_CONST_METHOD0(IsEnterpriseManaged, bool(void));
+ MOCK_METHOD1(LoadPublicAccounts, void(std::set<std::string>*));
+ MOCK_METHOD0(PerformPreUserListLoadingActions, void(void));
+ MOCK_METHOD0(PerformPostUserListLoadingActions, void(void));
+ MOCK_METHOD1(PerformPostUserLoggedInActions, void(bool));
+ MOCK_CONST_METHOD1(IsDemoApp, bool(const std::string&));
+ MOCK_CONST_METHOD1(IsKioskApp, bool(const std::string&));
+ MOCK_CONST_METHOD1(IsPublicAccountMarkedForRemoval, bool(const std::string&));
+ MOCK_METHOD0(DemoAccountLoggedIn, void(void));
+ MOCK_METHOD1(KioskAppLoggedIn, void(const std::string&));
+ MOCK_METHOD1(PublicAccountUserLoggedIn, void(user_manager::User*));
+ MOCK_METHOD0(RetailModeUserLoggedIn, void(void));
+ MOCK_METHOD1(SupervisedUserLoggedIn, void(const std::string&));
+
// You can't mock these functions easily because nobody can create
// User objects but the ChromeUserManager and us.
virtual const user_manager::UserList& GetUsers() const OVERRIDE;
@@ -88,11 +107,13 @@ class MockUserManager : public UserManager {
virtual user_manager::User* GetActiveUser() OVERRIDE;
virtual const user_manager::User* GetPrimaryUser() const OVERRIDE;
+ // ChromeUserManager overrides:
virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
virtual UserImageManager* GetUserImageManager(
const std::string& user_id) OVERRIDE;
virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
-
+ MOCK_METHOD2(SetUserFlow, void(const std::string&, UserFlow*));
+ MOCK_METHOD1(ResetUserFlow, void(const std::string&));
virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
virtual UserFlow* GetUserFlow(const std::string&) const OVERRIDE;
diff --git a/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc b/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc
index d079360..f328c2c 100644
--- a/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc
+++ b/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc
@@ -11,7 +11,6 @@
#include "base/prefs/pref_service.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/policy_cert_service.h"
#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -19,6 +18,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "google_apis/gaia/gaia_auth_util.h"
namespace chromeos {
@@ -90,7 +90,7 @@ void MultiProfileUserController::RegisterProfilePrefs(
// static
MultiProfileUserController::UserAllowedInSessionReason
MultiProfileUserController::GetPrimaryUserPolicy() {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
CHECK(user_manager);
const user_manager::User* user = user_manager->GetPrimaryUser();
@@ -129,7 +129,7 @@ MultiProfileUserController::GetPrimaryUserPolicy() {
bool MultiProfileUserController::IsUserAllowedInSession(
const std::string& user_email,
MultiProfileUserController::UserAllowedInSessionReason* reason) const {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
CHECK(user_manager);
const user_manager::User* primary_user = user_manager->GetPrimaryUser();
@@ -208,7 +208,8 @@ void MultiProfileUserController::SetCachedValue(
}
void MultiProfileUserController::CheckSessionUsers() {
- const user_manager::UserList& users = UserManager::Get()->GetLoggedInUsers();
+ const user_manager::UserList& users =
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = users.begin();
it != users.end();
++it) {
diff --git a/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc b/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc
index b93d73a..7bf7b94 100644
--- a/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc
+++ b/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc
@@ -9,7 +9,7 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/policy_cert_service.h"
#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
#include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
@@ -21,6 +21,7 @@
#include "chrome/test/base/testing_pref_service_syncable.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/testing_profile_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "net/cert/x509_certificate.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -101,8 +102,9 @@ policy::PolicyCertVerifier* g_policy_cert_verifier_for_factory = NULL;
KeyedService* TestPolicyCertServiceFactory(content::BrowserContext* context) {
return policy::PolicyCertService::CreateForTesting(
- kUsers[0], g_policy_cert_verifier_for_factory, UserManager::Get())
- .release();
+ kUsers[0],
+ g_policy_cert_verifier_for_factory,
+ user_manager::UserManager::Get()).release();
}
} // namespace
diff --git a/chrome/browser/chromeos/login/users/scoped_test_user_manager.cc b/chrome/browser/chromeos/login/users/scoped_test_user_manager.cc
new file mode 100644
index 0000000..49dc7f2
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/scoped_test_user_manager.cc
@@ -0,0 +1,26 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
+
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+
+namespace chromeos {
+
+ScopedTestUserManager::ScopedTestUserManager() {
+ chrome_user_manager_ = ChromeUserManagerImpl::CreateChromeUserManager();
+ chrome_user_manager_->Initialize();
+
+ // ProfileHelper has to be initialized after UserManager instance is created.
+ ProfileHelper::Get()->Initialize();
+}
+
+ScopedTestUserManager::~ScopedTestUserManager() {
+ user_manager::UserManager::Get()->Shutdown();
+ chrome_user_manager_->Destroy();
+ chrome_user_manager_.reset();
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/scoped_test_user_manager.h b/chrome/browser/chromeos/login/users/scoped_test_user_manager.h
new file mode 100644
index 0000000..ec07d2c
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/scoped_test_user_manager.h
@@ -0,0 +1,30 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_TEST_USER_MANAGER_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_TEST_USER_MANAGER_H_
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+
+namespace chromeos {
+
+class ChromeUserManager;
+
+// Helper class for unit tests. Initializes the UserManager singleton on
+// construction and tears it down again on destruction.
+class ScopedTestUserManager {
+ public:
+ ScopedTestUserManager();
+ ~ScopedTestUserManager();
+
+ private:
+ scoped_ptr<ChromeUserManager> chrome_user_manager_;
+
+ DISALLOW_COPY_AND_ASSIGN(ScopedTestUserManager);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_TEST_USER_MANAGER_H_
diff --git a/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.cc b/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.cc
new file mode 100644
index 0000000..8ae87be
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.cc
@@ -0,0 +1,29 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
+
+#include "components/user_manager/user_manager.h"
+
+namespace chromeos {
+
+ScopedUserManagerEnabler::ScopedUserManagerEnabler(
+ user_manager::UserManager* user_manager) {
+ if (user_manager::UserManager::GetForTesting())
+ user_manager::UserManager::GetForTesting()->Shutdown();
+
+ previous_user_manager_ =
+ user_manager::UserManager::SetForTesting(user_manager);
+}
+
+ScopedUserManagerEnabler::~ScopedUserManagerEnabler() {
+ // Shutdown and destroy current UserManager instance that we track.
+ user_manager::UserManager::Get()->Shutdown();
+ delete user_manager::UserManager::Get();
+ user_manager::UserManager::SetInstance(NULL);
+
+ user_manager::UserManager::SetForTesting(previous_user_manager_);
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h b/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h
new file mode 100644
index 0000000..38880f6
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h
@@ -0,0 +1,34 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_USER_MANAGER_ENABLER_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_USER_MANAGER_ENABLER_H_
+
+#include "base/basictypes.h"
+
+namespace user_manager {
+class UserManager;
+}
+
+namespace chromeos {
+
+// Helper class for unit tests. Initializes the UserManager singleton to the
+// given |user_manager| and tears it down again on destruction. If the singleton
+// had already been initialized, its previous value is restored after tearing
+// down |user_manager|.
+class ScopedUserManagerEnabler {
+ public:
+ // Takes ownership of |user_manager|.
+ explicit ScopedUserManagerEnabler(user_manager::UserManager* user_manager);
+ ~ScopedUserManagerEnabler();
+
+ private:
+ user_manager::UserManager* previous_user_manager_;
+
+ DISALLOW_COPY_AND_ASSIGN(ScopedUserManagerEnabler);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SCOPED_USER_MANAGER_ENABLER_H_
diff --git a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc
index 7335a0a..1e4b1c3 100644
--- a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc
@@ -17,7 +17,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
-#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/supervised_user/supervised_user_service.h"
#include "chrome/browser/supervised_user/supervised_user_service_factory.h"
@@ -129,7 +129,8 @@ void SupervisedUserManager::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterDictionaryPref(kSupervisedUserIncompleteKey);
}
-SupervisedUserManagerImpl::SupervisedUserManagerImpl(ChromeUserManager* owner)
+SupervisedUserManagerImpl::SupervisedUserManagerImpl(
+ ChromeUserManagerImpl* owner)
: owner_(owner), cros_settings_(CrosSettings::Get()) {
// SupervisedUserManager instance should be used only on UI thread.
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
diff --git a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h
index 05e45d4..eaa013f 100644
--- a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h
+++ b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h
@@ -14,7 +14,7 @@
namespace chromeos {
-class ChromeUserManager;
+class ChromeUserManagerImpl;
class CrosSettings;
// Implementation of the UserManager.
@@ -60,10 +60,10 @@ class SupervisedUserManagerImpl
const std::string& token) OVERRIDE;
private:
- friend class ChromeUserManager;
+ friend class ChromeUserManagerImpl;
friend class UserManager;
- explicit SupervisedUserManagerImpl(ChromeUserManager* owner);
+ explicit SupervisedUserManagerImpl(ChromeUserManagerImpl* owner);
// Returns true if there is non-committed user creation transaction.
bool HasFailedUserCreationTransaction();
@@ -106,7 +106,7 @@ class SupervisedUserManagerImpl
void CleanPref(const std::string& user_id,
const char* key);
- ChromeUserManager* owner_;
+ ChromeUserManagerImpl* owner_;
// Interface to the signed settings store.
CrosSettings* cros_settings_;
diff --git a/chrome/browser/chromeos/login/users/user_manager.cc b/chrome/browser/chromeos/login/users/user_manager.cc
deleted file mode 100644
index 1adceeb..0000000
--- a/chrome/browser/chromeos/login/users/user_manager.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-
-#include "base/command_line.h"
-#include "base/prefs/pref_registry_simple.h"
-#include "chrome/browser/browser_process_platform_part_chromeos.h"
-#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
-#include "chrome/browser/chromeos/profiles/profile_helper.h"
-#include "chrome/common/chrome_switches.h"
-
-namespace chromeos {
-
-static UserManager* g_user_manager = NULL;
-
-UserManager::Observer::~Observer() {
-}
-
-void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
-}
-
-void UserManager::UserSessionStateObserver::ActiveUserChanged(
- const user_manager::User* active_user) {
-}
-
-void UserManager::UserSessionStateObserver::UserAddedToSession(
- const user_manager::User* active_user) {
-}
-
-void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
- const std::string& hash) {
-}
-
-UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
-}
-
-UserManager::UserAccountData::UserAccountData(
- const base::string16& display_name,
- const base::string16& given_name,
- const std::string& locale)
- : display_name_(display_name),
- given_name_(given_name),
- locale_(locale) {
-}
-
-UserManager::UserAccountData::~UserAccountData() {}
-
-// static
-void UserManager::Initialize() {
- CHECK(!g_user_manager);
- g_user_manager = new ChromeUserManager();
-}
-
-// static
-bool UserManager::IsInitialized() {
- return g_user_manager;
-}
-
-void UserManager::Destroy() {
- DCHECK(g_user_manager);
- delete g_user_manager;
- g_user_manager = NULL;
-}
-
-// static
-UserManager* UserManager::Get() {
- CHECK(g_user_manager);
- return g_user_manager;
-}
-
-UserManager::~UserManager() {
-}
-
-// static
-UserManager* UserManager::SetForTesting(UserManager* user_manager) {
- UserManager* previous_user_manager = g_user_manager;
- if (previous_user_manager)
- previous_user_manager->Shutdown();
-
- g_user_manager = user_manager;
- return previous_user_manager;
-}
-
-ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager)
- : previous_user_manager_(UserManager::SetForTesting(user_manager)) {
-}
-
-ScopedUserManagerEnabler::~ScopedUserManagerEnabler() {
- UserManager::Get()->Shutdown();
- UserManager::Destroy();
- UserManager::SetForTesting(previous_user_manager_);
-}
-
-ScopedTestUserManager::ScopedTestUserManager() {
- UserManager::Initialize();
-
- // ProfileHelper has to be initialized after UserManager instance is created.
- ProfileHelper::Get()->Initialize();
-}
-
-ScopedTestUserManager::~ScopedTestUserManager() {
- UserManager::Get()->Shutdown();
- UserManager::Destroy();
-}
-
-} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/users/user_manager_unittest.cc b/chrome/browser/chromeos/login/users/user_manager_unittest.cc
index 20c8e44..5a3e989 100644
--- a/chrome/browser/chromeos/login/users/user_manager_unittest.cc
+++ b/chrome/browser/chromeos/login/users/user_manager_unittest.cc
@@ -12,8 +12,8 @@
#include "base/run_loop.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -27,6 +27,7 @@
#include "chromeos/settings/cros_settings_names.h"
#include "chromeos/settings/cros_settings_provider.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -103,8 +104,9 @@ class UserManagerTest : public testing::Test {
chromeos::DBusThreadManager::Shutdown();
}
- ChromeUserManager* GetChromeUserManager() const {
- return static_cast<ChromeUserManager*>(UserManager::Get());
+ ChromeUserManagerImpl* GetChromeUserManager() const {
+ return static_cast<ChromeUserManagerImpl*>(
+ user_manager::UserManager::Get());
}
bool GetUserManagerEphemeralUsersEnabled() const {
@@ -126,12 +128,12 @@ class UserManagerTest : public testing::Test {
void ResetUserManager() {
// Reset the UserManager singleton.
user_manager_enabler_.reset();
- // Initialize the UserManager singleton to a fresh ChromeUserManager
+ // Initialize the UserManager singleton to a fresh ChromeUserManagerImpl
// instance.
user_manager_enabler_.reset(
- new ScopedUserManagerEnabler(new ChromeUserManager));
+ new ScopedUserManagerEnabler(new ChromeUserManagerImpl));
- // ChromeUserManager ctor posts a task to reload policies.
+ // ChromeUserManagerImpl ctor posts a task to reload policies.
base::RunLoop().RunUntilIdle();
}
@@ -179,17 +181,18 @@ TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) {
}
TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) {
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "owner@invalid.domain", false);
ResetUserManager();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"user0@invalid.domain", "owner@invalid.domain", false);
ResetUserManager();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"user1@invalid.domain", "owner@invalid.domain", false);
ResetUserManager();
- const user_manager::UserList* users = &UserManager::Get()->GetUsers();
+ const user_manager::UserList* users =
+ &user_manager::UserManager::Get()->GetUsers();
ASSERT_EQ(3U, users->size());
EXPECT_EQ((*users)[0]->email(), "user1@invalid.domain");
EXPECT_EQ((*users)[1]->email(), "user0@invalid.domain");
@@ -198,7 +201,7 @@ TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) {
SetDeviceSettings(true, "owner@invalid.domain", false);
RetrieveTrustedDevicePolicies();
- users = &UserManager::Get()->GetUsers();
+ users = &user_manager::UserManager::Get()->GetUsers();
EXPECT_EQ(1U, users->size());
EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain");
}
@@ -207,14 +210,15 @@ TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) {
SetDeviceSettings(true, "owner@invalid.domain", false);
RetrieveTrustedDevicePolicies();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "user0@invalid.domain", false);
ResetUserManager();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"user0@invalid.domain", "user0@invalid.domain", false);
ResetUserManager();
- const user_manager::UserList* users = &UserManager::Get()->GetUsers();
+ const user_manager::UserList* users =
+ &user_manager::UserManager::Get()->GetUsers();
EXPECT_EQ(1U, users->size());
EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain");
}
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
index 461c1b7..6053cee 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
@@ -34,7 +34,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/common/chrome_paths.h"
@@ -46,6 +45,7 @@
#include "chromeos/login/user_names.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -536,7 +536,8 @@ void WallpaperManager::EnsureLoggedInUserWallpaperLoaded() {
if (info == current_user_wallpaper_info_)
return;
}
- SetUserWallpaperNow(UserManager::Get()->GetLoggedInUser()->email());
+ SetUserWallpaperNow(
+ user_manager::UserManager::Get()->GetLoggedInUser()->email());
}
void WallpaperManager::ClearDisposableWallpaperCache() {
@@ -545,7 +546,7 @@ void WallpaperManager::ClearDisposableWallpaperCache() {
// Keep the wallpaper of logged in users in cache at multi-profile mode.
std::set<std::string> logged_in_users_names;
const user_manager::UserList& logged_users =
- UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_users.begin();
it != logged_users.end();
++it) {
@@ -566,7 +567,7 @@ void WallpaperManager::ClearDisposableWallpaperCache() {
bool WallpaperManager::GetLoggedInUserWallpaperInfo(WallpaperInfo* info) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (UserManager::Get()->IsLoggedInAsStub()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsStub()) {
info->location = current_user_wallpaper_info_.location = "";
info->layout = current_user_wallpaper_info_.layout =
ash::WALLPAPER_LAYOUT_CENTER_CROPPED;
@@ -577,13 +578,13 @@ bool WallpaperManager::GetLoggedInUserWallpaperInfo(WallpaperInfo* info) {
return true;
}
- return GetUserWallpaperInfo(UserManager::Get()->GetLoggedInUser()->email(),
- info);
+ return GetUserWallpaperInfo(
+ user_manager::UserManager::Get()->GetLoggedInUser()->email(), info);
}
void WallpaperManager::InitializeWallpaper() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Apply device customization.
if (ShouldUseCustomizedDefaultWallpaper()) {
@@ -828,7 +829,7 @@ void WallpaperManager::SetPolicyControlledWallpaper(
const std::string& user_id,
const user_manager::UserImage& user_image) {
const user_manager::User* user =
- chromeos::UserManager::Get()->FindUser(user_id);
+ user_manager::UserManager::Get()->FindUser(user_id);
if (!user) {
NOTREACHED() << "Unknown user.";
return;
@@ -881,7 +882,7 @@ void WallpaperManager::SetCustomWallpaper(
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// There is no visible background in kiosk mode.
- if (UserManager::Get()->IsLoggedInAsKioskApp())
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp())
return;
// Don't allow custom wallpapers while policy is in effect.
@@ -898,10 +899,12 @@ void WallpaperManager::SetCustomWallpaper(
return;
}
- const user_manager::User *user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
CHECK(user);
bool is_persistent =
- !UserManager::Get()->IsUserNonCryptohomeDataEphemeral(user_id) ||
+ !user_manager::UserManager::Get()->IsUserNonCryptohomeDataEphemeral(
+ user_id) ||
(type == user_manager::User::POLICY &&
user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT);
@@ -960,7 +963,7 @@ void WallpaperManager::DoSetDefaultWallpaper(
const std::string& user_id,
MovableOnDestroyCallbackHolder on_finish) {
// There is no visible background in kiosk mode.
- if (UserManager::Get()->IsLoggedInAsKioskApp())
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp())
return;
current_wallpaper_path_.clear();
wallpaper_cache_.erase(user_id);
@@ -975,7 +978,7 @@ void WallpaperManager::DoSetDefaultWallpaper(
const base::FilePath* file = NULL;
- if (UserManager::Get()->IsLoggedInAsGuest()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) {
file =
use_small ? &guest_small_wallpaper_file_ : &guest_large_wallpaper_file_;
} else {
@@ -1167,21 +1170,26 @@ void WallpaperManager::ScheduleSetUserWallpaper(const std::string& user_id,
bool delayed) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// Some unit tests come here without a UserManager or without a pref system.
- if (!UserManager::IsInitialized() || !g_browser_process->local_state())
+ if (!user_manager::UserManager::IsInitialized() ||
+ !g_browser_process->local_state()) {
return;
+ }
+
// There is no visible background in kiosk mode.
- if (UserManager::Get()->IsLoggedInAsKioskApp())
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp())
return;
// Guest user, regular user in ephemeral mode, or kiosk app.
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
- if (UserManager::Get()->IsUserNonCryptohomeDataEphemeral(user_id) ||
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
+ if (user_manager::UserManager::Get()->IsUserNonCryptohomeDataEphemeral(
+ user_id) ||
(user != NULL && user->GetType() == user_manager::USER_TYPE_KIOSK_APP)) {
InitInitialUserWallpaper(user_id, false);
GetPendingWallpaper(user_id, delayed)->ResetSetDefaultWallpaper();
return;
}
- if (!UserManager::Get()->IsKnownUser(user_id))
+ if (!user_manager::UserManager::Get()->IsKnownUser(user_id))
return;
last_selected_user_ = user_id;
@@ -1235,10 +1243,10 @@ void WallpaperManager::SetWallpaperFromImageSkia(const std::string& user_id,
const gfx::ImageSkia& image,
ash::WallpaperLayout layout,
bool update_wallpaper) {
- DCHECK(UserManager::Get()->IsUserLoggedIn());
+ DCHECK(user_manager::UserManager::Get()->IsUserLoggedIn());
// There is no visible background in kiosk mode.
- if (UserManager::Get()->IsLoggedInAsKioskApp())
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp())
return;
WallpaperInfo info;
info.layout = layout;
@@ -1294,7 +1302,7 @@ bool WallpaperManager::GetWallpaperFromCache(const std::string& user_id,
void WallpaperManager::CacheUsersWallpapers() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- user_manager::UserList users = UserManager::Get()->GetUsers();
+ user_manager::UserList users = user_manager::UserManager::Get()->GetUsers();
if (!users.empty()) {
user_manager::UserList::const_iterator it = users.begin();
@@ -1399,7 +1407,7 @@ CommandLine* WallpaperManager::GetCommandLine() {
}
void WallpaperManager::InitializeRegisteredDeviceWallpaper() {
- if (UserManager::Get()->IsUserLoggedIn())
+ if (user_manager::UserManager::Get()->IsUserLoggedIn())
return;
bool disable_boot_animation =
@@ -1409,7 +1417,8 @@ void WallpaperManager::InitializeRegisteredDeviceWallpaper() {
kAccountsPrefShowUserNamesOnSignIn, &show_users);
DCHECK(result) << "Unable to fetch setting "
<< kAccountsPrefShowUserNamesOnSignIn;
- const user_manager::UserList& users = UserManager::Get()->GetUsers();
+ const user_manager::UserList& users =
+ user_manager::UserManager::Get()->GetUsers();
int public_session_user_index = FindPublicSession(users);
if ((!show_users && public_session_user_index == -1) || users.empty()) {
// Boot into sign in form, preload default wallpaper.
@@ -1494,7 +1503,8 @@ bool WallpaperManager::GetUserWallpaperInfo(const std::string& user_id,
WallpaperInfo* info) const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (UserManager::Get()->IsUserNonCryptohomeDataEphemeral(user_id)) {
+ if (user_manager::UserManager::Get()->IsUserNonCryptohomeDataEphemeral(
+ user_id)) {
// Default to the values cached in memory.
*info = current_user_wallpaper_info_;
@@ -1544,20 +1554,23 @@ void WallpaperManager::MoveCustomWallpapersSuccess(
// This is needed because at login screen, user id hash is not available.
info.location = base::FilePath(user_id_hash).Append(info.location).value();
bool is_persistent =
- !UserManager::Get()->IsUserNonCryptohomeDataEphemeral(user_id);
+ !user_manager::UserManager::Get()->IsUserNonCryptohomeDataEphemeral(
+ user_id);
SetUserWallpaperInfo(user_id, info, is_persistent);
}
}
void WallpaperManager::MoveLoggedInUserCustomWallpaper() {
const user_manager::User* logged_in_user =
- UserManager::Get()->GetLoggedInUser();
- task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&WallpaperManager::MoveCustomWallpapersOnWorker,
- logged_in_user->email(),
- logged_in_user->username_hash(),
- weak_factory_.GetWeakPtr()));
+ user_manager::UserManager::Get()->GetLoggedInUser();
+ if (logged_in_user) {
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&WallpaperManager::MoveCustomWallpapersOnWorker,
+ logged_in_user->email(),
+ logged_in_user->username_hash(),
+ weak_factory_.GetWeakPtr()));
+ }
}
void WallpaperManager::OnWallpaperDecoded(
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc
index 2b11522..46f75a9 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc
@@ -24,7 +24,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/time/time.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/base/in_process_browser_test.h"
@@ -32,6 +31,7 @@
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/user_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "ui/aura/env.h"
#include "ui/gfx/image/image_skia.h"
@@ -111,7 +111,8 @@ class WallpaperManagerBrowserTest : public InProcessBrowserTest {
// Logs in |username|.
void LogIn(const std::string& username, const std::string& username_hash) {
- UserManager::Get()->UserLoggedIn(username, username_hash, false);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ username, username_hash, false);
WaitAsyncWallpaperLoadStarted();
}
@@ -733,7 +734,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, SmallGuestWallpaper) {
if (!ash::test::AshTestHelper::SupportsMultipleDisplays())
return;
CreateCmdlineWallpapers();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
chromeos::login::kGuestUserName, chromeos::login::kGuestUserName, false);
UpdateDisplay("800x600");
WallpaperManager::Get()->SetDefaultWallpaperNow(std::string());
@@ -748,7 +749,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, LargeGuestWallpaper) {
return;
CreateCmdlineWallpapers();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
chromeos::login::kGuestUserName, chromeos::login::kGuestUserName, false);
UpdateDisplay("1600x1200");
WallpaperManager::Get()->SetDefaultWallpaperNow(std::string());
@@ -763,7 +764,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest,
// Start loading the default wallpaper.
UpdateDisplay("640x480");
CreateCmdlineWallpapers();
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
chromeos::login::kStubUser, "test_hash", false);
WallpaperManager::Get()->SetDefaultWallpaperNow(std::string());
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
index 506f5c5..7abb4bb 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
@@ -20,7 +20,6 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
@@ -40,6 +39,7 @@
#include "components/policy/core/common/cloud/cloud_policy_validator.h"
#include "components/policy/core/common/cloud/policy_builder.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/browser_test_utils.h"
#include "crypto/rsa_private_key.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
@@ -245,7 +245,8 @@ class WallpaperManagerPolicyTest
}
builder->Build();
fake_session_manager_client_->set_user_policy(user_id, builder->GetBlob());
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
ASSERT_TRUE(user);
policy::CloudPolicyStore* store = GetStoreForUser(user);
ASSERT_TRUE(store);
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_unittest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_unittest.cc
index 9e6d4a5..06c97ed 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_unittest.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_unittest.cc
@@ -20,6 +20,7 @@
#include "base/prefs/testing_pref_service.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 9ba3c1b4..bba472f 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -49,7 +49,6 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/login/ui/oobe_display.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/net/delay_network_call.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
@@ -73,6 +72,7 @@
#include "chromeos/settings/cros_settings_names.h"
#include "chromeos/settings/timezone_settings.h"
#include "components/breakpad/app/breakpad_linux.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_types.h"
#include "ui/base/accelerators/accelerator.h"
@@ -444,7 +444,8 @@ void WizardController::ShowUpdateScreen() {
}
void WizardController::ShowUserImageScreen() {
- const chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ const user_manager::UserManager* user_manager =
+ user_manager::UserManager::Get();
// Skip user image selection for public sessions and ephemeral logins.
if (user_manager->IsLoggedInAsPublicAccount() ||
user_manager->IsCurrentUserNonCryptohomeDataEphemeral()) {
@@ -518,9 +519,9 @@ void WizardController::ShowTermsOfServiceScreen() {
// Only show the Terms of Service when logging into a public account and Terms
// of Service have been specified through policy. In all other cases, advance
// to the user image screen immediately.
- if (!chromeos::UserManager::Get()->IsLoggedInAsPublicAccount() ||
- !ProfileManager::GetActiveUserProfile()->GetPrefs()->
- IsManagedPreference(prefs::kTermsOfServiceURL)) {
+ if (!user_manager::UserManager::Get()->IsLoggedInAsPublicAccount() ||
+ !ProfileManager::GetActiveUserProfile()->GetPrefs()->IsManagedPreference(
+ prefs::kTermsOfServiceURL)) {
ShowUserImageScreen();
return;
}
diff --git a/chrome/browser/chromeos/net/onc_utils.cc b/chrome/browser/chromeos/net/onc_utils.cc
index febfac2..dae67a2 100644
--- a/chrome/browser/chromeos/net/onc_utils.cc
+++ b/chrome/browser/chromeos/net/onc_utils.cc
@@ -9,7 +9,6 @@
#include "base/logging.h"
#include "base/prefs/pref_service.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ui_proxy_config.h"
#include "chrome/browser/prefs/proxy_config_dictionary.h"
#include "chrome/common/pref_names.h"
@@ -26,6 +25,7 @@
#include "chromeos/network/onc/onc_translator.h"
#include "chromeos/network/onc/onc_utils.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "net/base/host_port_pair.h"
#include "net/proxy/proxy_bypass_rules.h"
#include "net/proxy/proxy_server.h"
@@ -266,7 +266,8 @@ void ImportNetworksForUser(const user_manager::User* user,
const base::DictionaryValue* FindPolicyForActiveUser(
const std::string& guid,
::onc::ONCSource* onc_source) {
- const user_manager::User* user = UserManager::Get()->GetActiveUser();
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetActiveUser();
std::string username_hash = user ? user->username_hash() : std::string();
return NetworkHandler::Get()->managed_network_configuration_handler()->
FindPolicyByGUID(username_hash, guid, onc_source);
@@ -275,7 +276,8 @@ const base::DictionaryValue* FindPolicyForActiveUser(
const base::DictionaryValue* GetGlobalConfigFromPolicy(bool for_active_user) {
std::string username_hash;
if (for_active_user) {
- const user_manager::User* user = UserManager::Get()->GetActiveUser();
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->GetActiveUser();
if (!user) {
LOG(ERROR) << "No user logged in yet.";
return NULL;
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service.cc b/chrome/browser/chromeos/ownership/owner_settings_service.cc
index b2581e2..a8fc0f2 100644
--- a/chrome/browser/chromeos/ownership/owner_settings_service.cc
+++ b/chrome/browser/chromeos/ownership/owner_settings_service.cc
@@ -9,14 +9,12 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/session_manager_operation.h"
#include "chrome/browser/profiles/profile.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/user_manager/user.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc
index 9cf55d4..3154df4 100644
--- a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc
@@ -4,12 +4,12 @@
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
namespace chromeos {
@@ -36,9 +36,10 @@ OwnerSettingsServiceFactory* OwnerSettingsServiceFactory::GetInstance() {
void OwnerSettingsServiceFactory::SetUsername(const std::string& username) {
username_ = username;
- if (!UserManager::IsInitialized())
+ if (!user_manager::UserManager::IsInitialized())
return;
- const user_manager::User* user = UserManager::Get()->FindUser(username_);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(username_);
if (!user || !user->is_profile_created())
return;
Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
diff --git a/chrome/browser/chromeos/policy/blocking_login_browsertest.cc b/chrome/browser/chromeos/policy/blocking_login_browsertest.cc
index 54d4898..7cae921 100644
--- a/chrome/browser/chromeos/policy/blocking_login_browsertest.cc
+++ b/chrome/browser/chromeos/policy/blocking_login_browsertest.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/existing_user_controller.h"
#include "chrome/browser/chromeos/login/ui/webui_login_display.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
@@ -23,6 +22,7 @@
#include "chromeos/chromeos_switches.h"
#include "components/policy/core/common/cloud/device_management_service.h"
#include "components/policy/core/common/policy_switches.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
@@ -257,7 +257,7 @@ class BlockingLoginTest
IN_PROC_BROWSER_TEST_P(BlockingLoginTest, LoginBlocksForUser) {
// Verify that there isn't a logged in user when the test starts.
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
EXPECT_FALSE(user_manager->IsUserLoggedIn());
EXPECT_FALSE(browser_policy_connector()->IsEnterpriseManaged());
EXPECT_FALSE(profile_added_);
diff --git a/chrome/browser/chromeos/policy/device_local_account.h b/chrome/browser/chromeos/policy/device_local_account.h
index d10b228..175ab9c 100644
--- a/chrome/browser/chromeos/policy/device_local_account.h
+++ b/chrome/browser/chromeos/policy/device_local_account.h
@@ -43,7 +43,8 @@ struct DeviceLocalAccount {
// The |account_id| is primarily used by policy code: If device policy defines
// a device-local account with a certain |account_id|, the user policy for
// that account has to be fetched by referencing the same |account_id|.
- // The |user_id| is passed to the chromeos::UserManager where it becomes part
+ // The |user_id| is passed to the user_manager::UserManager where it becomes
+ // part
// of the global user list on the device. The |account_id| would not be safe
// to use here as it is a free-form identifier that could conflict with
// another |user_id| on the device and cannot be easily identified as
diff --git a/chrome/browser/chromeos/policy/device_local_account_browsertest.cc b/chrome/browser/chromeos/policy/device_local_account_browsertest.cc
index 06ea719b..077d915a 100644
--- a/chrome/browser/chromeos/policy/device_local_account_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_local_account_browsertest.cc
@@ -51,8 +51,7 @@
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_util.h"
-#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h"
@@ -104,6 +103,7 @@
#include "components/policy/core/common/policy_switches.h"
#include "components/signin/core/common/signin_pref_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
@@ -374,7 +374,7 @@ scoped_ptr<net::FakeURLFetcher> RunCallbackAndReturnFakeURLFetcher(
}
bool IsSessionStarted() {
- return chromeos::UserManager::Get()->IsSessionStarted();
+ return user_manager::UserManager::Get()->IsSessionStarted();
}
// GetKeyboardLayoutsForLocale() posts a task to a background task runner. This
@@ -397,7 +397,7 @@ void WaitForGetKeyboardLayoutsForLocaleToFinish() {
} // namespace
class DeviceLocalAccountTest : public DevicePolicyCrosBrowserTest,
- public chromeos::UserManager::Observer,
+ public user_manager::UserManager::Observer,
public chrome::BrowserListObserver,
public apps::AppWindowRegistry::Observer {
protected:
@@ -519,7 +519,8 @@ class DeviceLocalAccountTest : public DevicePolicyCrosBrowserTest,
base::RunLoop().RunUntilIdle();
}
- virtual void LocalStateChanged(chromeos::UserManager* user_manager) OVERRIDE {
+ virtual void LocalStateChanged(
+ user_manager::UserManager* user_manager) OVERRIDE {
if (run_loop_)
run_loop_->Quit();
}
@@ -609,7 +610,8 @@ class DeviceLocalAccountTest : public DevicePolicyCrosBrowserTest,
}
void CheckPublicSessionPresent(const std::string& id) {
- const user_manager::User* user = chromeos::UserManager::Get()->FindUser(id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(id);
ASSERT_TRUE(user);
EXPECT_EQ(id, user->email());
EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType());
@@ -709,7 +711,7 @@ class DeviceLocalAccountTest : public DevicePolicyCrosBrowserTest,
};
static bool IsKnownUser(const std::string& account_id) {
- return chromeos::UserManager::Get()->IsKnownUser(account_id);
+ return user_manager::UserManager::Get()->IsKnownUser(account_id);
}
IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, LoginScreen) {
@@ -1065,13 +1067,13 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, ExtensionsCached) {
}
IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, ExternalData) {
- // chromeos::UserManager requests an external data fetch whenever
+ // user_manager::UserManager requests an external data fetch whenever
// the key::kUserAvatarImage policy is set. Since this test wants to
// verify that the underlying policy subsystem will start a fetch
- // without this request as well, the chromeos::UserManager must be
+ // without this request as well, the user_manager::UserManager must be
// prevented from seeing the policy change.
- reinterpret_cast<chromeos::ChromeUserManager*>(chromeos::UserManager::Get())
- ->StopPolicyObserverForTesting();
+ reinterpret_cast<chromeos::ChromeUserManagerImpl*>(
+ user_manager::UserManager::Get())->StopPolicyObserverForTesting();
UploadDeviceLocalAccountPolicy();
AddPublicSessionToDevicePolicy(kAccountId1);
@@ -1194,17 +1196,17 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, UserAvatarImage) {
ASSERT_TRUE(broker);
run_loop_.reset(new base::RunLoop);
- chromeos::UserManager::Get()->AddObserver(this);
+ user_manager::UserManager::Get()->AddObserver(this);
broker->core()->store()->Load();
run_loop_->Run();
- chromeos::UserManager::Get()->RemoveObserver(this);
+ user_manager::UserManager::Get()->RemoveObserver(this);
scoped_ptr<gfx::ImageSkia> policy_image = chromeos::test::ImageLoader(
test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load();
ASSERT_TRUE(policy_image);
const user_manager::User* user =
- chromeos::UserManager::Get()->FindUser(user_id_1_);
+ user_manager::UserManager::Get()->FindUser(user_id_1_);
ASSERT_TRUE(user);
base::FilePath user_data_dir;
diff --git a/chrome/browser/chromeos/policy/device_status_collector.cc b/chrome/browser/chromeos/policy/device_status_collector.cc
index c48eab4..377c827 100644
--- a/chrome/browser/chromeos/policy/device_status_collector.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector.cc
@@ -17,7 +17,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/common/chrome_version_info.h"
@@ -28,6 +27,7 @@
#include "chromeos/settings/cros_settings_names.h"
#include "chromeos/system/statistics_provider.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "policy/proto/device_management_backend.pb.h"
@@ -428,7 +428,7 @@ void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
const user_manager::UserList& users =
- chromeos::UserManager::Get()->GetUsers();
+ user_manager::UserManager::Get()->GetUsers();
user_manager::UserList::const_iterator user;
for (user = users.begin(); user != users.end(); ++user) {
// Only regular users are reported.
diff --git a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
index 6e4a1f5..215f6ec 100644
--- a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
@@ -13,7 +13,7 @@
#include "base/run_loop.h"
#include "base/threading/sequenced_worker_pool.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/stub_enterprise_install_attributes.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
diff --git a/chrome/browser/chromeos/policy/policy_cert_service.cc b/chrome/browser/chromeos/policy/policy_cert_service.cc
index 53b61f9..ed503b5 100644
--- a/chrome/browser/chromeos/policy/policy_cert_service.cc
+++ b/chrome/browser/chromeos/policy/policy_cert_service.cc
@@ -7,9 +7,9 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/logging.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
#include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "net/cert/x509_certificate.h"
@@ -23,7 +23,7 @@ PolicyCertService::~PolicyCertService() {
PolicyCertService::PolicyCertService(
const std::string& user_id,
UserNetworkConfigurationUpdater* net_conf_updater,
- chromeos::UserManager* user_manager)
+ user_manager::UserManager* user_manager)
: cert_verifier_(NULL),
user_id_(user_id),
net_conf_updater_(net_conf_updater),
@@ -36,13 +36,14 @@ PolicyCertService::PolicyCertService(
PolicyCertService::PolicyCertService(const std::string& user_id,
PolicyCertVerifier* verifier,
- chromeos::UserManager* user_manager)
+ user_manager::UserManager* user_manager)
: cert_verifier_(verifier),
user_id_(user_id),
net_conf_updater_(NULL),
user_manager_(user_manager),
has_trust_anchors_(false),
- weak_ptr_factory_(this) {}
+ weak_ptr_factory_(this) {
+}
scoped_ptr<PolicyCertVerifier> PolicyCertService::CreatePolicyCertVerifier() {
base::Closure callback = base::Bind(
@@ -109,7 +110,7 @@ void PolicyCertService::Shutdown() {
scoped_ptr<PolicyCertService> PolicyCertService::CreateForTesting(
const std::string& user_id,
PolicyCertVerifier* verifier,
- chromeos::UserManager* user_manager) {
+ user_manager::UserManager* user_manager) {
return make_scoped_ptr(
new PolicyCertService(user_id, verifier, user_manager));
}
diff --git a/chrome/browser/chromeos/policy/policy_cert_service.h b/chrome/browser/chromeos/policy/policy_cert_service.h
index c514ba1..e32ca25 100644
--- a/chrome/browser/chromeos/policy/policy_cert_service.h
+++ b/chrome/browser/chromeos/policy/policy_cert_service.h
@@ -16,7 +16,7 @@
#include "chrome/browser/chromeos/policy/user_network_configuration_updater.h"
#include "components/keyed_service/core/keyed_service.h"
-namespace chromeos {
+namespace user_manager {
class UserManager;
}
@@ -40,7 +40,7 @@ class PolicyCertService
public:
PolicyCertService(const std::string& user_id,
UserNetworkConfigurationUpdater* net_conf_updater,
- chromeos::UserManager* user_manager);
+ user_manager::UserManager* user_manager);
virtual ~PolicyCertService();
// Creates an associated PolicyCertVerifier. The returned object must only be
@@ -64,17 +64,17 @@ class PolicyCertService
static scoped_ptr<PolicyCertService> CreateForTesting(
const std::string& user_id,
PolicyCertVerifier* verifier,
- chromeos::UserManager* user_manager);
+ user_manager::UserManager* user_manager);
private:
PolicyCertService(const std::string& user_id,
PolicyCertVerifier* verifier,
- chromeos::UserManager* user_manager);
+ user_manager::UserManager* user_manager);
PolicyCertVerifier* cert_verifier_;
std::string user_id_;
UserNetworkConfigurationUpdater* net_conf_updater_;
- chromeos::UserManager* user_manager_;
+ user_manager::UserManager* user_manager_;
bool has_trust_anchors_;
// Weak pointers to handle callbacks from PolicyCertVerifier on the IO thread.
diff --git a/chrome/browser/chromeos/policy/policy_cert_service_factory.cc b/chrome/browser/chromeos/policy/policy_cert_service_factory.cc
index a8c8ef0..b0bee1c 100644
--- a/chrome/browser/chromeos/policy/policy_cert_service_factory.cc
+++ b/chrome/browser/chromeos/policy/policy_cert_service_factory.cc
@@ -9,7 +9,6 @@
#include "base/prefs/pref_service.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/policy_cert_service.h"
#include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
#include "chrome/browser/chromeos/policy/user_network_configuration_updater_factory.h"
@@ -20,6 +19,7 @@
#include "chrome/common/pref_names.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/pref_registry/pref_registry_syncable.h"
+#include "components/user_manager/user_manager.h"
namespace policy {
@@ -94,7 +94,7 @@ KeyedService* PolicyCertServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
Profile* profile = static_cast<Profile*>(context);
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(
profile->GetOriginalProfile());
if (!user)
diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc
index f7c8d54..1dc5111 100644
--- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc
+++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc
@@ -25,6 +25,7 @@
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/policy/core/common/policy_types.h"
+#include "components/user_manager/user_manager.h"
#include "net/url_request/url_request_context_getter.h"
#include "policy/policy_constants.h"
#include "url/gurl.h"
@@ -63,7 +64,7 @@ void OnWildcardCheckCompleted(const std::string& username,
// logged-in session is not possible. Fix this either by delaying the
// cryptohome deletion operation or by getting rid of the in-session
// wildcard check.
- chromeos::UserManager::Get()->RemoveUserFromList(username);
+ user_manager::UserManager::Get()->RemoveUserFromList(username);
chrome::AttemptUserExit();
}
}
diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
index 5eb1590..e7a14dc 100644
--- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
+++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
@@ -16,7 +16,6 @@
#include "base/time/time.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/login_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/user_cloud_external_data_manager.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
@@ -33,6 +32,7 @@
#include "components/policy/core/common/cloud/cloud_external_data_manager.h"
#include "components/policy/core/common/cloud/device_management_service.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "net/url_request/url_request_context_getter.h"
@@ -150,10 +150,11 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
command_line->HasSwitch(chromeos::switches::kLoginUser);
const bool wait_for_initial_policy =
!is_browser_restart &&
- (chromeos::UserManager::Get()->IsCurrentUserNew() || is_affiliated_user);
+ (user_manager::UserManager::Get()->IsCurrentUserNew() ||
+ is_affiliated_user);
const base::TimeDelta initial_policy_fetch_timeout =
- chromeos::UserManager::Get()->IsCurrentUserNew()
+ user_manager::UserManager::Get()->IsCurrentUserNew()
? base::TimeDelta::Max()
: base::TimeDelta::FromSeconds(kInitialPolicyFetchTimeoutSeconds);
diff --git a/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc b/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc
index f332147..5d22dc7 100644
--- a/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc
+++ b/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/chromeos/policy/user_network_configuration_updater_factory.h"
#include "base/memory/singleton.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/user_network_configuration_updater.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/policy/profile_policy_connector.h"
@@ -17,6 +16,7 @@
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
namespace policy {
@@ -71,7 +71,7 @@ KeyedService* UserNetworkConfigurationUpdaterFactory::BuildServiceInstanceFor(
DCHECK(user);
// Currently, only the network policy of the primary user is supported. See
// also http://crbug.com/310685 .
- if (user != chromeos::UserManager::Get()->GetPrimaryUser())
+ if (user != user_manager::UserManager::Get()->GetPrimaryUser())
return NULL;
const bool allow_trusted_certs_from_policy =
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index f649254..60f7bae 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -71,7 +71,7 @@ Preferences::Preferences(input_method::InputMethodManager* input_method_manager)
Preferences::~Preferences() {
prefs_->RemoveObserver(this);
- UserManager::Get()->RemoveSessionStateObserver(this);
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this);
// If shell instance is destoryed before this preferences instance, there is
// no need to remove this shell observer.
if (ash::Shell::HasInstance())
@@ -353,10 +353,11 @@ void Preferences::Init(PrefServiceSyncable* prefs,
const user_manager::User* user) {
DCHECK(user);
user_ = user;
- user_is_primary_ = UserManager::Get()->GetPrimaryUser() == user_;
+ user_is_primary_ =
+ user_manager::UserManager::Get()->GetPrimaryUser() == user_;
InitUserPrefs(prefs);
- UserManager::Get()->AddSessionStateObserver(this);
+ user_manager::UserManager::Get()->AddSessionStateObserver(this);
// This causes OnIsSyncingChanged to be called when the value of
// PrefService::IsSyncing() changes.
@@ -390,7 +391,7 @@ void Preferences::ApplyPreferences(ApplyReason reason,
const std::string& pref_name) {
DCHECK(reason != REASON_PREF_CHANGED || !pref_name.empty());
const bool user_is_owner =
- UserManager::Get()->GetOwnerEmail() == user_->email();
+ user_manager::UserManager::Get()->GetOwnerEmail() == user_->email();
const bool user_is_active = user_->is_active();
system::TouchpadSettings touchpad_settings;
diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h
index bf8e6e6..0d24b05 100644
--- a/chrome/browser/chromeos/preferences.h
+++ b/chrome/browser/chromeos/preferences.h
@@ -12,8 +12,8 @@
#include "base/compiler_specific.h"
#include "base/prefs/pref_member.h"
#include "chrome/browser/chromeos/language_preferences.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/prefs/pref_service_syncable_observer.h"
+#include "components/user_manager/user_manager.h"
class PrefRegistrySimple;
class PrefService;
@@ -39,7 +39,7 @@ class InputMethodManager;
// When the preferences change, we change the settings to reflect the new value.
class Preferences : public PrefServiceSyncableObserver,
public ash::ShellObserver,
- public UserManager::UserSessionStateObserver {
+ public user_manager::UserManager::UserSessionStateObserver {
public:
Preferences();
explicit Preferences(
@@ -103,7 +103,7 @@ class Preferences : public PrefServiceSyncableObserver,
// Overriden from ash::ShellObserver.
virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE;
- // Overriden form UserManager::UserSessionStateObserver.
+ // Overriden form user_manager::UserManager::UserSessionStateObserver.
virtual void ActiveUserChanged(
const user_manager::User* active_user) OVERRIDE;
diff --git a/chrome/browser/chromeos/preferences_browsertest.cc b/chrome/browser/chromeos/preferences_browsertest.cc
index 9c6f1da..d28efed 100644
--- a/chrome/browser/chromeos/preferences_browsertest.cc
+++ b/chrome/browser/chromeos/preferences_browsertest.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/preferences.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
@@ -24,6 +23,7 @@
#include "chromeos/chromeos_switches.h"
#include "chromeos/ime/fake_ime_keyboard.h"
#include "components/feedback/tracing_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/events/event_utils.h"
@@ -139,7 +139,7 @@ IN_PROC_BROWSER_TEST_F(PreferencesTest, PRE_MultiProfiles) {
}
IN_PROC_BROWSER_TEST_F(PreferencesTest, MultiProfiles) {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Add first user and init its preferences. Check that corresponding
// settings has been changed.
diff --git a/chrome/browser/chromeos/preferences_unittest.cc b/chrome/browser/chromeos/preferences_unittest.cc
index 0f444d0..62cc543 100644
--- a/chrome/browser/chromeos/preferences_unittest.cc
+++ b/chrome/browser/chromeos/preferences_unittest.cc
@@ -7,7 +7,7 @@
#include "base/prefs/pref_member.h"
#include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_pref_service_syncable.h"
diff --git a/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc b/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
index c88c50b..a65eae2 100644
--- a/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
+++ b/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
@@ -7,9 +7,10 @@
#include "ash/multi_profile_uma.h"
#include "ash/shell.h"
#include "ash/system/tray/system_tray_delegate.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/ui/browser.h"
+#include "components/user_manager/user_manager.h"
// static
AvatarMenuActions* AvatarMenuActions::Create() {
@@ -38,7 +39,9 @@ void AvatarMenuActionsChromeOS::EditProfile(Profile* profile, size_t index) {
bool AvatarMenuActionsChromeOS::ShouldShowAddNewProfileLink() const {
// |browser_| can be NULL in unit_tests.
return (!browser_ || !browser_->profile()->IsSupervised()) &&
- UserManager::Get()->GetUsersAdmittedForMultiProfile().size();
+ user_manager::UserManager::Get()
+ ->GetUsersAdmittedForMultiProfile()
+ .size();
}
bool AvatarMenuActionsChromeOS::ShouldShowEditProfileLink() const {
diff --git a/chrome/browser/chromeos/profiles/profile_helper.cc b/chrome/browser/chromeos/profiles/profile_helper.cc
index f960630..fc95ed6 100644
--- a/chrome/browser/chromeos/profiles/profile_helper.cc
+++ b/chrome/browser/chromeos/profiles/profile_helper.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/profiles/profiles_state.h"
@@ -17,6 +16,7 @@
#include "chrome/common/chrome_switches.h"
#include "chromeos/chromeos_switches.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
namespace chromeos {
@@ -61,8 +61,8 @@ ProfileHelper::ProfileHelper()
ProfileHelper::~ProfileHelper() {
// Checking whether UserManager is initialized covers case
// when ScopedTestUserManager is used.
- if (UserManager::IsInitialized())
- UserManager::Get()->RemoveSessionStateObserver(this);
+ if (user_manager::UserManager::IsInitialized())
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this);
}
// static
@@ -151,7 +151,8 @@ base::FilePath ProfileHelper::GetUserProfileDirByUserId(
// ProfileManager and use only this function to construct profile path.
// TODO(nkostylev): Cleanup profile dir related code paths crbug.com/294233
base::FilePath profile_dir;
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
if (user && !user->username_hash().empty())
profile_dir = ProfileHelper::GetUserProfileDir(user->username_hash());
@@ -174,7 +175,7 @@ bool ProfileHelper::IsOwnerProfile(Profile* profile) {
if (!user)
return false;
- return user->email() == chromeos::UserManager::Get()->GetOwnerEmail();
+ return user->email() == user_manager::UserManager::Get()->GetOwnerEmail();
}
// static
@@ -184,7 +185,7 @@ bool ProfileHelper::IsPrimaryProfile(Profile* profile) {
user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile);
if (!user)
return false;
- return user == chromeos::UserManager::Get()->GetPrimaryUser();
+ return user == user_manager::UserManager::Get()->GetPrimaryUser();
}
void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) {
@@ -198,8 +199,8 @@ void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) {
// Add observer so we can see when the first profile's session restore is
// completed. After that, we won't need the default profile anymore.
if (!IsSigninProfile(profile) &&
- UserManager::Get()->IsLoggedInAsRegularUser() &&
- !UserManager::Get()->IsLoggedInAsStub()) {
+ user_manager::UserManager::Get()->IsLoggedInAsRegularUser() &&
+ !user_manager::UserManager::Get()->IsLoggedInAsStub()) {
chromeos::OAuth2LoginManager* login_manager =
chromeos::OAuth2LoginManagerFactory::GetInstance()->GetForProfile(
profile);
@@ -213,7 +214,7 @@ base::FilePath ProfileHelper::GetActiveUserProfileDir() {
}
void ProfileHelper::Initialize() {
- UserManager::Get()->AddSessionStateObserver(this);
+ user_manager::UserManager::Get()->AddSessionStateObserver(this);
}
void ProfileHelper::ClearSigninProfile(const base::Closure& on_clear_callback) {
@@ -249,7 +250,7 @@ Profile* ProfileHelper::GetProfileByUser(const user_manager::User* user) {
// GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance
// of ProfileImpl(), but actually its OffTheRecordProfile() should be used.
- if (UserManager::Get()->IsLoggedInAsGuest())
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
profile = profile->GetOffTheRecordProfile();
return profile;
@@ -276,7 +277,7 @@ Profile* ProfileHelper::GetProfileByUserUnsafe(const user_manager::User* user) {
// GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance
// of ProfileImpl(), but actually its OffTheRecordProfile() should be used.
- if (profile && UserManager::Get()->IsLoggedInAsGuest())
+ if (profile && user_manager::UserManager::Get()->IsLoggedInAsGuest())
profile = profile->GetOffTheRecordProfile();
return profile;
}
@@ -286,7 +287,7 @@ user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) {
if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) {
if (always_return_primary_user_for_testing)
return const_cast<user_manager::User*>(
- UserManager::Get()->GetPrimaryUser());
+ user_manager::UserManager::Get()->GetPrimaryUser());
const std::string& user_name = profile->GetProfileName();
for (user_manager::UserList::const_iterator it =
@@ -299,14 +300,14 @@ user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) {
// In case of test setup we should always default to primary user.
return const_cast<user_manager::User*>(
- UserManager::Get()->GetPrimaryUser());
+ user_manager::UserManager::Get()->GetPrimaryUser());
}
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
if (ProfileHelper::IsSigninProfile(profile))
return NULL;
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Special case for non-CrOS tests that do create several profiles
// and don't really care about mapping to the real user.
diff --git a/chrome/browser/chromeos/profiles/profile_helper.h b/chrome/browser/chromeos/profiles/profile_helper.h
index 04afba4..3dd899e 100644
--- a/chrome/browser/chromeos/profiles/profile_helper.h
+++ b/chrome/browser/chromeos/profiles/profile_helper.h
@@ -13,7 +13,7 @@
#include "base/files/file_path.h"
#include "chrome/browser/browsing_data/browsing_data_remover.h"
#include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
class Profile;
class User;
@@ -39,9 +39,10 @@ namespace chromeos {
// 2. Get profile dir of an active user, used by ProfileManager:
// GetActiveUserProfileDir()
// 3. Get mapping from user_id_hash to Profile instance/profile path etc.
-class ProfileHelper : public BrowsingDataRemover::Observer,
- public OAuth2LoginManager::Observer,
- public UserManager::UserSessionStateObserver {
+class ProfileHelper
+ : public BrowsingDataRemover::Observer,
+ public OAuth2LoginManager::Observer,
+ public user_manager::UserManager::UserSessionStateObserver {
public:
ProfileHelper();
virtual ~ProfileHelper();
@@ -139,12 +140,12 @@ class ProfileHelper : public BrowsingDataRemover::Observer,
// BrowsingDataRemover::Observer implementation:
virtual void OnBrowsingDataRemoverDone() OVERRIDE;
- // UserManager::Observer overrides.
+ // OAuth2LoginManager::Observer overrides.
virtual void OnSessionRestoreStateChanged(
Profile* user_profile,
OAuth2LoginManager::SessionRestoreState state) OVERRIDE;
- // UserManager::UserSessionStateObserver implementation:
+ // user_manager::UserManager::UserSessionStateObserver implementation:
virtual void ActiveUserHashChanged(const std::string& hash) OVERRIDE;
// Associates |user| with profile with the same user_id,
diff --git a/chrome/browser/chromeos/profiles/profile_list_chromeos.cc b/chrome/browser/chromeos/profiles/profile_list_chromeos.cc
index b49bcac..d8f7591 100644
--- a/chrome/browser/chromeos/profiles/profile_list_chromeos.cc
+++ b/chrome/browser/chromeos/profiles/profile_list_chromeos.cc
@@ -8,12 +8,12 @@
#include "ash/shell.h"
#include "base/command_line.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_switches.h"
#include "components/signin/core/common/profile_management_switches.h"
+#include "components/user_manager/user_manager.h"
// static
ProfileList* ProfileList::Create(ProfileInfoInterface* profile_cache) {
@@ -43,7 +43,8 @@ void ProfileListChromeOS::RebuildMenu() {
ClearMenu();
// Filter for profiles associated with logged-in users.
- user_manager::UserList users = UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserList users =
+ user_manager::UserManager::Get()->GetLoggedInUsers();
// Add corresponding profiles.
for (user_manager::UserList::const_iterator it = users.begin();
diff --git a/chrome/browser/chromeos/profiles/profile_list_chromeos_unittest.cc b/chrome/browser/chromeos/profiles/profile_list_chromeos_unittest.cc
index 6f47d2e..398aa3e 100644
--- a/chrome/browser/chromeos/profiles/profile_list_chromeos_unittest.cc
+++ b/chrome/browser/chromeos/profiles/profile_list_chromeos_unittest.cc
@@ -10,6 +10,7 @@
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/browser/profiles/avatar_menu.h"
@@ -69,7 +70,7 @@ class ProfileListChromeOSTest : public testing::Test {
}
FakeUserManager* GetFakeUserManager() {
- return static_cast<FakeUserManager*>(UserManager::Get());
+ return static_cast<FakeUserManager*>(user_manager::UserManager::Get());
}
void AddProfile(base::string16 name, bool log_in) {
diff --git a/chrome/browser/chromeos/proxy_config_service_impl.cc b/chrome/browser/chromeos/proxy_config_service_impl.cc
index 89d07f6..9134736 100644
--- a/chrome/browser/chromeos/proxy_config_service_impl.cc
+++ b/chrome/browser/chromeos/proxy_config_service_impl.cc
@@ -12,7 +12,6 @@
#include "base/prefs/pref_service.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/net/proxy_config_handler.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/prefs/proxy_config_dictionary.h"
@@ -24,6 +23,7 @@
#include "chromeos/network/network_state_handler.h"
#include "chromeos/network/onc/onc_utils.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
+#include "components/user_manager/user_manager.h"
namespace chromeos {
@@ -144,7 +144,7 @@ bool ProxyConfigServiceImpl::IgnoreProxy(const PrefService* profile_prefs,
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
const user_manager::User* logged_in_user =
- UserManager::Get()->GetLoggedInUser();
+ user_manager::UserManager::Get()->GetLoggedInUser();
if (connector->GetUserAffiliation(logged_in_user->email()) ==
policy::USER_AFFILIATION_MANAGED) {
VLOG(1) << "Respecting proxy for network, as logged-in user belongs to "
diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.h b/chrome/browser/chromeos/settings/device_settings_test_helper.h
index 8ac6a00..fc66da9 100644
--- a/chrome/browser/chromeos/settings/device_settings_test_helper.h
+++ b/chrome/browser/chromeos/settings/device_settings_test_helper.h
@@ -16,7 +16,7 @@
#include "base/message_loop/message_loop.h"
#include "base/strings/string_util.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/device_policy_builder.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
diff --git a/chrome/browser/chromeos/settings/session_manager_operation.cc b/chrome/browser/chromeos/settings/session_manager_operation.cc
index 44aadfe..37b9626 100644
--- a/chrome/browser/chromeos/settings/session_manager_operation.cc
+++ b/chrome/browser/chromeos/settings/session_manager_operation.cc
@@ -11,12 +11,10 @@
#include "base/stl_util.h"
#include "base/task_runner_util.h"
#include "base/threading/sequenced_worker_pool.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
#include "chrome/browser/chromeos/settings/owner_key_util.h"
#include "chrome/browser/net/nss_context.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/user_manager/user.h"
#include "content/public/browser/browser_thread.h"
#include "crypto/rsa_private_key.h"
#include "crypto/signature_creator.h"
diff --git a/chrome/browser/chromeos/settings/stub_cros_settings_provider.cc b/chrome/browser/chromeos/settings/stub_cros_settings_provider.cc
index 0202da7..c11e3c3 100644
--- a/chrome/browser/chromeos/settings/stub_cros_settings_provider.cc
+++ b/chrome/browser/chromeos/settings/stub_cros_settings_provider.cc
@@ -6,7 +6,6 @@
#include "base/logging.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_provider.h"
#include "chromeos/settings/cros_settings_names.h"
diff --git a/chrome/browser/chromeos/sim_dialog_delegate.cc b/chrome/browser/chromeos/sim_dialog_delegate.cc
index ebb819f..7e49665 100644
--- a/chrome/browser/chromeos/sim_dialog_delegate.cc
+++ b/chrome/browser/chromeos/sim_dialog_delegate.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/chromeos/sim_dialog_delegate.h"
#include "base/strings/stringprintf.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc
index 07dcba04..4efcc07 100644
--- a/chrome/browser/chromeos/status/network_menu.cc
+++ b/chrome/browser/chromeos/status/network_menu.cc
@@ -15,7 +15,6 @@
#include "base/logging.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/mobile_config.h"
#include "chrome/browser/chromeos/options/network_config_view.h"
#include "chrome/browser/chromeos/sim_dialog_delegate.h"
diff --git a/chrome/browser/chromeos/system/automatic_reboot_manager.cc b/chrome/browser/chromeos/system/automatic_reboot_manager.cc
index b5370b7..6e96e41 100644
--- a/chrome/browser/chromeos/system/automatic_reboot_manager.cc
+++ b/chrome/browser/chromeos/system/automatic_reboot_manager.cc
@@ -33,12 +33,12 @@
#include "base/time/tick_clock.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/system/automatic_reboot_manager_observer.h"
#include "chrome/common/pref_names.h"
#include "chromeos/chromeos_paths.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
@@ -171,7 +171,7 @@ AutomaticRebootManager::AutomaticRebootManager(
// If no user is logged in, a reboot may be performed whenever the user is
// idle. Start listening for user activity to determine whether the user is
// idle or not.
- if (!UserManager::Get()->IsUserLoggedIn()) {
+ if (!user_manager::UserManager::Get()->IsUserLoggedIn()) {
if (ash::Shell::HasInstance())
ash::Shell::GetInstance()->user_activity_detector()->AddObserver(this);
notification_registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_CHANGED,
@@ -262,7 +262,7 @@ void AutomaticRebootManager::Observe(
const content::NotificationSource& source,
const content::NotificationDetails& details) {
if (type == chrome::NOTIFICATION_APP_TERMINATING) {
- if (UserManager::Get()->IsUserLoggedIn()) {
+ if (user_manager::UserManager::Get()->IsUserLoggedIn()) {
// The browser is terminating during a session, either because the session
// is ending or because the browser is being restarted.
MaybeReboot(true);
@@ -395,7 +395,7 @@ void AutomaticRebootManager::MaybeReboot(bool ignore_session) {
// * A session is in progress and |ignore_session| is not set.
if (!reboot_requested_ ||
(login_screen_idle_timer_ && login_screen_idle_timer_->IsRunning()) ||
- (!ignore_session && UserManager::Get()->IsUserLoggedIn())) {
+ (!ignore_session && user_manager::UserManager::Get()->IsUserLoggedIn())) {
return;
}
@@ -404,8 +404,8 @@ void AutomaticRebootManager::MaybeReboot(bool ignore_session) {
void AutomaticRebootManager::Reboot() {
// If a non-kiosk-app session is in progress, do not reboot.
- if (UserManager::Get()->IsUserLoggedIn() &&
- !UserManager::Get()->IsLoggedInAsKioskApp()) {
+ if (user_manager::UserManager::Get()->IsUserLoggedIn() &&
+ !user_manager::UserManager::Get()->IsLoggedInAsKioskApp()) {
return;
}
diff --git a/chrome/browser/chromeos/system/automatic_reboot_manager_unittest.cc b/chrome/browser/chromeos/system/automatic_reboot_manager_unittest.cc
index 70c431e..32310a2 100644
--- a/chrome/browser/chromeos/system/automatic_reboot_manager_unittest.cc
+++ b/chrome/browser/chromeos/system/automatic_reboot_manager_unittest.cc
@@ -28,7 +28,7 @@
#include "base/values.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chromeos/chromeos_paths.h"
diff --git a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
index c84338b..b097f4f 100644
--- a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
+++ b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
@@ -20,7 +20,6 @@
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -34,6 +33,7 @@
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_utils.h"
#include "policy/policy_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -271,9 +271,9 @@ class TrayAccessibilityTest
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) {
EXPECT_EQ(ash::user::LOGGED_IN_NONE, GetLoginStatus());
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "owner@invalid.domain", true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
EXPECT_EQ(ash::user::LOGGED_IN_USER, GetLoginStatus());
}
@@ -285,9 +285,9 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowTrayIcon) {
// Confirms that the icon is invisible before login.
EXPECT_FALSE(IsTrayIconVisible());
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "owner@invalid.domain", true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
// Confirms that the icon is invisible just after login.
EXPECT_FALSE(IsTrayIconVisible());
@@ -351,9 +351,9 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowTrayIcon) {
// http://crbug.com/396342
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowMenu) {
// Login
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "owner@invalid.domain", true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
SetShowAccessibilityOptionsInSystemTrayMenu(false);
@@ -421,9 +421,9 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowMenu) {
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest,
DISABLED_ShowMenuWithShowMenuOption) {
// Login
- UserManager::Get()->UserLoggedIn(
+ user_manager::UserManager::Get()->UserLoggedIn(
"owner@invalid.domain", "owner@invalid.domain", true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
SetShowAccessibilityOptionsInSystemTrayMenu(true);
diff --git a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
index d5327d6..fa3c395 100644
--- a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
+++ b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
@@ -12,11 +12,11 @@
#include "base/memory/weak_ptr.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/debug_daemon_client.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
const char kNotAvailable[] = "<not available>";
@@ -136,9 +136,8 @@ void DebugDaemonLogSource::OnGetUserLogFiles(
SystemLogsResponse* response = new SystemLogsResponse;
std::vector<Profile*> last_used = ProfileManager::GetLastOpenedProfiles();
- if (last_used.empty() &&
- chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsKioskApp()) {
+ if (last_used.empty() && user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsKioskApp()) {
// Use the kiosk app profile explicitly because kiosk session does not
// open any browsers thus ProfileManager::GetLastOpenedProfiles returns
// an empty |last_used|.
diff --git a/chrome/browser/chromeos/ui/choose_mobile_network_dialog.cc b/chrome/browser/chromeos/ui/choose_mobile_network_dialog.cc
index 11ce289..ad5acc3 100644
--- a/chrome/browser/chromeos/ui/choose_mobile_network_dialog.cc
+++ b/chrome/browser/chromeos/ui/choose_mobile_network_dialog.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/browser/extensions/activity_log/activity_database_unittest.cc b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
index 7b1e135..1ad7121 100644
--- a/chrome/browser/extensions/activity_log/activity_database_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
@@ -28,7 +28,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chromeos/chromeos_switches.h"
diff --git a/chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc b/chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc
index 4f516bb..ff831014 100644
--- a/chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc
@@ -17,7 +17,7 @@
#include "extensions/common/extension_builder.h"
#if defined OS_CHROMEOS
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/activity_log/activity_log_unittest.cc b/chrome/browser/extensions/activity_log/activity_log_unittest.cc
index b187343..0a22195 100644
--- a/chrome/browser/extensions/activity_log/activity_log_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_log_unittest.cc
@@ -27,7 +27,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/activity_log/counting_policy_unittest.cc b/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
index 2823812..371b913 100644
--- a/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
+++ b/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
@@ -25,7 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
index 493469c..188a52a 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
@@ -24,7 +24,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc
index e2a12d2..da360aa 100644
--- a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc
+++ b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc
@@ -23,10 +23,10 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace extensions {
@@ -96,7 +96,8 @@ bool AutotestPrivateLoginStatusFunction::RunSync() {
base::DictionaryValue* result(new base::DictionaryValue);
#if defined(OS_CHROMEOS)
- const chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ const user_manager::UserManager* user_manager =
+ user_manager::UserManager::Get();
const bool is_screen_locked =
!!chromeos::ScreenLocker::default_screen_locker();
diff --git a/chrome/browser/extensions/api/braille_display_private/braille_display_private_apitest.cc b/chrome/browser/extensions/api/braille_display_private/braille_display_private_apitest.cc
index ae2300c..41e9dcb 100644
--- a/chrome/browser/extensions/api/braille_display_private/braille_display_private_apitest.cc
+++ b/chrome/browser/extensions/api/braille_display_private/braille_display_private_apitest.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/lock/screen_locker_tester.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/api/braille_display_private/braille_controller_brlapi.h"
#include "chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h"
@@ -23,6 +22,7 @@
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
@@ -30,7 +30,7 @@
using chromeos::ProfileHelper;
using chromeos::ScreenLocker;
-using chromeos::UserManager;
+using user_manager::UserManager;
using chromeos::test::ScreenLockerTester;
using content::BrowserThread;
@@ -327,8 +327,9 @@ IN_PROC_BROWSER_TEST_F(BrailleDisplayPrivateAPIUserTest,
KeyEventOnLockScreen) {
scoped_ptr<ScreenLockerTester> tester(ScreenLocker::GetTester());
// Log in.
- UserManager::Get()->UserLoggedIn(kTestUserName, kTestUserName, true);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kTestUserName, kTestUserName, true);
+ user_manager::UserManager::Get()->SessionStarted();
Profile* profile = ProfileManager::GetActiveUserProfile();
ASSERT_FALSE(
ProfileHelper::GetSigninProfile()->IsSameProfile(profile))
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_service_chromeos.cc b/chrome/browser/extensions/api/feedback_private/feedback_service_chromeos.cc
index 84bec47..94cd0e3 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_service_chromeos.cc
+++ b/chrome/browser/extensions/api/feedback_private/feedback_service_chromeos.cc
@@ -8,8 +8,8 @@
#include "base/memory/weak_ptr.h"
#include "base/metrics/statistics_recorder.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
namespace extensions {
@@ -41,7 +41,7 @@ FeedbackServiceImpl::~FeedbackServiceImpl() {
}
std::string FeedbackServiceImpl::GetUserEmail() {
- const chromeos::UserManager* manager = chromeos::UserManager::Get();
+ const user_manager::UserManager* manager = user_manager::UserManager::Get();
const user_manager::User* user = manager ? manager->GetActiveUser() : NULL;
return user ? user->display_email() : std::string();
}
diff --git a/chrome/browser/extensions/api/identity/identity_api.cc b/chrome/browser/extensions/api/identity/identity_api.cc
index 26c54c1..58c41aa 100644
--- a/chrome/browser/extensions/api/identity/identity_api.cc
+++ b/chrome/browser/extensions/api/identity/identity_api.cc
@@ -40,10 +40,10 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
+#include "components/user_manager/user_manager.h"
#include "google_apis/gaia/gaia_constants.h"
#endif
@@ -367,7 +367,7 @@ bool IdentityGetAuthTokenFunction::RunAsync() {
#if defined(OS_CHROMEOS)
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
- if (chromeos::UserManager::Get()->IsLoggedInAsKioskApp() &&
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp() &&
connector->IsEnterpriseManaged()) {
StartMintTokenFlow(IdentityMintRequestQueue::MINT_TYPE_NONINTERACTIVE);
return true;
@@ -491,7 +491,7 @@ void IdentityGetAuthTokenFunction::StartMintToken(
case IdentityTokenCacheValue::CACHE_STATUS_NOTFOUND:
#if defined(OS_CHROMEOS)
// Always force minting token for ChromeOS kiosk app.
- if (chromeos::UserManager::Get()->IsLoggedInAsKioskApp()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp()) {
gaia_mint_token_mode_ = OAuth2MintTokenFlow::MODE_MINT_TOKEN_FORCE;
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()
diff --git a/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc b/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
index dbda8b0..3bd5200 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
+++ b/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "base/command_line.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/api/image_writer_private/error_messages.h"
#include "chrome/browser/extensions/api/image_writer_private/operation_manager.h"
#include "chrome/browser/extensions/api/image_writer_private/test_utils.h"
@@ -14,7 +13,7 @@
#include "extensions/browser/event_router.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/api/input/input.cc b/chrome/browser/extensions/api/input/input.cc
index a3939ad..b9f4b1e 100644
--- a/chrome/browser/extensions/api/input/input.cc
+++ b/chrome/browser/extensions/api/input/input.cc
@@ -21,7 +21,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif // OS_CHROMEOS
#if defined(USE_ASH)
@@ -177,10 +177,10 @@ bool VirtualKeyboardPrivateOpenSettingsFunction::RunSync() {
#if defined(OS_CHROMEOS)
// Do not try to open language options page if user is not logged in or
// locked.
- if (!chromeos::UserManager::Get()->IsUserLoggedIn() ||
+ if (!user_manager::UserManager::Get()->IsUserLoggedIn() ||
chromeos::UserAddingScreen::Get()->IsRunning() ||
(chromeos::ScreenLocker::default_screen_locker() &&
- chromeos::ScreenLocker::default_screen_locker()->locked()))
+ chromeos::ScreenLocker::default_screen_locker()->locked()))
return true;
#endif // OS_CHROMEOS
diff --git a/chrome/browser/extensions/api/input_ime/input_ime_api.cc b/chrome/browser/extensions/api/input_ime/input_ime_api.cc
index a7b0fdf..1f75f9f 100644
--- a/chrome/browser/extensions/api/input_ime/input_ime_api.cc
+++ b/chrome/browser/extensions/api/input_ime/input_ime_api.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/chromeos/input_method/input_method_engine.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile_manager.h"
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
index 33f1c9c..19f437e 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
@@ -7,10 +7,10 @@
#include "base/command_line.h"
#include "base/macros.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/common/switches.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -188,7 +188,7 @@ class ExtensionNetworkingPrivateApiTest
}
void InitializeSanitizedUsername() {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
user_manager::User* user = user_manager->GetActiveUser();
CHECK(user);
std::string userhash;
diff --git a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
index 97098b8..767b444 100644
--- a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+++ b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
@@ -22,9 +22,9 @@
#include "extensions/common/api/runtime.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
+#include "components/user_manager/user_manager.h"
#endif
using extensions::Extension;
@@ -226,7 +226,7 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
bool ChromeRuntimeAPIDelegate::RestartDevice(std::string* error_message) {
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::Get()->IsLoggedInAsKioskApp()) {
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp()) {
chromeos::DBusThreadManager::Get()
->GetPowerManagerClient()
->RequestRestart();
diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
index ec60802..ac35c2b6 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -17,6 +17,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/chrome_version_info.h"
#include "chrome/common/extensions/extension_constants.h"
+#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/plugin_service.h"
#include "extensions/common/extension.h"
@@ -40,7 +41,6 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/chromeos_switches.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/storage_partition.h"
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 2228271..9823d4e 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -63,7 +63,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
using base::UserMetricsAction;
@@ -574,7 +574,7 @@ void CrxInstaller::ConfirmInstall() {
if (KioskModeInfo::IsKioskOnly(install_checker_.extension())) {
bool in_kiosk_mode = false;
#if defined(OS_CHROMEOS)
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
in_kiosk_mode = user_manager && user_manager->IsLoggedInAsKioskApp();
#endif
if (!in_kiosk_mode) {
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc
index aeb7313..1ae57dd 100644
--- a/chrome/browser/extensions/crx_installer_browsertest.cc
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc
@@ -37,7 +37,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
#include "chromeos/chromeos_switches.h"
#endif
diff --git a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
index 748eec2..f163300 100644
--- a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
+++ b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
@@ -26,7 +26,7 @@
#include "ui/gfx/skia_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/extension_assets_manager_chromeos.cc b/chrome/browser/extensions/extension_assets_manager_chromeos.cc
index e7e3d92..e74842b 100644
--- a/chrome/browser/extensions/extension_assets_manager_chromeos.cc
+++ b/chrome/browser/extensions/extension_assets_manager_chromeos.cc
@@ -16,13 +16,13 @@
#include "base/sequenced_task_runner.h"
#include "base/sys_info.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/manifest_url_handler.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
@@ -281,7 +281,7 @@ void ExtensionAssetsManagerChromeOS::CheckSharedExtension(
DCHECK_CURRENTLY_ON(BrowserThread::UI);
const std::string& user_id = profile->GetProfileName();
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (!user_manager) {
NOTREACHED();
return;
@@ -497,7 +497,7 @@ bool ExtensionAssetsManagerChromeOS::CleanUpExtension(
const std::string& id,
base::DictionaryValue* extension_info,
std::multimap<std::string, base::FilePath>* live_extension_paths) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (!user_manager) {
NOTREACHED();
return false;
diff --git a/chrome/browser/extensions/extension_garbage_collector_chromeos.cc b/chrome/browser/extensions/extension_garbage_collector_chromeos.cc
index d4a2d92..e737cc0 100644
--- a/chrome/browser/extensions/extension_garbage_collector_chromeos.cc
+++ b/chrome/browser/extensions/extension_garbage_collector_chromeos.cc
@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
+#include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/browser/extension_system.h"
namespace extensions {
@@ -49,7 +49,7 @@ void ExtensionGarbageCollectorChromeOS::GarbageCollectExtensions() {
}
bool ExtensionGarbageCollectorChromeOS::CanGarbageCollectSharedExtensions() {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (!user_manager) {
NOTREACHED();
return false;
diff --git a/chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc b/chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc
index fea341eb..ea6451e 100644
--- a/chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc
+++ b/chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc
@@ -9,7 +9,7 @@
#include "base/threading/sequenced_worker_pool.h"
#include "base/values.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
#include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
@@ -20,6 +20,7 @@
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/plugin_service.h"
#include "extensions/browser/extension_prefs.h"
@@ -140,7 +141,7 @@ class ExtensionGarbageCollectorChromeOSUnitTest
chromeos::FakeUserManager* GetFakeUserManager() {
return static_cast<chromeos::FakeUserManager*>(
- chromeos::UserManager::Get());
+ user_manager::UserManager::Get());
}
private:
diff --git a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
index ffef228..21027f3 100644
--- a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
+++ b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
@@ -53,7 +53,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/extension_service_test_base.h b/chrome/browser/extensions/extension_service_test_base.h
index dea4f4f..cf0785d 100644
--- a/chrome/browser/extensions/extension_service_test_base.h
+++ b/chrome/browser/extensions/extension_service_test_base.h
@@ -14,7 +14,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 4c475ff..20b589f 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -129,7 +129,7 @@
#include "webkit/common/database/database_identifier.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
index 9804b81..bb4617a 100644
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -71,12 +71,12 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/login_state.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
using content::BrowserThread;
@@ -126,7 +126,7 @@ void ExtensionSystemImpl::Shared::InitPrefs() {
#if defined(OS_CHROMEOS)
const user_manager::User* user =
- chromeos::UserManager::Get()->GetActiveUser();
+ user_manager::UserManager::Get()->GetActiveUser();
policy::DeviceLocalAccount::Type device_local_account_type;
if (user && policy::IsDeviceLocalAccountUser(user->email(),
&device_local_account_type)) {
diff --git a/chrome/browser/extensions/extension_ui_unittest.cc b/chrome/browser/extensions/extension_ui_unittest.cc
index 5ec8f7b..09f66c4 100644
--- a/chrome/browser/extensions/extension_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_ui_unittest.cc
@@ -19,7 +19,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/extension_web_ui_unittest.cc b/chrome/browser/extensions/extension_web_ui_unittest.cc
index 7d69656..fb3bee9 100644
--- a/chrome/browser/extensions/extension_web_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_web_ui_unittest.cc
@@ -16,7 +16,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc
index 79181b8..271d0a4 100644
--- a/chrome/browser/extensions/external_provider_impl.cc
+++ b/chrome/browser/extensions/external_provider_impl.cc
@@ -37,13 +37,13 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/extensions/device_local_account_external_policy_loader.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/app_pack_updater.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#else
#include "chrome/browser/extensions/default_apps.h"
#endif
@@ -437,7 +437,7 @@ void ExternalProviderImpl::CreateExternalProviders(
bool is_chromeos_demo_session = false;
int bundled_extension_creation_flags = Extension::NO_FLAGS;
#if defined(OS_CHROMEOS)
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
is_chromeos_demo_session =
user_manager && user_manager->IsLoggedInAsDemoUser() &&
connector->GetDeviceMode() == policy::DEVICE_MODE_RETAIL_KIOSK;
diff --git a/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc b/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
index c88ecce..bc90c09 100644
--- a/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
+++ b/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
@@ -12,6 +12,7 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/common/chrome_paths.h"
diff --git a/chrome/browser/extensions/external_provider_impl_unittest.cc b/chrome/browser/extensions/external_provider_impl_unittest.cc
index f74949c..f9991cb 100644
--- a/chrome/browser/extensions/external_provider_impl_unittest.cc
+++ b/chrome/browser/extensions/external_provider_impl_unittest.cc
@@ -32,6 +32,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chromeos/system/mock_statistics_provider.h"
#include "chromeos/system/statistics_provider.h"
#endif
diff --git a/chrome/browser/extensions/page_action_controller_unittest.cc b/chrome/browser/extensions/page_action_controller_unittest.cc
index 5d96b18..33e0c84 100644
--- a/chrome/browser/extensions/page_action_controller_unittest.cc
+++ b/chrome/browser/extensions/page_action_controller_unittest.cc
@@ -21,7 +21,7 @@
#include "extensions/common/value_builder.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/test_extension_environment.h b/chrome/browser/extensions/test_extension_environment.h
index a8afc858..57136588 100644
--- a/chrome/browser/extensions/test_extension_environment.h
+++ b/chrome/browser/extensions/test_extension_environment.h
@@ -10,7 +10,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index 874dca1..b6ebb83 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -67,7 +67,7 @@
#include "url/third_party/mozilla/url_parse.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/extensions/zipfile_installer_unittest.cc b/chrome/browser/extensions/zipfile_installer_unittest.cc
index 63ea3c7..f26d836 100644
--- a/chrome/browser/extensions/zipfile_installer_unittest.cc
+++ b/chrome/browser/extensions/zipfile_installer_unittest.cc
@@ -25,7 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/invalidation/profile_invalidation_provider_factory.cc b/chrome/browser/invalidation/profile_invalidation_provider_factory.cc
index f54a63b..3c1bc71 100644
--- a/chrome/browser/invalidation/profile_invalidation_provider_factory.cc
+++ b/chrome/browser/invalidation/profile_invalidation_provider_factory.cc
@@ -36,11 +36,11 @@
#if defined(OS_CHROMEOS)
#include "base/files/file_path.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/device_identity_provider.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace invalidation {
@@ -53,9 +53,9 @@ ProfileInvalidationProvider* ProfileInvalidationProviderFactory::GetForProfile(
// when this method is called during the creation of the sign-in profile
// itself. Using ProfileHelper::GetSigninProfileDir() is safe because it does
// not try to access the sign-in profile.
- if (profile->GetPath() == chromeos::ProfileHelper::GetSigninProfileDir()||
- (chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsGuest())) {
+ if (profile->GetPath() == chromeos::ProfileHelper::GetSigninProfileDir() ||
+ (user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsGuest())) {
// The Chrome OS login and Chrome OS guest profiles do not have GAIA
// credentials and do not support invalidation.
return NULL;
@@ -110,8 +110,8 @@ KeyedService* ProfileInvalidationProviderFactory::BuildServiceInstanceFor(
#if defined(OS_CHROMEOS)
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
- if (chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsKioskApp() &&
+ if (user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsKioskApp() &&
connector->IsEnterpriseManaged()) {
identity_provider.reset(new chromeos::DeviceIdentityProvider(
chromeos::DeviceOAuth2TokenServiceFactory::Get()));
diff --git a/chrome/browser/invalidation/profile_invalidation_provider_factory_browsertest.cc b/chrome/browser/invalidation/profile_invalidation_provider_factory_browsertest.cc
index d4e7003..b30ca78 100644
--- a/chrome/browser/invalidation/profile_invalidation_provider_factory_browsertest.cc
+++ b/chrome/browser/invalidation/profile_invalidation_provider_factory_browsertest.cc
@@ -14,6 +14,7 @@
#include "chromeos/login/user_names.h"
#include "components/invalidation/invalidation_service.h"
#include "components/invalidation/profile_invalidation_provider.h"
+#include "components/user_manager/user_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace invalidation {
@@ -114,7 +115,7 @@ void ProfileInvalidationProviderFactoryGuestBrowserTest::SetUpCommandLine(
// the guest profile while a guest session is in progress.
IN_PROC_BROWSER_TEST_F(ProfileInvalidationProviderFactoryGuestBrowserTest,
NoInvalidationService) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
EXPECT_TRUE(user_manager->IsLoggedInAsGuest());
Profile* guest_profile =
chromeos::ProfileHelper::Get()
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index e954d4a..664a507 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -104,7 +104,6 @@
#endif // defined(SPDY_PROXY_AUTH_ORIGIN)
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h"
#include "chromeos/network/host_resolver_impl_chromeos.h"
#endif
diff --git a/chrome/browser/lifetime/application_lifetime.cc b/chrome/browser/lifetime/application_lifetime.cc
index 4c10890..f02bd06 100644
--- a/chrome/browser/lifetime/application_lifetime.cc
+++ b/chrome/browser/lifetime/application_lifetime.cc
@@ -41,7 +41,6 @@
#if defined(OS_CHROMEOS)
#include "base/sys_info.h"
#include "chrome/browser/chromeos/boot_times_loader.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
#include "chromeos/dbus/update_engine_client.h"
diff --git a/chrome/browser/media/media_stream_devices_controller.cc b/chrome/browser/media/media_stream_devices_controller.cc
index 431af98..dd9ca2c 100644
--- a/chrome/browser/media/media_stream_devices_controller.cc
+++ b/chrome/browser/media/media_stream_devices_controller.cc
@@ -31,7 +31,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
using content::BrowserThread;
@@ -86,7 +86,8 @@ bool IsInKioskMode() {
return true;
#if defined(OS_CHROMEOS)
- const chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ const user_manager::UserManager* user_manager =
+ user_manager::UserManager::Get();
return user_manager && user_manager->IsLoggedInAsKioskApp();
#else
return false;
diff --git a/chrome/browser/media_galleries/gallery_watch_manager_unittest.cc b/chrome/browser/media_galleries/gallery_watch_manager_unittest.cc
index fe3b9f2..9599b3a 100644
--- a/chrome/browser/media_galleries/gallery_watch_manager_unittest.cc
+++ b/chrome/browser/media_galleries/gallery_watch_manager_unittest.cc
@@ -25,7 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/media_galleries/media_file_system_registry_unittest.cc b/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
index c80efdc..a43723f 100644
--- a/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
+++ b/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
@@ -49,7 +49,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/media_galleries/media_galleries_permission_controller_unittest.cc b/chrome/browser/media_galleries/media_galleries_permission_controller_unittest.cc
index ba975b5..7246aee 100644
--- a/chrome/browser/media_galleries/media_galleries_permission_controller_unittest.cc
+++ b/chrome/browser/media_galleries/media_galleries_permission_controller_unittest.cc
@@ -22,7 +22,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc b/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
index 1a1f8c9..e3a4e8f 100644
--- a/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
+++ b/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
@@ -37,7 +37,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/media_galleries/media_galleries_scan_result_controller_unittest.cc b/chrome/browser/media_galleries/media_galleries_scan_result_controller_unittest.cc
index f345c3b..026715d 100644
--- a/chrome/browser/media_galleries/media_galleries_scan_result_controller_unittest.cc
+++ b/chrome/browser/media_galleries/media_galleries_scan_result_controller_unittest.cc
@@ -25,7 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/media_galleries/media_scan_manager_unittest.cc b/chrome/browser/media_galleries/media_scan_manager_unittest.cc
index 9964aff..fa10586 100644
--- a/chrome/browser/media_galleries/media_scan_manager_unittest.cc
+++ b/chrome/browser/media_galleries/media_scan_manager_unittest.cc
@@ -27,7 +27,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/metrics/chromeos_metrics_provider.cc b/chrome/browser/metrics/chromeos_metrics_provider.cc
index ef732c0..eb90cfe 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider.cc
+++ b/chrome/browser/metrics/chromeos_metrics_provider.cc
@@ -10,11 +10,11 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/common/pref_names.h"
#include "chromeos/system/statistics_provider.h"
#include "components/metrics/metrics_service.h"
#include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "device/bluetooth/bluetooth_adapter.h"
#include "device/bluetooth/bluetooth_adapter_factory.h"
@@ -128,10 +128,10 @@ void ChromeOSMetricsProvider::LogCrash(const std::string& crash_type) {
void ChromeOSMetricsProvider::OnDidCreateMetricsLog() {
registered_user_count_at_log_initialization_ = false;
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
registered_user_count_at_log_initialization_ = true;
user_count_at_log_initialization_ =
- chromeos::UserManager::Get()->GetLoggedInUsers().size();
+ user_manager::UserManager::Get()->GetLoggedInUsers().size();
}
}
@@ -269,8 +269,9 @@ void ChromeOSMetricsProvider::WriteBluetoothProto(
void ChromeOSMetricsProvider::UpdateMultiProfileUserCount(
metrics::SystemProfileProto* system_profile_proto) {
- if (chromeos::UserManager::IsInitialized()) {
- size_t user_count = chromeos::UserManager::Get()->GetLoggedInUsers().size();
+ if (user_manager::UserManager::IsInitialized()) {
+ size_t user_count =
+ user_manager::UserManager::Get()->GetLoggedInUsers().size();
// We invalidate the user count if it changed while the log was open.
if (registered_user_count_at_log_initialization_ &&
diff --git a/chrome/browser/metrics/chromeos_metrics_provider_unittest.cc b/chrome/browser/metrics/chromeos_metrics_provider_unittest.cc
index 21f5e16..a9ae53ef 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider_unittest.cc
+++ b/chrome/browser/metrics/chromeos_metrics_provider_unittest.cc
@@ -8,7 +8,7 @@
#include "base/basictypes.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/metrics/chromeos_metrics_provider.h"
#include "chromeos/dbus/fake_bluetooth_adapter_client.h"
#include "chromeos/dbus/fake_bluetooth_agent_manager_client.h"
@@ -21,6 +21,7 @@
#include "chromeos/dbus/power_manager_client.h"
#include "chromeos/login/login_state.h"
#include "components/metrics/proto/system_profile.pb.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/browser/net/nss_context_chromeos_browsertest.cc b/chrome/browser/net/nss_context_chromeos_browsertest.cc
index d77c64f..c1aec35 100644
--- a/chrome/browser/net/nss_context_chromeos_browsertest.cc
+++ b/chrome/browser/net/nss_context_chromeos_browsertest.cc
@@ -9,9 +9,9 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "net/cert/nss_cert_database.h"
@@ -131,7 +131,7 @@ IN_PROC_BROWSER_TEST_F(NSSContextChromeOSBrowserTest, PRE_TwoUsers) {
}
IN_PROC_BROWSER_TEST_F(NSSContextChromeOSBrowserTest, TwoUsers) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Log in first user and get their DB.
LoginUser(kTestUser1);
diff --git a/chrome/browser/notifications/message_center_settings_controller.cc b/chrome/browser/notifications/message_center_settings_controller.cc
index a163942..f0bc5fb 100644
--- a/chrome/browser/notifications/message_center_settings_controller.cc
+++ b/chrome/browser/notifications/message_center_settings_controller.cc
@@ -141,16 +141,16 @@ MessageCenterSettingsController::MessageCenterSettingsController(
#if defined(OS_CHROMEOS)
// UserManager may not exist in some tests.
- if (chromeos::UserManager::IsInitialized())
- chromeos::UserManager::Get()->AddSessionStateObserver(this);
+ if (user_manager::UserManager::IsInitialized())
+ user_manager::UserManager::Get()->AddSessionStateObserver(this);
#endif
}
MessageCenterSettingsController::~MessageCenterSettingsController() {
#if defined(OS_CHROMEOS)
// UserManager may not exist in some tests.
- if (chromeos::UserManager::IsInitialized())
- chromeos::UserManager::Get()->RemoveSessionStateObserver(this);
+ if (user_manager::UserManager::IsInitialized())
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this);
#endif
}
@@ -446,7 +446,7 @@ void MessageCenterSettingsController::CreateNotifierGroupForGuestLogin() {
if (!notifier_groups_.empty())
return;
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// |notifier_groups_| can be empty in login screen too.
if (!user_manager->IsLoggedInAsGuest())
return;
@@ -488,8 +488,9 @@ void MessageCenterSettingsController::RebuildNotifierGroups() {
#if defined(OS_CHROMEOS)
// Allows the active user only.
// UserManager may not exist in some tests.
- if (chromeos::UserManager::IsInitialized()) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ if (user_manager::UserManager::IsInitialized()) {
+ user_manager::UserManager* user_manager =
+ user_manager::UserManager::Get();
if (chromeos::ProfileHelper::Get()->GetUserByProfile(group->profile()) !=
user_manager->GetActiveUser()) {
continue;
@@ -508,8 +509,8 @@ void MessageCenterSettingsController::RebuildNotifierGroups() {
#if defined(OS_CHROMEOS)
// ChromeOS guest login cannot get the profile from the for-loop above, so
// get the group here.
- if (notifier_groups_.empty() && chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsGuest()) {
+ if (notifier_groups_.empty() && user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsGuest()) {
// Do not invoke CreateNotifierGroupForGuestLogin() directly. In some tests,
// this method may be called before the primary profile is created, which
// means ProfileHelper::Get()->GetProfileByUser() will create a new primary
diff --git a/chrome/browser/notifications/message_center_settings_controller.h b/chrome/browser/notifications/message_center_settings_controller.h
index 18a7382..a4abb49 100644
--- a/chrome/browser/notifications/message_center_settings_controller.h
+++ b/chrome/browser/notifications/message_center_settings_controller.h
@@ -23,7 +23,7 @@
#include "ui/message_center/notifier_settings.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
class Profile;
@@ -47,7 +47,7 @@ class MessageCenterSettingsController
: public message_center::NotifierSettingsProvider,
public content::NotificationObserver,
#if defined(OS_CHROMEOS)
- public chromeos::UserManager::UserSessionStateObserver,
+ public user_manager::UserManager::UserSessionStateObserver,
#endif
public extensions::AppIconLoader::Delegate {
public:
@@ -79,7 +79,7 @@ class MessageCenterSettingsController
const std::string* notification_id) OVERRIDE;
#if defined(OS_CHROMEOS)
- // Overridden from chromeos::UserManager::UserSessionStateObserver.
+ // Overridden from user_manager::UserManager::UserSessionStateObserver.
virtual void ActiveUserChanged(
const user_manager::User* active_user) OVERRIDE;
#endif
diff --git a/chrome/browser/notifications/message_center_settings_controller_unittest.cc b/chrome/browser/notifications/message_center_settings_controller_unittest.cc
index 9046e58..750f29f 100644
--- a/chrome/browser/notifications/message_center_settings_controller_unittest.cc
+++ b/chrome/browser/notifications/message_center_settings_controller_unittest.cc
@@ -18,6 +18,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#endif
class MessageCenterSettingsControllerTest : public testing::Test {
@@ -96,7 +97,7 @@ class MessageCenterSettingsControllerChromeOSTest
private:
chromeos::FakeUserManager* GetFakeUserManager() {
return static_cast<chromeos::FakeUserManager*>(
- chromeos::UserManager::Get());
+ user_manager::UserManager::Get());
}
scoped_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_;
diff --git a/chrome/browser/performance_monitor/performance_monitor_browsertest.cc b/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
index ee0d5f2..81519c9f 100644
--- a/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
+++ b/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
@@ -45,9 +45,9 @@
#include "extensions/common/extension.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#endif
#if defined(OS_MACOSX)
@@ -359,9 +359,8 @@ class PerformanceMonitorUncleanExitBrowserTest
virtual void AddSecondUserAccount() {
// Add second user account for multi-profile test.
if (GetParam()) {
- chromeos::UserManager::Get()->UserLoggedIn(kSecondProfileAccount,
- kSecondProfileHash,
- false);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ kSecondProfileAccount, kSecondProfileHash, false);
}
}
#endif
diff --git a/chrome/browser/policy/cloud/cloud_policy_browsertest.cc b/chrome/browser/policy/cloud/cloud_policy_browsertest.cc
index 517a560..238fdd1 100644
--- a/chrome/browser/policy/cloud/cloud_policy_browsertest.cc
+++ b/chrome/browser/policy/cloud/cloud_policy_browsertest.cc
@@ -48,7 +48,6 @@
#include "url/gurl.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h"
#include "chromeos/chromeos_paths.h"
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 6e26e3b..2321a7a 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -38,10 +38,10 @@
#if defined(OS_CHROMEOS)
#include "ash/magnifier/magnifier_constants.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h"
#include "chromeos/dbus/power_policy_controller.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
#if !defined(OS_ANDROID) && !defined(OS_IOS)
@@ -535,9 +535,9 @@ void GetDeprecatedFeaturesMap(
void PopulatePolicyHandlerParameters(PolicyHandlerParameters* parameters) {
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
const user_manager::User* user =
- chromeos::UserManager::Get()->GetActiveUser();
+ user_manager::UserManager::Get()->GetActiveUser();
if (user)
parameters->user_id_hash = user->username_hash();
}
diff --git a/chrome/browser/policy/profile_policy_connector.cc b/chrome/browser/policy/profile_policy_connector.cc
index 85694c2..cd93a32 100644
--- a/chrome/browser/policy/profile_policy_connector.cc
+++ b/chrome/browser/policy/profile_policy_connector.cc
@@ -20,12 +20,12 @@
#include "google_apis/gaia/gaia_auth_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h"
#include "chrome/browser/chromeos/policy/login_profile_policy_provider.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace policy {
@@ -106,7 +106,8 @@ void ProfilePolicyConnector::Init(
new LoginProfilePolicyProvider(connector->GetPolicyService()));
} else {
// |user| should never be NULL except for the signin profile.
- is_primary_user_ = user == chromeos::UserManager::Get()->GetPrimaryUser();
+ is_primary_user_ =
+ user == user_manager::UserManager::Get()->GetPrimaryUser();
special_user_policy_provider_ = DeviceLocalAccountPolicyProvider::Create(
user->email(),
connector->GetDeviceLocalAccountPolicyService());
diff --git a/chrome/browser/policy/schema_registry_service_factory.cc b/chrome/browser/policy/schema_registry_service_factory.cc
index 94dbbc8..a2997ab 100644
--- a/chrome/browser/policy/schema_registry_service_factory.cc
+++ b/chrome/browser/policy/schema_registry_service_factory.cc
@@ -14,12 +14,12 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part_chromeos.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace policy {
@@ -33,7 +33,7 @@ DeviceLocalAccountPolicyBroker* GetBroker(content::BrowserContext* context) {
if (chromeos::ProfileHelper::IsSigninProfile(profile))
return NULL;
- if (!chromeos::UserManager::IsInitialized()) {
+ if (!user_manager::UserManager::IsInitialized()) {
// Bail out in unit tests that don't have a UserManager.
return NULL;
}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 525dac2..44ff8a8 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -154,8 +154,8 @@
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/net/proxy_config_handler.h"
#include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
@@ -303,6 +303,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
ChromeOSMetricsProvider::RegisterPrefs(registry);
chromeos::AudioDevicesPrefHandlerImpl::RegisterPrefs(registry);
chromeos::ChargerReplacementHandler::RegisterPrefs(registry);
+ chromeos::ChromeUserManagerImpl::RegisterPrefs(registry);
chromeos::DataPromoNotification::RegisterPrefs(registry);
chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry);
chromeos::device_settings_cache::RegisterPrefs(registry);
@@ -321,7 +322,6 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chromeos::StartupUtils::RegisterPrefs(registry);
chromeos::system::AutomaticRebootManager::RegisterPrefs(registry);
chromeos::UserImageManager::RegisterPrefs(registry);
- chromeos::UserManager::RegisterPrefs(registry);
chromeos::UserSessionManager::RegisterPrefs(registry);
chromeos::WallpaperManager::RegisterPrefs(registry);
chromeos::echo_offer::RegisterPrefs(registry);
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index 61bb7a6..209ba2a 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -489,8 +489,9 @@ class GuestSessionProfile : public OffTheRecordProfileImpl {
virtual void InitChromeOSPreferences() OVERRIDE {
chromeos_preferences_.reset(new chromeos::Preferences());
- chromeos_preferences_->Init(static_cast<PrefServiceSyncable*>(GetPrefs()),
- chromeos::UserManager::Get()->GetActiveUser());
+ chromeos_preferences_->Init(
+ static_cast<PrefServiceSyncable*>(GetPrefs()),
+ user_manager::UserManager::Get()->GetActiveUser());
}
private:
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index e84f795..d1d6325 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -111,9 +111,9 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/locale_change_guard.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/preferences.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "components/user_manager/user_manager.h"
#endif
#if defined(SPDY_PROXY_AUTH_ORIGIN)
@@ -1263,7 +1263,7 @@ void ProfileImpl::ChangeAppLocale(
if (via != APP_LOCALE_CHANGED_VIA_PUBLIC_SESSION_LOGIN)
local_state->SetString(prefs::kApplicationLocale, new_locale);
- if (chromeos::UserManager::Get()->GetOwnerEmail() ==
+ if (user_manager::UserManager::Get()->GetOwnerEmail() ==
chromeos::ProfileHelper::Get()->GetUserByProfile(this)->email())
local_state->SetString(prefs::kOwnerLocale, new_locale);
}
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 1bf14f6..1df3ccd 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -108,7 +108,6 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/drive/drive_protocol_handler.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/policy_cert_service.h"
@@ -121,6 +120,7 @@
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/settings/cros_settings_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "crypto/nss_util.h"
#include "crypto/nss_util_internal.h"
#include "net/cert/multi_threaded_cert_verifier.h"
@@ -223,7 +223,8 @@ class DebugDevToolsInterceptor : public net::URLRequestInterceptor {
// per-profile.
//
// Initialization basically follows these steps:
-// 1) Get some info from chromeos::UserManager about the User for this profile.
+// 1) Get some info from user_manager::UserManager about the User for this
+// profile.
// 2) Tell nss_util to initialize the software slot for this profile.
// 3) Wait for the TPM module to be loaded by nss_util if it isn't already.
// 4) Ask CryptohomeClient which TPM slot id corresponds to this profile.
@@ -366,7 +367,7 @@ void ProfileIOData::InitializeOnUIThread(Profile* profile) {
supervised_user_service->GetURLFilterForIOThread();
#endif
#if defined(OS_CHROMEOS)
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager) {
user_manager::User* user =
chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
index 4b0fee3..9d410c5 100644
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -82,13 +82,13 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/browser_process_platform_part_chromeos.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profiles_state.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/cryptohome_client.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#endif
using base::UserMetricsAction;
@@ -313,10 +313,11 @@ std::vector<Profile*> ProfileManager::GetLastOpenedProfiles() {
Profile* ProfileManager::GetPrimaryUserProfile() {
ProfileManager* profile_manager = g_browser_process->profile_manager();
#if defined(OS_CHROMEOS)
- if (!profile_manager->IsLoggedIn() || !chromeos::UserManager::IsInitialized())
+ if (!profile_manager->IsLoggedIn() ||
+ !user_manager::UserManager::IsInitialized())
return profile_manager->GetActiveUserOrOffTheRecordProfileFromPath(
profile_manager->user_data_dir());
- chromeos::UserManager* manager = chromeos::UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
// Note: The ProfileHelper will take care of guest profiles.
return chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(
manager->GetPrimaryUser());
@@ -331,12 +332,12 @@ Profile* ProfileManager::GetActiveUserProfile() {
ProfileManager* profile_manager = g_browser_process->profile_manager();
#if defined(OS_CHROMEOS)
if (!profile_manager->IsLoggedIn() ||
- !chromeos::UserManager::IsInitialized()) {
+ !user_manager::UserManager::IsInitialized()) {
return profile_manager->GetActiveUserOrOffTheRecordProfileFromPath(
profile_manager->user_data_dir());
}
- chromeos::UserManager* manager = chromeos::UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
const user_manager::User* user = manager->GetActiveUser();
// To avoid an endless loop (crbug.com/334098) we have to additionally check
// if the profile of the user was already created. If the profile was not yet
@@ -1053,7 +1054,7 @@ Profile* ProfileManager::GetActiveUserOrOffTheRecordProfileFromPath(
// if the login-profile switch is passed so that we can test this.
if (ShouldGoOffTheRecord(profile))
return profile->GetOffTheRecordProfile();
- DCHECK(!chromeos::UserManager::Get()->IsLoggedInAsGuest());
+ DCHECK(!user_manager::UserManager::Get()->IsLoggedInAsGuest());
return profile;
}
@@ -1066,8 +1067,8 @@ Profile* ProfileManager::GetActiveUserOrOffTheRecordProfileFromPath(
Profile* profile = GetProfile(default_profile_dir);
// Some unit tests didn't initialize the UserManager.
- if (chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsGuest())
+ if (user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsGuest())
return profile->GetOffTheRecordProfile();
return profile;
#else
diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc
index 681ce38..b43a973 100644
--- a/chrome/browser/profiles/profile_manager_unittest.cc
+++ b/chrome/browser/profiles/profile_manager_unittest.cc
@@ -46,11 +46,12 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/user_names.h"
+#include "components/user_manager/user_manager.h"
#endif
using base::ASCIIToUTF16;
@@ -404,9 +405,10 @@ class ProfileManagerGuestTest : public ProfileManagerTest {
cl->AppendSwitch(chromeos::switches::kGuestSession);
cl->AppendSwitch(::switches::kIncognito);
- chromeos::UserManager::Get()->UserLoggedIn(chromeos::login::kGuestUserName,
- chromeos::login::kGuestUserName,
- false);
+ user_manager::UserManager::Get()->UserLoggedIn(
+ chromeos::login::kGuestUserName,
+ chromeos::login::kGuestUserName,
+ false);
#endif
}
};
diff --git a/chrome/browser/profiles/profiles_state.cc b/chrome/browser/profiles/profiles_state.cc
index 827c9c9..c19fb33 100644
--- a/chrome/browser/profiles/profiles_state.cc
+++ b/chrome/browser/profiles/profiles_state.cc
@@ -24,10 +24,6 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/text_elider.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#endif
-
namespace profiles {
bool IsMultipleProfilesEnabled() {
diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc
index dd909b6..66f9326 100644
--- a/chrome/browser/signin/chrome_signin_client.cc
+++ b/chrome/browser/signin/chrome_signin_client.cc
@@ -27,7 +27,7 @@
#endif
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
using content::ChildProcessHost;
@@ -116,8 +116,8 @@ scoped_refptr<TokenWebData> ChromeSigninClient::GetDatabase() {
bool ChromeSigninClient::CanRevokeCredentials() {
#if defined(OS_CHROMEOS)
// UserManager may not exist in unit_tests.
- if (chromeos::UserManager::IsInitialized() &&
- chromeos::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
+ if (user_manager::UserManager::IsInitialized() &&
+ user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
// Don't allow revoking credentials for Chrome OS supervised users.
// See http://crbug.com/332032
LOG(ERROR) << "Attempt to revoke supervised user refresh "
diff --git a/chrome/browser/signin/easy_unlock_service.cc b/chrome/browser/signin/easy_unlock_service.cc
index 81d9f0e..10dbf20 100644
--- a/chrome/browser/signin/easy_unlock_service.cc
+++ b/chrome/browser/signin/easy_unlock_service.cc
@@ -25,8 +25,8 @@
#include "grit/browser_resources.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace {
@@ -91,7 +91,7 @@ void EasyUnlockService::LaunchSetup() {
bool EasyUnlockService::IsAllowed() {
#if defined(OS_CHROMEOS)
- if (!chromeos::UserManager::Get()->IsLoggedInAsRegularUser())
+ if (!user_manager::UserManager::Get()->IsLoggedInAsRegularUser())
return false;
if (!chromeos::ProfileHelper::IsPrimaryProfile(profile_))
diff --git a/chrome/browser/signin/easy_unlock_service_browsertest_chromeos.cc b/chrome/browser/signin/easy_unlock_service_browsertest_chromeos.cc
index 577120d..44aaf56 100644
--- a/chrome/browser/signin/easy_unlock_service_browsertest_chromeos.cc
+++ b/chrome/browser/signin/easy_unlock_service_browsertest_chromeos.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
@@ -21,6 +20,7 @@
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/common/content_switches.h"
#include "extensions/browser/extension_system.h"
#include "policy/policy_constants.h"
@@ -30,7 +30,7 @@ using chromeos::ProfileHelper;
using chromeos::LoginManagerTest;
using chromeos::StartupUtils;
using chromeos::UserAddingScreen;
-using chromeos::UserManager;
+using user_manager::UserManager;
using testing::_;
using testing::Return;
@@ -49,7 +49,7 @@ bool HasEasyUnlockAppForProfile(Profile* profile) {
}
#endif
-} //namespace
+} // namespace
class EasyUnlockServiceTest : public InProcessBrowserTest {
public:
@@ -190,9 +190,9 @@ IN_PROC_BROWSER_TEST_F(EasyUnlockServiceMultiProfileTest,
base::RunLoop().RunUntilIdle();
AddUser(kTestUser2);
const user_manager::User* primary_user =
- UserManager::Get()->FindUser(kTestUser1);
+ user_manager::UserManager::Get()->FindUser(kTestUser1);
const user_manager::User* secondary_user =
- UserManager::Get()->FindUser(kTestUser2);
+ user_manager::UserManager::Get()->FindUser(kTestUser2);
Profile* primary_profile = ProfileHelper::Get()->GetProfileByUserIdHash(
primary_user->username_hash());
diff --git a/chrome/browser/signin/signin_error_notifier_ash.cc b/chrome/browser/signin/signin_error_notifier_ash.cc
index aae8e7c..9713889 100644
--- a/chrome/browser/signin/signin_error_notifier_ash.cc
+++ b/chrome/browser/signin/signin_error_notifier_ash.cc
@@ -35,7 +35,8 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace {
@@ -168,9 +169,9 @@ void SigninErrorNotifier::OnErrorChanged() {
}
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
chromeos::UserFlow* user_flow =
- chromeos::UserManager::Get()->GetCurrentUserFlow();
+ chromeos::ChromeUserManager::Get()->GetCurrentUserFlow();
// Check whether Chrome OS user flow allows launching browser.
// Example: Supervised user creation flow which handles token invalidation
diff --git a/chrome/browser/supervised_user/chromeos/manager_password_service.cc b/chrome/browser/supervised_user/chromeos/manager_password_service.cc
index 2580d05..9c6f989 100644
--- a/chrome/browser/supervised_user/chromeos/manager_password_service.cc
+++ b/chrome/browser/supervised_user/chromeos/manager_password_service.cc
@@ -10,13 +10,14 @@
#include "base/values.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/supervised_user/supervised_user_constants.h"
#include "chrome/browser/supervised_user/supervised_user_sync_service.h"
#include "chromeos/login/auth/key.h"
#include "chromeos/login/auth/user_context.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
namespace chromeos {
@@ -38,12 +39,11 @@ void ManagerPasswordService::Init(
authenticator_ = new ExtendedAuthenticator(this);
- UserManager* user_manager = UserManager::Get();
-
SupervisedUserManager* supervised_user_manager =
- user_manager->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
- const user_manager::UserList& users = user_manager->GetUsers();
+ const user_manager::UserList& users =
+ user_manager::UserManager::Get()->GetUsers();
for (user_manager::UserList::const_iterator it = users.begin();
it != users.end();
@@ -65,7 +65,7 @@ void ManagerPasswordService::OnSharedSettingsChange(
return;
SupervisedUserManager* supervised_user_manager =
- UserManager::Get()->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
const user_manager::User* user = supervised_user_manager->FindBySyncId(su_id);
// No user on device.
if (user == NULL)
@@ -198,7 +198,7 @@ void ManagerPasswordService::OnAddKeySuccess(
SupervisedUserAuthentication::PASSWORD_CHANGE_RESULT_MAX_VALUE);
SupervisedUserAuthentication* auth =
- UserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
+ ChromeUserManager::Get()->GetSupervisedUserManager()->GetAuthentication();
int old_schema = auth->GetPasswordSchema(user_id);
auth->StorePasswordData(user_id, *password_data.get());
diff --git a/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc b/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc
index 5f5df8c..3debf86 100644
--- a/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc
+++ b/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/supervised_user/chromeos/manager_password_service_factory.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/incognito_helpers.h"
@@ -43,10 +44,9 @@ ManagerPasswordServiceFactory::
KeyedService* ManagerPasswordServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
Profile* profile= static_cast<Profile*>(context);
- user_manager::User* user =
- chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
- if (chromeos::UserManager::Get()->GetSupervisedUserManager()->
- HasSupervisedUsers(user->email())) {
+ user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile);
+ if (ChromeUserManager::Get()->GetSupervisedUserManager()->HasSupervisedUsers(
+ user->email())) {
ManagerPasswordService* result = new ManagerPasswordService();
result->Init(
user->email(),
diff --git a/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc b/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc
index c3dc5d0..35ae5aa 100644
--- a/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc
+++ b/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc
@@ -7,8 +7,8 @@
#include "base/bind.h"
#include "base/values.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/supervised_user/supervised_user_constants.h"
#include "chrome/browser/supervised_user/supervised_user_sync_service.h"
@@ -31,7 +31,7 @@ void SupervisedUserPasswordService::Init(
// Force value check in case we have missed some notification.
chromeos::SupervisedUserManager* supervised_user_manager =
- chromeos::UserManager::Get()->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
OnSharedSettingsChange(supervised_user_manager->GetUserSyncId(user_id),
supervised_users::kChromeOSPasswordData);
@@ -43,7 +43,7 @@ void SupervisedUserPasswordService::OnSharedSettingsChange(
if (key != supervised_users::kChromeOSPasswordData)
return;
chromeos::SupervisedUserManager* supervised_user_manager =
- chromeos::UserManager::Get()->GetSupervisedUserManager();
+ ChromeUserManager::Get()->GetSupervisedUserManager();
const user_manager::User* user = supervised_user_manager->FindBySyncId(su_id);
if (user == NULL) {
LOG(WARNING) << "Got notification for user not on device.";
diff --git a/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc b/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc
index b210a77..370827e 100644
--- a/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc
+++ b/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/supervised_user/supervised_user_service.cc b/chrome/browser/supervised_user/supervised_user_service.cc
index 8b45a60..0f8cab2 100644
--- a/chrome/browser/supervised_user/supervised_user_service.cc
+++ b/chrome/browser/supervised_user/supervised_user_service.cc
@@ -47,8 +47,9 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
#if defined(ENABLE_EXTENSIONS)
@@ -255,9 +256,10 @@ void SupervisedUserService::GetCategoryNames(CategoryList* list) {
std::string SupervisedUserService::GetCustodianEmailAddress() const {
#if defined(OS_CHROMEOS)
- return chromeos::UserManager::Get()->GetSupervisedUserManager()->
- GetManagerDisplayEmail(
- chromeos::UserManager::Get()->GetActiveUser()->email());
+ return chromeos::ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->GetManagerDisplayEmail(
+ user_manager::UserManager::Get()->GetActiveUser()->email());
#else
return profile_->GetPrefs()->GetString(prefs::kSupervisedUserCustodianEmail);
#endif
@@ -265,9 +267,11 @@ std::string SupervisedUserService::GetCustodianEmailAddress() const {
std::string SupervisedUserService::GetCustodianName() const {
#if defined(OS_CHROMEOS)
- return base::UTF16ToUTF8(chromeos::UserManager::Get()->
- GetSupervisedUserManager()->GetManagerDisplayName(
- chromeos::UserManager::Get()->GetActiveUser()->email()));
+ return base::UTF16ToUTF8(
+ chromeos::ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->GetManagerDisplayName(
+ user_manager::UserManager::Get()->GetActiveUser()->email()));
#else
std::string name = profile_->GetPrefs()->GetString(
prefs::kSupervisedUserCustodianName);
@@ -817,9 +821,9 @@ void SupervisedUserService::OnBrowserSetLastActive(Browser* browser) {
std::string SupervisedUserService::GetSupervisedUserName() const {
#if defined(OS_CHROMEOS)
// The active user can be NULL in unit tests.
- if (chromeos::UserManager::Get()->GetActiveUser()) {
- return UTF16ToUTF8(chromeos::UserManager::Get()->GetUserDisplayName(
- chromeos::UserManager::Get()->GetActiveUser()->GetUserID()));
+ if (user_manager::UserManager::Get()->GetActiveUser()) {
+ return UTF16ToUTF8(user_manager::UserManager::Get()->GetUserDisplayName(
+ user_manager::UserManager::Get()->GetActiveUser()->GetUserID()));
}
return std::string();
#else
diff --git a/chrome/browser/sync/sync_error_notifier_ash.cc b/chrome/browser/sync/sync_error_notifier_ash.cc
index 473738e..f203dce 100644
--- a/chrome/browser/sync/sync_error_notifier_ash.cc
+++ b/chrome/browser/sync/sync_error_notifier_ash.cc
@@ -29,7 +29,8 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
@@ -155,9 +156,9 @@ void SyncErrorNotifier::OnErrorChanged() {
}
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
chromeos::UserFlow* user_flow =
- chromeos::UserManager::Get()->GetCurrentUserFlow();
+ chromeos::ChromeUserManager::Get()->GetCurrentUserFlow();
// Check whether Chrome OS user flow allows launching browser.
// Example: Supervised user creation flow which handles token invalidation
diff --git a/chrome/browser/sync/sync_ui_util.cc b/chrome/browser/sync/sync_ui_util.cc
index 3a15e24..8143ca3 100644
--- a/chrome/browser/sync/sync_ui_util.cc
+++ b/chrome/browser/sync/sync_ui_util.cc
@@ -37,7 +37,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif // defined(OS_CHROMEOS)
typedef GoogleServiceAuthError AuthError;
@@ -55,11 +55,11 @@ base::string16 GetSyncedStateStatusLabel(ProfileSyncService* service,
std::string user_display_name = signin.GetAuthenticatedUsername();
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::IsInitialized()) {
+ if (user_manager::UserManager::IsInitialized()) {
// On CrOS user email is sanitized and then passed to the signin manager.
// Original email (containing dots) is stored as "display email".
- user_display_name = chromeos::UserManager::Get()->
- GetUserDisplayEmail(user_display_name);
+ user_display_name = user_manager::UserManager::Get()->GetUserDisplayEmail(
+ user_display_name);
}
#endif // defined(OS_CHROMEOS)
diff --git a/chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service_fake_unittest.cc b/chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service_fake_unittest.cc
index 02cca9e..93b55e6 100644
--- a/chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service_fake_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service_fake_unittest.cc
@@ -42,7 +42,7 @@
#include "webkit/common/fileapi/file_system_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/themes/theme_syncable_service_unittest.cc b/chrome/browser/themes/theme_syncable_service_unittest.cc
index 9f37de4..c671452 100644
--- a/chrome/browser/themes/theme_syncable_service_unittest.cc
+++ b/chrome/browser/themes/theme_syncable_service_unittest.cc
@@ -34,7 +34,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/ui/ash/app_sync_ui_state.cc b/chrome/browser/ui/ash/app_sync_ui_state.cc
index 78bb2b3..27d2d11 100644
--- a/chrome/browser/ui/ash/app_sync_ui_state.cc
+++ b/chrome/browser/ui/ash/app_sync_ui_state.cc
@@ -16,7 +16,7 @@
#include "extensions/browser/extension_system.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace {
@@ -34,7 +34,7 @@ AppSyncUIState* AppSyncUIState::Get(Profile* profile) {
// static
bool AppSyncUIState::ShouldObserveAppSyncForProfile(Profile* profile) {
#if defined(OS_CHROMEOS)
- if (chromeos::UserManager::Get()->IsLoggedInAsGuest())
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
return false;
if (!profile || profile->IsOffTheRecord())
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.cc b/chrome/browser/ui/ash/chrome_shell_delegate.cc
index d4daa66..9ac7946 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate.cc
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.cc
@@ -29,7 +29,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/display/display_configuration_observer.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
// static
@@ -52,12 +52,13 @@ bool ChromeShellDelegate::IsMultiProfilesEnabled() const {
#if defined(OS_CHROMEOS)
// If there is a user manager, we need to see that we can at least have 2
// simultaneous users to allow this feature.
- if (!chromeos::UserManager::IsInitialized())
+ if (!user_manager::UserManager::IsInitialized())
return false;
- size_t admitted_users_to_be_added =
- chromeos::UserManager::Get()->GetUsersAdmittedForMultiProfile().size();
+ size_t admitted_users_to_be_added = user_manager::UserManager::Get()
+ ->GetUsersAdmittedForMultiProfile()
+ .size();
size_t logged_in_users =
- chromeos::UserManager::Get()->GetLoggedInUsers().size();
+ user_manager::UserManager::Get()->GetLoggedInUsers().size();
if (!logged_in_users) {
// The shelf gets created on the login screen and as such we have to create
// all multi profile items of the the system tray menu before the user logs
@@ -99,7 +100,7 @@ void ChromeShellDelegate::Exit() {
content::BrowserContext* ChromeShellDelegate::GetActiveBrowserContext() {
#if defined(OS_CHROMEOS)
- DCHECK(chromeos::UserManager::Get()->GetLoggedInUsers().size());
+ DCHECK(user_manager::UserManager::Get()->GetLoggedInUsers().size());
#endif
return ProfileManager::GetActiveUserProfile();
}
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
index 744fb2d..f6b4379 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
@@ -91,10 +91,10 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/ui/ash/chrome_shell_delegate.h"
#include "chrome/browser/ui/ash/launcher/multi_profile_app_window_launcher_controller.h"
#include "chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.h"
+#include "components/user_manager/user_manager.h"
#endif
using extensions::Extension;
@@ -269,14 +269,14 @@ std::string GetSourceFromAppListSource(ash::LaunchSource source) {
// A class to get events from ChromeOS when a user gets changed or added.
class ChromeLauncherControllerUserSwitchObserverChromeOS
: public ChromeLauncherControllerUserSwitchObserver,
- public chromeos::UserManager::UserSessionStateObserver,
+ public user_manager::UserManager::UserSessionStateObserver,
content::NotificationObserver {
public:
ChromeLauncherControllerUserSwitchObserverChromeOS(
ChromeLauncherController* controller)
: controller_(controller) {
- DCHECK(chromeos::UserManager::IsInitialized());
- chromeos::UserManager::Get()->AddSessionStateObserver(this);
+ DCHECK(user_manager::UserManager::IsInitialized());
+ user_manager::UserManager::Get()->AddSessionStateObserver(this);
// A UserAddedToSession notification can be sent before a profile is loaded.
// Since our observers require that we have already a profile, we might have
// to postpone the notification until the ProfileManager lets us know that
@@ -285,10 +285,10 @@ class ChromeLauncherControllerUserSwitchObserverChromeOS
content::NotificationService::AllSources());
}
virtual ~ChromeLauncherControllerUserSwitchObserverChromeOS() {
- chromeos::UserManager::Get()->RemoveSessionStateObserver(this);
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this);
}
- // chromeos::UserManager::UserSessionStateObserver overrides:
+ // user_manager::UserManager::UserSessionStateObserver overrides:
virtual void UserAddedToSession(
const user_manager::User* added_user) OVERRIDE;
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
index 65946a3..b9ae930 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
@@ -53,6 +53,7 @@
#include "ash/test/test_session_state_delegate.h"
#include "ash/test/test_shell_delegate.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/ui/apps/chrome_app_delegate.h"
#include "chrome/browser/ui/ash/launcher/app_window_launcher_controller.h"
#include "chrome/browser/ui/ash/launcher/browser_status_monitor.h"
@@ -925,7 +926,7 @@ class MultiProfileMultiBrowserShelfLayoutChromeLauncherControllerTest
chromeos::FakeUserManager* GetFakeUserManager() {
return static_cast<chromeos::FakeUserManager*>(
- chromeos::UserManager::Get());
+ user_manager::UserManager::Get());
}
scoped_ptr<TestingProfileManager> profile_manager_;
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
index d2a61b2..f9100aa 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
@@ -12,7 +12,6 @@
#include "base/prefs/pref_service.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
@@ -20,6 +19,7 @@
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
#include "chrome/common/pref_names.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "grit/generated_resources.h"
#include "ui/aura/window.h"
#include "ui/base/l10n/l10n_util.h"
@@ -130,7 +130,7 @@ void ExecuteVisitDesktopCommand(int command_id, aura::Window* window) {
// Don't show warning dialog if any logged in user in multi-profiles
// session dismissed it.
const user_manager::UserList logged_in_users =
- chromeos::UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_in_users.begin();
it != logged_in_users.end();
++it) {
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_util.cc b/chrome/browser/ui/ash/multi_user/multi_user_util.cc
index 9aecd93..749e29b 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_util.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_user_util.cc
@@ -13,8 +13,8 @@
#include "google_apis/gaia/gaia_auth_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
namespace multi_user_util {
@@ -63,7 +63,7 @@ Profile* GetProfileFromWindow(aura::Window* window) {
bool IsProfileFromActiveUser(Profile* profile) {
#if defined(OS_CHROMEOS)
return GetUserIDFromProfile(profile) ==
- chromeos::UserManager::Get()->GetActiveUser()->email();
+ user_manager::UserManager::Get()->GetActiveUser()->email();
#else
// In non Chrome OS configurations this will be always true since this only
// makes sense in separate desktop mode.
@@ -73,7 +73,7 @@ bool IsProfileFromActiveUser(Profile* profile) {
const std::string& GetCurrentUserId() {
#if defined(OS_CHROMEOS)
- return chromeos::UserManager::Get()->GetActiveUser()->email();
+ return user_manager::UserManager::Get()->GetActiveUser()->email();
#else
return base::EmptyString();
#endif
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc
index 126a469..097559d 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc
@@ -22,7 +22,6 @@
#include "base/strings/string_util.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_notification_blocker_chromeos.h"
diff --git a/chrome/browser/ui/ash/screenshot_taker.cc b/chrome/browser/ui/ash/screenshot_taker.cc
index 4cee448..d8fe27e 100644
--- a/chrome/browser/ui/ash/screenshot_taker.cc
+++ b/chrome/browser/ui/ash/screenshot_taker.cc
@@ -45,7 +45,6 @@
#include "chrome/browser/chromeos/drive/file_system_interface.h"
#include "chrome/browser/chromeos/drive/file_system_util.h"
#include "chrome/browser/chromeos/file_manager/open_util.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/notifications/desktop_notification_service_factory.h"
#include "chromeos/login/login_state.h"
diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
index ef9f807..2f7c840 100644
--- a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
@@ -12,7 +12,6 @@
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -23,11 +22,12 @@
#include "chromeos/dbus/session_manager_client.h"
#include "chromeos/login/login_state.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "google_apis/gaia/gaia_auth_util.h"
SessionStateDelegateChromeos::SessionStateDelegateChromeos()
: session_state_(SESSION_STATE_LOGIN_PRIMARY) {
- chromeos::UserManager::Get()->AddSessionStateObserver(this);
+ user_manager::UserManager::Get()->AddSessionStateObserver(this);
chromeos::UserAddingScreen::Get()->AddObserver(this);
// LoginState is not initialized in unit_tests.
@@ -39,7 +39,7 @@ SessionStateDelegateChromeos::SessionStateDelegateChromeos()
}
SessionStateDelegateChromeos::~SessionStateDelegateChromeos() {
- chromeos::UserManager::Get()->RemoveSessionStateObserver(this);
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this);
chromeos::UserAddingScreen::Get()->RemoveObserver(this);
// LoginState is not initialized in unit_tests.
@@ -51,7 +51,7 @@ content::BrowserContext* SessionStateDelegateChromeos::GetBrowserContextByIndex(
ash::MultiProfileIndex index) {
DCHECK_LT(index, NumberOfLoggedInUsers());
user_manager::User* user =
- chromeos::UserManager::Get()->GetLRULoggedInUsers()[index];
+ user_manager::UserManager::Get()->GetLRULoggedInUsers()[index];
DCHECK(user);
return chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(user);
}
@@ -62,7 +62,7 @@ SessionStateDelegateChromeos::GetBrowserContextForWindow(
const std::string& user_id =
chrome::MultiUserWindowManager::GetInstance()->GetWindowOwner(window);
const user_manager::User* user =
- chromeos::UserManager::Get()->FindUser(user_id);
+ user_manager::UserManager::Get()->FindUser(user_id);
DCHECK(user);
return chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(user);
}
@@ -77,16 +77,16 @@ int SessionStateDelegateChromeos::GetMaximumNumberOfLoggedInUsers() const {
}
int SessionStateDelegateChromeos::NumberOfLoggedInUsers() const {
- return chromeos::UserManager::Get()->GetLoggedInUsers().size();
+ return user_manager::UserManager::Get()->GetLoggedInUsers().size();
}
bool SessionStateDelegateChromeos::IsActiveUserSessionStarted() const {
- return chromeos::UserManager::Get()->IsSessionStarted();
+ return user_manager::UserManager::Get()->IsSessionStarted();
}
bool SessionStateDelegateChromeos::CanLockScreen() const {
const user_manager::UserList unlock_users =
- chromeos::UserManager::Get()->GetUnlockUsers();
+ user_manager::UserManager::Get()->GetUnlockUsers();
return !unlock_users.empty();
}
@@ -97,7 +97,7 @@ bool SessionStateDelegateChromeos::IsScreenLocked() const {
bool SessionStateDelegateChromeos::ShouldLockScreenBeforeSuspending() const {
const user_manager::UserList logged_in_users =
- chromeos::UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_in_users.begin();
it != logged_in_users.end();
++it) {
@@ -140,7 +140,7 @@ SessionStateDelegateChromeos::GetSessionState() const {
const user_manager::UserInfo* SessionStateDelegateChromeos::GetUserInfo(
ash::MultiProfileIndex index) const {
DCHECK_LT(index, NumberOfLoggedInUsers());
- return chromeos::UserManager::Get()->GetLRULoggedInUsers()[index];
+ return user_manager::UserManager::Get()->GetLRULoggedInUsers()[index];
}
const user_manager::UserInfo* SessionStateDelegateChromeos::GetUserInfo(
@@ -162,9 +162,9 @@ void SessionStateDelegateChromeos::SwitchActiveUser(
// Also check that we got a user id and not an email address.
DCHECK_EQ(user_id,
gaia::CanonicalizeEmail(gaia::SanitizeEmail(user_id)));
- if (user_id == chromeos::UserManager::Get()->GetActiveUser()->email())
+ if (user_id == user_manager::UserManager::Get()->GetActiveUser()->email())
return;
- chromeos::UserManager::Get()->SwitchActiveUser(user_id);
+ user_manager::UserManager::Get()->SwitchActiveUser(user_id);
}
void SessionStateDelegateChromeos::CycleActiveUser(CycleUser cycle_user) {
@@ -173,9 +173,10 @@ void SessionStateDelegateChromeos::CycleActiveUser(CycleUser cycle_user) {
return;
const user_manager::UserList& logged_in_users =
- chromeos::UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
- std::string user_id = chromeos::UserManager::Get()->GetActiveUser()->email();
+ std::string user_id =
+ user_manager::UserManager::Get()->GetActiveUser()->email();
// Get an iterator positioned at the active user.
user_manager::UserList::const_iterator it;
@@ -206,7 +207,7 @@ void SessionStateDelegateChromeos::CycleActiveUser(CycleUser cycle_user) {
}
// Switch using the transformed |user_id|.
- chromeos::UserManager::Get()->SwitchActiveUser(user_id);
+ user_manager::UserManager::Get()->SwitchActiveUser(user_id);
}
bool SessionStateDelegateChromeos::IsMultiProfileAllowedByPrimaryUserPolicy()
diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.h b/chrome/browser/ui/ash/session_state_delegate_chromeos.h
index 93f9b7da..3f9d2af 100644
--- a/chrome/browser/ui/ash/session_state_delegate_chromeos.h
+++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.h
@@ -10,8 +10,8 @@
#include "base/compiler_specific.h"
#include "base/observer_list.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chromeos/login/login_state.h"
+#include "components/user_manager/user_manager.h"
namespace ash {
class SessionStateObserver;
@@ -20,7 +20,7 @@ class SessionStateObserver;
class SessionStateDelegateChromeos
: public ash::SessionStateDelegate,
public chromeos::LoginState::Observer,
- public chromeos::UserManager::UserSessionStateObserver,
+ public user_manager::UserManager::UserSessionStateObserver,
public chromeos::UserAddingScreen::Observer {
public:
SessionStateDelegateChromeos();
@@ -57,7 +57,7 @@ class SessionStateDelegateChromeos
// chromeos::LoginState::Observer overrides.
virtual void LoggedInStateChanged() OVERRIDE;
- // chromeos::UserManager::UserSessionStateObserver:
+ // user_manager::UserManager::UserSessionStateObserver:
virtual void ActiveUserChanged(
const user_manager::User* active_user) OVERRIDE;
virtual void UserAddedToSession(
diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc b/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
index 2bf05dd..ec1fff7 100644
--- a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
+++ b/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
@@ -10,6 +10,7 @@
#include "base/run_loop.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/policy_cert_service.h"
#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
#include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
@@ -17,6 +18,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile_manager.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "net/cert/x509_certificate.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -35,7 +37,7 @@ KeyedService* CreateTestPolicyCertService(content::BrowserContext* context) {
return policy::PolicyCertService::CreateForTesting(
kUser,
g_policy_cert_verifier_for_factory,
- chromeos::UserManager::Get()).release();
+ user_manager::UserManager::Get()).release();
}
} // namespace
@@ -85,7 +87,7 @@ class SessionStateDelegateChromeOSTest : public testing::Test {
// Get the active user.
const std::string& GetActiveUser() {
- return chromeos::UserManager::Get()->GetActiveUser()->email();
+ return user_manager::UserManager::Get()->GetActiveUser()->email();
}
chromeos::FakeUserManager* user_manager() { return user_manager_; }
diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
index 3c260d5..4c98092 100644
--- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
@@ -56,8 +56,9 @@
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/options/network_config_view.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
@@ -96,6 +97,7 @@
#include "components/google/core/browser/google_util.h"
#include "components/policy/core/common/cloud/cloud_policy_store.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_service.h"
@@ -375,16 +377,20 @@ const base::string16 SystemTrayDelegateChromeOS::GetEnterpriseMessage() const {
const std::string SystemTrayDelegateChromeOS::GetSupervisedUserManager() const {
if (GetUserLoginStatus() != ash::user::LOGGED_IN_SUPERVISED)
return std::string();
- return UserManager::Get()->GetSupervisedUserManager()->GetManagerDisplayEmail(
- chromeos::UserManager::Get()->GetActiveUser()->email());
+ return ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->GetManagerDisplayEmail(
+ user_manager::UserManager::Get()->GetActiveUser()->email());
}
const base::string16
SystemTrayDelegateChromeOS::GetSupervisedUserManagerName() const {
if (GetUserLoginStatus() != ash::user::LOGGED_IN_SUPERVISED)
return base::string16();
- return UserManager::Get()->GetSupervisedUserManager()->GetManagerDisplayName(
- chromeos::UserManager::Get()->GetActiveUser()->email());
+ return ChromeUserManager::Get()
+ ->GetSupervisedUserManager()
+ ->GetManagerDisplayName(
+ user_manager::UserManager::Get()->GetActiveUser()->email());
}
const base::string16 SystemTrayDelegateChromeOS::GetSupervisedUserMessage()
@@ -409,7 +415,7 @@ void SystemTrayDelegateChromeOS::ShowSettings() {
}
bool SystemTrayDelegateChromeOS::ShouldShowSettings() {
- return UserManager::Get()->GetCurrentUserFlow()->ShouldShowSettings() &&
+ return ChromeUserManager::Get()->GetCurrentUserFlow()->ShouldShowSettings() &&
!ash::Shell::GetInstance()
->session_state_delegate()
->IsInSecondaryLoginScreen();
@@ -538,22 +544,25 @@ void SystemTrayDelegateChromeOS::ShowUserLogin() {
return;
// Only regular users could add other users to current session.
- if (UserManager::Get()->GetActiveUser()->GetType() !=
+ if (user_manager::UserManager::Get()->GetActiveUser()->GetType() !=
user_manager::USER_TYPE_REGULAR) {
return;
}
- if (static_cast<int>(UserManager::Get()->GetLoggedInUsers().size()) >=
+ if (static_cast<int>(
+ user_manager::UserManager::Get()->GetLoggedInUsers().size()) >=
shell->session_state_delegate()->GetMaximumNumberOfLoggedInUsers())
return;
// Launch sign in screen to add another user to current session.
- if (UserManager::Get()->GetUsersAdmittedForMultiProfile().size()) {
+ if (user_manager::UserManager::Get()
+ ->GetUsersAdmittedForMultiProfile()
+ .size()) {
// Don't show dialog if any logged in user in multi-profiles session
// dismissed it.
bool show_intro = true;
const user_manager::UserList logged_in_users =
- UserManager::Get()->GetLoggedInUsers();
+ user_manager::UserManager::Get()->GetLoggedInUsers();
for (user_manager::UserList::const_iterator it = logged_in_users.begin();
it != logged_in_users.end();
++it) {
@@ -830,7 +839,8 @@ ash::tray::UserAccountsDelegate*
SystemTrayDelegateChromeOS::GetUserAccountsDelegate(
const std::string& user_id) {
if (!accounts_delegates_.contains(user_id)) {
- const user_manager::User* user = UserManager::Get()->FindUser(user_id);
+ const user_manager::User* user =
+ user_manager::UserManager::Get()->FindUser(user_id);
Profile* user_profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
CHECK(user_profile);
accounts_delegates_.set(
@@ -949,7 +959,7 @@ void SystemTrayDelegateChromeOS::UpdateClockType() {
GetSystemTrayNotifier()->NotifyDateFormatChanged();
// This also works for enterprise-managed devices because they never have
// local owner.
- if (chromeos::UserManager::Get()->IsCurrentUserOwner())
+ if (user_manager::UserManager::Get()->IsCurrentUserOwner())
CrosSettings::Get()->SetBoolean(kSystemUse24HourClock, use_24_hour_clock);
}
@@ -1039,7 +1049,7 @@ void SystemTrayDelegateChromeOS::LoggedInStateChanged() {
// method, as LoggedInStateChanged() is also called before the logged-in
// user's profile has actually been loaded (http://crbug.com/317745). The
// system tray's time format is updated at login via SetProfile().
- if (chromeos::UserManager::Get()->IsCurrentUserOwner()) {
+ if (user_manager::UserManager::Get()->IsCurrentUserOwner()) {
CrosSettings::Get()->SetBoolean(kSystemUse24HourClock,
ShouldUse24HourClock());
}
diff --git a/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc b/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc
index 13aa115..f71dc0e 100644
--- a/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc
@@ -8,7 +8,6 @@
#include <iterator>
#include "base/logging.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/ui/inline_login_dialog.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
@@ -16,6 +15,7 @@
#include "components/signin/core/browser/mutable_profile_oauth2_token_service.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
+#include "components/user_manager/user.h"
#include "google_apis/gaia/gaia_auth_util.h"
namespace chromeos {
diff --git a/chrome/browser/ui/browser_list.cc b/chrome/browser/ui/browser_list.cc
index d0dc338..000c4c6 100644
--- a/chrome/browser/ui/browser_list.cc
+++ b/chrome/browser/ui/browser_list.cc
@@ -21,10 +21,6 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/user_metrics.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#endif
-
using base::UserMetricsAction;
using content::WebContents;
diff --git a/chrome/browser/ui/location_bar/origin_chip_info_unittest.cc b/chrome/browser/ui/location_bar/origin_chip_info_unittest.cc
index 496da58..9257308 100644
--- a/chrome/browser/ui/location_bar/origin_chip_info_unittest.cc
+++ b/chrome/browser/ui/location_bar/origin_chip_info_unittest.cc
@@ -21,7 +21,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/ui/startup/startup_browser_creator.cc b/chrome/browser/ui/startup/startup_browser_creator.cc
index fd046f8..63de334 100644
--- a/chrome/browser/ui/startup/startup_browser_creator.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator.cc
@@ -73,10 +73,10 @@
#include "chrome/browser/chromeos/app_mode/app_launch_utils.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
#include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chromeos/chromeos_switches.h"
+#include "components/user_manager/user_manager.h"
#endif
#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
@@ -359,7 +359,8 @@ SessionStartupPref StartupBrowserCreator::GetSessionStartupPref(
// in a location shared by all users and the check is meaningless. Query the
// UserManager instead to determine whether the user is new.
#if defined(OS_CHROMEOS)
- const bool is_first_run = chromeos::UserManager::Get()->IsCurrentUserNew();
+ const bool is_first_run =
+ user_manager::UserManager::Get()->IsCurrentUserNew();
#else
const bool is_first_run = first_run::IsChromeFirstRun();
#endif
diff --git a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
index 2bed91c..68bc2e1 100644
--- a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
+++ b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
@@ -34,7 +34,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/chrome/browser/ui/webui/chromeos/first_run/first_run_ui.cc b/chrome/browser/ui/webui/chromeos/first_run/first_run_ui.cc
index 0ac74e6..d2828dd 100644
--- a/chrome/browser/ui/webui/chromeos/first_run/first_run_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/first_run/first_run_ui.cc
@@ -6,7 +6,6 @@
#include "ash/shell.h"
#include "base/command_line.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/chromeos/first_run/first_run_handler.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
index e15ba2d..5a6a77a 100644
--- a/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
@@ -23,6 +23,7 @@
#include "chromeos/dbus/session_manager_client.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
#include "chromeos/network/portal_detector/network_portal_detector_strategy.h"
+#include "components/user_manager/user_manager.h"
#include "extensions/browser/extension_system.h"
#include "grit/browser_resources.h"
#include "grit/chromium_strings.h"
@@ -204,7 +205,7 @@ void ErrorScreenHandler::HandleDiagnoseButtonClicked() {
NEW_WINDOW));
InitAppSession(profile, extension_id);
- UserManager::Get()->SessionStarted();
+ user_manager::UserManager::Get()->SessionStarted();
LoginDisplayHostImpl::default_host()->Finalize();
}
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
index b66ae6a..7e84e9d 100644
--- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -12,7 +12,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_shutdown.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/consumer_management_service.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
@@ -21,6 +20,7 @@
#include "chrome/browser/ui/webui/signin/inline_login_ui.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_frame_host.h"
#include "google_apis/gaia/gaia_auth_util.h"
@@ -59,7 +59,7 @@ void UpdateAuthParams(base::DictionaryValue* params,
// 3. New users are allowed by owner.
// 4. Supervised users are allowed by owner.
bool supervised_users_allowed =
- UserManager::Get()->AreSupervisedUsersAllowed();
+ user_manager::UserManager::Get()->AreSupervisedUsersAllowed();
bool supervised_users_can_create = true;
int message_id = -1;
if (!has_users) {
@@ -306,7 +306,8 @@ void GaiaScreenHandler::HandleCompleteLogin(const std::string& typed_email,
}
// Consumer management enrollment is in progress.
- const std::string owner_email = UserManager::Get()->GetOwnerEmail();
+ const std::string owner_email =
+ user_manager::UserManager::Get()->GetOwnerEmail();
if (typed_email != owner_email) {
// Show Gaia sign-in screen again, since we only allow the owner to sign
// in.
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
index b88861d..138e06f 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -36,7 +36,6 @@
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/ui/webui_login_display.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
@@ -66,6 +65,7 @@
#include "chromeos/network/network_state_handler.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
@@ -974,7 +974,7 @@ bool SigninScreenHandler::ShouldLoadGaia() const {
// Update keyboard layout to least recently used by the user.
void SigninScreenHandler::SetUserInputMethod(const std::string& username) {
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
if (user_manager->IsUserLoggedIn()) {
// We are on sign-in screen inside user session (adding new user to
// the session or on lock screen), don't switch input methods in this case.
@@ -1059,7 +1059,7 @@ void SigninScreenHandler::HandleLaunchIncognito() {
}
void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() {
- if (!UserManager::Get()->AreSupervisedUsersAllowed()) {
+ if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) {
LOG(ERROR) << "Managed users not allowed.";
return;
}
@@ -1284,7 +1284,7 @@ void SigninScreenHandler::HandleLoginUIStateChanged(const std::string& source,
}
void SigninScreenHandler::HandleUnlockOnLoginSuccess() {
- DCHECK(UserManager::Get()->IsUserLoggedIn());
+ DCHECK(user_manager::UserManager::Get()->IsUserLoggedIn());
if (ScreenLocker::default_screen_locker())
ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess();
}
@@ -1360,7 +1360,7 @@ bool SigninScreenHandler::AllWhitelistedUsersPresent() {
cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
if (allow_new_user)
return false;
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
const user_manager::UserList& users = user_manager->GetUsers();
if (!delegate_ || users.size() > kMaxUsers) {
return false;
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
index 2d8ffab..86d4dda 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
@@ -20,7 +20,6 @@
#include "chrome/browser/chromeos/login/screens/error_screen_actor.h"
#include "chrome/browser/chromeos/login/signin_specifics.h"
#include "chrome/browser/chromeos/login/ui/login_display.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/signin/screenlock_bridge.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
@@ -29,6 +28,7 @@
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chromeos/ime/ime_keyboard.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/web_ui.h"
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
index 0aa3dea..7264143 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
@@ -7,6 +7,7 @@
#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/signin/screenlock_bridge.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile_manager.h"
diff --git a/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc
index c448b7e..e9ef462 100644
--- a/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc
@@ -9,13 +9,14 @@
#include "base/values.h"
#include "chrome/browser/chromeos/login/screens/user_selection_screen.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/common/url_constants.h"
#include "chromeos/audio/chromeos_sounds.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "google_apis/gaia/gaia_auth_util.h"
#include "grit/browser_resources.h"
@@ -209,7 +210,8 @@ void SupervisedUserCreationScreenHandler::PrepareToShow() {}
void SupervisedUserCreationScreenHandler::Show() {
scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue());
scoped_ptr<base::ListValue> users_list(new base::ListValue());
- const user_manager::UserList& users = UserManager::Get()->GetUsers();
+ const user_manager::UserList& users =
+ user_manager::UserManager::Get()->GetUsers();
std::string owner;
chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner);
@@ -301,8 +303,9 @@ void SupervisedUserCreationScreenHandler::HandleImportUserSelected(
void SupervisedUserCreationScreenHandler::HandleCheckSupervisedUserName(
const base::string16& name) {
std::string user_id;
- if (NULL != UserManager::Get()->GetSupervisedUserManager()->
- FindByDisplayName(base::CollapseWhitespace(name, true))) {
+ if (NULL !=
+ ChromeUserManager::Get()->GetSupervisedUserManager()->FindByDisplayName(
+ base::CollapseWhitespace(name, true))) {
CallJS("supervisedUserNameError", name,
l10n_util::GetStringUTF16(
IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS));
@@ -325,8 +328,9 @@ void SupervisedUserCreationScreenHandler::HandleCreateSupervisedUser(
return;
const base::string16 new_user_name =
base::CollapseWhitespace(new_raw_user_name, true);
- if (NULL != UserManager::Get()->GetSupervisedUserManager()->
- FindByDisplayName(new_user_name)) {
+ if (NULL !=
+ ChromeUserManager::Get()->GetSupervisedUserManager()->FindByDisplayName(
+ new_user_name)) {
CallJS("supervisedUserNameError", new_user_name,
l10n_util::GetStringFUTF16(
IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS,
@@ -384,7 +388,7 @@ void SupervisedUserCreationScreenHandler::HandleAuthenticateManager(
gaia::SanitizeEmail(raw_manager_username);
UserFlow* flow = new SupervisedUserCreationFlow(manager_username);
- UserManager::Get()->SetUserFlow(manager_username, flow);
+ ChromeUserManager::Get()->SetUserFlow(manager_username, flow);
delegate_->AuthenticateManager(manager_username, manager_password);
}
diff --git a/chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc
index 8bf0287..898827b 100644
--- a/chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.cc
@@ -15,13 +15,14 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/base/locale_util.h"
#include "chrome/browser/chromeos/login/screens/core_oobe_actor.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/common/pref_names.h"
#include "chromeos/ime/input_method_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
@@ -84,9 +85,11 @@ void TermsOfServiceScreenHandler::Show() {
const std::string locale =
ProfileHelper::Get()
- ->GetProfileByUserUnsafe(UserManager::Get()->GetActiveUser())
+ ->GetProfileByUserUnsafe(
+ user_manager::UserManager::Get()->GetActiveUser())
->GetPrefs()
->GetString(prefs::kApplicationLocale);
+
if (locale.empty() || locale == g_browser_process->GetApplicationLocale()) {
// If the user has not chosen a UI locale yet or the chosen locale matches
// the current UI locale, show the screen immediately.
@@ -151,7 +154,8 @@ void TermsOfServiceScreenHandler::DoShow() {
std::vector<std::string> input_methods;
base::SplitString(
ProfileHelper::Get()
- ->GetProfileByUserUnsafe(UserManager::Get()->GetActiveUser())
+ ->GetProfileByUserUnsafe(
+ user_manager::UserManager::Get()->GetActiveUser())
->GetPrefs()
->GetString(prefs::kLanguagePreloadEngines),
',',
diff --git a/chrome/browser/ui/webui/chromeos/ui_account_tweaks.cc b/chrome/browser/ui/webui/chromeos/ui_account_tweaks.cc
index 3257cb4..3e1727b 100644
--- a/chrome/browser/ui/webui/chromeos/ui_account_tweaks.cc
+++ b/chrome/browser/ui/webui/chromeos/ui_account_tweaks.cc
@@ -6,10 +6,10 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui_data_source.h"
namespace chromeos {
@@ -23,20 +23,22 @@ void AddAccountUITweaksLocalizedValues(
CrosSettings::Get()->GetString(kDeviceOwner, &owner_email);
// Translate owner's email to the display email.
std::string display_email =
- UserManager::Get()->GetUserDisplayEmail(owner_email);
+ user_manager::UserManager::Get()->GetUserDisplayEmail(owner_email);
localized_strings->SetString("ownerUserId", display_email);
localized_strings->SetBoolean("currentUserIsOwner",
ProfileHelper::IsOwnerProfile(profile));
- localized_strings->SetBoolean("loggedInAsGuest",
- UserManager::Get()->IsLoggedInAsGuest());
+ localized_strings->SetBoolean(
+ "loggedInAsGuest", user_manager::UserManager::Get()->IsLoggedInAsGuest());
- localized_strings->SetBoolean("loggedInAsSupervisedUser",
- UserManager::Get()->IsLoggedInAsSupervisedUser());
+ localized_strings->SetBoolean(
+ "loggedInAsSupervisedUser",
+ user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser());
- localized_strings->SetBoolean("loggedInAsPublicAccount",
- UserManager::Get()->IsLoggedInAsPublicAccount());
+ localized_strings->SetBoolean(
+ "loggedInAsPublicAccount",
+ user_manager::UserManager::Get()->IsLoggedInAsPublicAccount());
}
void AddAccountUITweaksLocalizedValues(
diff --git a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
index ceacefd..2a611c1 100644
--- a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
+++ b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
@@ -15,11 +15,11 @@
#include "base/strings/string_util.h"
#include "base/sys_info.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h"
#include "extensions/common/extension.h"
@@ -199,9 +199,8 @@ void KioskAppsHandler::OnKioskExtensionDownloadFailed(
void KioskAppsHandler::OnGetConsumerKioskAutoLaunchStatus(
chromeos::KioskAppManager::ConsumerKioskAutoLaunchStatus status) {
initialized_ = true;
- is_kiosk_enabled_ =
- chromeos::UserManager::Get()->IsCurrentUserOwner() ||
- !base::SysInfo::IsRunningOnChromeOS();
+ is_kiosk_enabled_ = user_manager::UserManager::Get()->IsCurrentUserOwner() ||
+ !base::SysInfo::IsRunningOnChromeOS();
is_auto_launch_enabled_ =
status == KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_ENABLED ||
diff --git a/chrome/browser/ui/webui/flags_ui.cc b/chrome/browser/ui/webui/flags_ui.cc
index 64fe3d9..5301a5b 100644
--- a/chrome/browser/ui/webui/flags_ui.cc
+++ b/chrome/browser/ui/webui/flags_ui.cc
@@ -34,7 +34,6 @@
#if defined(OS_CHROMEOS)
#include "base/sys_info.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service.h"
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
@@ -42,6 +41,7 @@
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
#include "components/pref_registry/pref_registry_syncable.h"
+#include "components/user_manager/user_manager.h"
#endif
using content::WebContents;
@@ -75,7 +75,7 @@ content::WebUIDataSource* CreateFlagsUIHTMLSource() {
source->AddLocalizedString("enable", IDS_FLAGS_ENABLE);
#if defined(OS_CHROMEOS)
- if (!chromeos::UserManager::Get()->IsCurrentUserOwner() &&
+ if (!user_manager::UserManager::Get()->IsCurrentUserOwner() &&
base::SysInfo::IsRunningOnChromeOS()) {
// Set the strings to show which user can actually change the flags.
std::string owner;
@@ -231,9 +231,10 @@ void FlagsDOMHandler::HandleRestartBrowser(const base::ListValue* args) {
// argv[0] is the program name |CommandLine::NO_PROGRAM|.
flags.assign(user_flags.argv().begin() + 1, user_flags.argv().end());
VLOG(1) << "Restarting to apply per-session flags...";
- chromeos::DBusThreadManager::Get()->GetSessionManagerClient()->
- SetFlagsForUser(chromeos::UserManager::Get()->GetActiveUser()->email(),
- flags);
+ chromeos::DBusThreadManager::Get()
+ ->GetSessionManagerClient()
+ ->SetFlagsForUser(
+ user_manager::UserManager::Get()->GetActiveUser()->email(), flags);
#endif
chrome::AttemptRestart();
}
diff --git a/chrome/browser/ui/webui/help/help_handler.cc b/chrome/browser/ui/webui/help/help_handler.cc
index 9fca84e..5ec3aa5 100644
--- a/chrome/browser/ui/webui/help/help_handler.cc
+++ b/chrome/browser/ui/webui/help/help_handler.cc
@@ -44,7 +44,6 @@
#include "base/i18n/time_formatting.h"
#include "base/prefs/pref_service.h"
#include "base/sys_info.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/profiles/profile.h"
@@ -52,6 +51,7 @@
#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
+#include "components/user_manager/user_manager.h"
#endif
using base::ListValue;
@@ -92,14 +92,15 @@ bool CanChangeChannel() {
return false;
// Get the currently logged in user and strip the domain part only.
std::string domain = "";
- std::string user = chromeos::UserManager::Get()->GetLoggedInUser()->email();
+ std::string user =
+ user_manager::UserManager::Get()->GetLoggedInUser()->email();
size_t at_pos = user.find('@');
if (at_pos != std::string::npos && at_pos + 1 < user.length())
domain = user.substr(user.find('@') + 1);
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
return domain == connector->GetEnterpriseDomain();
- } else if (chromeos::UserManager::Get()->IsCurrentUserOwner()) {
+ } else if (user_manager::UserManager::Get()->IsCurrentUserOwner()) {
// On non managed machines we have local owner who is the only one to change
// anything. Ensure that ReleaseChannelDelegated is false.
return !value;
@@ -430,7 +431,7 @@ void HelpHandler::SetChannel(const base::ListValue* args) {
version_updater_->SetChannel(base::UTF16ToUTF8(channel),
is_powerwash_allowed);
- if (chromeos::UserManager::Get()->IsCurrentUserOwner()) {
+ if (user_manager::UserManager::Get()->IsCurrentUserOwner()) {
// Check for update after switching release channel.
version_updater_->CheckForUpdate(base::Bind(&HelpHandler::SetUpdateStatus,
base::Unretained(this)));
diff --git a/chrome/browser/ui/webui/help/version_updater_chromeos.cc b/chrome/browser/ui/webui/help/version_updater_chromeos.cc
index e6c2f2a..ac87357 100644
--- a/chrome/browser/ui/webui/help/version_updater_chromeos.cc
+++ b/chrome/browser/ui/webui/help/version_updater_chromeos.cc
@@ -10,7 +10,6 @@
#include "base/bind_helpers.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/ui/webui/help/help_utils_chromeos.h"
@@ -20,6 +19,7 @@
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
@@ -28,7 +28,7 @@
using chromeos::CrosSettings;
using chromeos::DBusThreadManager;
using chromeos::UpdateEngineClient;
-using chromeos::UserManager;
+using user_manager::UserManager;
using chromeos::WizardController;
namespace {
@@ -128,7 +128,7 @@ void VersionUpdaterCros::RelaunchBrowser() const {
void VersionUpdaterCros::SetChannel(const std::string& channel,
bool is_powerwash_allowed) {
- if (UserManager::Get()->IsCurrentUserOwner()) {
+ if (user_manager::UserManager::Get()->IsCurrentUserOwner()) {
// For local owner set the field in the policy blob.
CrosSettings::Get()->SetString(chromeos::kReleaseChannel, channel);
}
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index 84f0263..d33ad33 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -105,7 +105,6 @@
#include "ash/shell.h"
#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
#include "chrome/browser/chromeos/chromeos_utils.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -122,6 +121,7 @@
#include "components/policy/core/common/policy_namespace.h"
#include "components/policy/core/common/policy_service.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#include "policy/policy_constants.h"
#include "policy/proto/device_management_backend.pb.h"
#include "ui/gfx/image/image_skia.h"
@@ -942,8 +942,8 @@ void BrowserOptionsHandler::InitializePage() {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
if (!connector->IsEnterpriseManaged() &&
- !chromeos::UserManager::Get()->IsLoggedInAsGuest() &&
- !chromeos::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
+ !user_manager::UserManager::Get()->IsLoggedInAsGuest() &&
+ !user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser()) {
web_ui()->CallJavascriptFunction(
"BrowserOptions.enableFactoryResetSection");
}
@@ -958,7 +958,7 @@ void BrowserOptionsHandler::InitializePage() {
OnWallpaperManagedChanged(
chromeos::WallpaperManager::Get()->IsPolicyControlled(
- chromeos::UserManager::Get()->GetActiveUser()->email()));
+ user_manager::UserManager::Get()->GetActiveUser()->email()));
#endif
}
@@ -1351,7 +1351,8 @@ void BrowserOptionsHandler::ThemesSetNative(const base::ListValue* args) {
#if defined(OS_CHROMEOS)
void BrowserOptionsHandler::UpdateAccountPicture() {
- std::string email = chromeos::UserManager::Get()->GetLoggedInUser()->email();
+ std::string email =
+ user_manager::UserManager::Get()->GetLoggedInUser()->email();
if (!email.empty()) {
web_ui()->CallJavascriptFunction("BrowserOptions.updateAccountPicture");
base::StringValue email_value(email);
diff --git a/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc b/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc
index f2b4880..db1d4fa 100644
--- a/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc
+++ b/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc
@@ -8,7 +8,6 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -18,6 +17,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
@@ -136,7 +136,7 @@ IN_PROC_BROWSER_TEST_F(AccountsOptionsTest, MultiProfilesAccountsOptions) {
content::RunAllPendingInMessageLoop();
AddUser(kTestUsers[1]);
- UserManager* manager = UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
ASSERT_EQ(2u, manager->GetLoggedInUsers().size());
CheckAccountsUI(manager->FindUser(kTestUsers[0]), true /* is_owner */);
diff --git a/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc
index 856945f..f3c2ebb 100644
--- a/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc
@@ -14,11 +14,12 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/chromeos/ui_account_tweaks.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui.h"
#include "google_apis/gaia/gaia_auth_util.h"
#include "grit/generated_resources.h"
@@ -115,7 +116,7 @@ void AccountsOptionsHandler::HandleUnwhitelistUser(
base::StringValue canonical_email(gaia::CanonicalizeEmail(email));
CrosSettings::Get()->RemoveFromList(kAccountsPrefUsers, &canonical_email);
- UserManager::Get()->RemoveUser(email, NULL);
+ user_manager::UserManager::Get()->RemoveUser(email, NULL);
}
void AccountsOptionsHandler::HandleWhitelistExistingUsers(
@@ -134,7 +135,8 @@ void AccountsOptionsHandler::HandleWhitelistExistingUsers(
else
new_list.reset(new base::ListValue);
- const user_manager::UserList& users = UserManager::Get()->GetUsers();
+ const user_manager::UserList& users =
+ user_manager::UserManager::Get()->GetUsers();
for (user_manager::UserList::const_iterator it = users.begin();
it < users.end();
++it)
diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
index bf64a89..4e95b8d 100644
--- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
@@ -16,7 +16,7 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/camera_presence_notifier.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
@@ -28,6 +28,7 @@
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/default_user_images.h"
#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_ui.h"
@@ -312,7 +313,7 @@ void ChangePictureOptionsHandler::SendProfileImage(const gfx::ImageSkia& image,
void ChangePictureOptionsHandler::UpdateProfileImage() {
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(GetUser()->email());
+ ChromeUserManager::Get()->GetUserImageManager(GetUser()->email());
// If we have a downloaded profile image and haven't sent it in
// |SendSelectedImage|, send it now (without selecting).
if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE &&
@@ -343,7 +344,7 @@ void ChangePictureOptionsHandler::HandleSelectImage(
DCHECK(!image_type.empty());
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(GetUser()->email());
+ ChromeUserManager::Get()->GetUserImageManager(GetUser()->email());
int image_index = user_manager::User::USER_IMAGE_INVALID;
bool waiting_for_camera_photo = false;
@@ -403,9 +404,9 @@ void ChangePictureOptionsHandler::HandleSelectImage(
void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path,
int index,
void* params) {
- UserManager* user_manager = UserManager::Get();
- user_manager->GetUserImageManager(GetUser()->email())->
- SaveUserImageFromFile(path);
+ ChromeUserManager::Get()
+ ->GetUserImageManager(GetUser()->email())
+ ->SaveUserImageFromFile(path);
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
user_manager::kHistogramImageFromFile,
user_manager::kHistogramImagesCount);
@@ -414,8 +415,8 @@ void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path,
void ChangePictureOptionsHandler::SetImageFromCamera(
const gfx::ImageSkia& photo) {
- UserManager* user_manager = UserManager::Get();
- user_manager->GetUserImageManager(GetUser()->email())
+ ChromeUserManager::Get()
+ ->GetUserImageManager(GetUser()->email())
->SaveUserImage(user_manager::UserImage::CreateAndEncode(photo));
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
user_manager::kHistogramImageFromCamera,
@@ -475,7 +476,7 @@ user_manager::User* ChangePictureOptionsHandler::GetUser() const {
Profile* profile = Profile::FromWebUI(web_ui());
user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile);
if (!user)
- return UserManager::Get()->GetActiveUser();
+ return user_manager::UserManager::Get()->GetActiveUser();
return user;
}
diff --git a/chrome/browser/ui/webui/options/chromeos/consumer_management_handler.cc b/chrome/browser/ui/webui/options/chromeos/consumer_management_handler.cc
index 8acec3a..d1d9044 100644
--- a/chrome/browser/ui/webui/options/chromeos/consumer_management_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/consumer_management_handler.cc
@@ -8,10 +8,10 @@
#include "base/bind_helpers.h"
#include "base/logging.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/consumer_management_service.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_ui.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -77,7 +77,7 @@ void ConsumerManagementHandler::RegisterMessages() {
void ConsumerManagementHandler::HandleEnrollConsumerManagement(
const base::ListValue* args) {
- if (!chromeos::UserManager::Get()->IsCurrentUserOwner()) {
+ if (!user_manager::UserManager::Get()->IsCurrentUserOwner()) {
LOG(ERROR) << "Received enrollConsumerManagement, but the current user is "
<< "not the owner.";
return;
diff --git a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
index c6bbe70..9795f4b 100644
--- a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
@@ -16,7 +16,6 @@
#include "base/sys_info.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/proxy_cros_settings_parser.h"
@@ -27,6 +26,7 @@
#include "chrome/browser/ui/webui/options/chromeos/accounts_options_handler.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/user_metrics.h"
#include "content/public/browser/web_ui.h"
@@ -59,7 +59,7 @@ base::DictionaryValue* CreateUserInfo(const std::string& username,
user_dict->SetString("name", display_email);
user_dict->SetString("email", display_name);
- bool is_owner = UserManager::Get()->GetOwnerEmail() == username;
+ bool is_owner = user_manager::UserManager::Get()->GetOwnerEmail() == username;
user_dict->SetBoolean("owner", is_owner);
return user_dict;
}
@@ -70,7 +70,7 @@ base::Value* CreateUsersWhitelist(const base::Value *pref_value) {
const base::ListValue* list_value =
static_cast<const base::ListValue*>(pref_value);
base::ListValue* user_list = new base::ListValue();
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
for (base::ListValue::const_iterator i = list_value->begin();
i != list_value->end(); ++i) {
@@ -246,7 +246,7 @@ base::Value* CoreChromeOSOptionsHandler::CreateValueForPref(
// The screen lock setting is shared if multiple users are logged in and at
// least one has chosen to require passwords.
if (pref_name == prefs::kEnableAutoScreenLock &&
- UserManager::Get()->GetLoggedInUsers().size() > 1 &&
+ user_manager::UserManager::Get()->GetLoggedInUsers().size() > 1 &&
controlling_pref_name.empty()) {
PrefService* user_prefs = Profile::FromWebUI(web_ui())->GetPrefs();
const PrefService::Preference* pref =
@@ -283,7 +283,7 @@ void CoreChromeOSOptionsHandler::GetLocalizedValues(
Profile* profile = Profile::FromWebUI(web_ui());
AddAccountUITweaksLocalizedValues(localized_strings, profile);
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Check at load time whether this is a secondary user in a multi-profile
// session.
diff --git a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
index e31aa31..c4f599f 100644
--- a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc
@@ -11,7 +11,6 @@
#include "base/values.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/lifetime/application_lifetime.h"
@@ -25,6 +24,7 @@
#include "chromeos/ime/component_extension_ime_manager.h"
#include "chromeos/ime/extension_ime_util.h"
#include "chromeos/ime/input_method_manager.h"
+#include "components/user_manager/user_manager.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/user_metrics.h"
@@ -184,7 +184,7 @@ base::string16 CrosLanguageOptionsHandler::GetProductName() {
void CrosLanguageOptionsHandler::SetApplicationLocale(
const std::string& language_code) {
Profile* profile = Profile::FromWebUI(web_ui());
- UserManager* user_manager = UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
// Secondary users and public session users cannot change the locale.
user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile);
diff --git a/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc b/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc
index 88dd983..b7dc0ec 100644
--- a/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc
+++ b/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -19,6 +18,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
@@ -273,7 +273,7 @@ IN_PROC_BROWSER_TEST_F(SharedOptionsTest, SharedOptions) {
content::RunAllPendingInMessageLoop();
AddUser(kTestNonOwner);
- UserManager* manager = UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
ASSERT_EQ(2u, manager->GetLoggedInUsers().size());
{
SCOPED_TRACE("Checking settings for owner, primary user.");
@@ -304,7 +304,7 @@ IN_PROC_BROWSER_TEST_F(SharedOptionsTest, ScreenLockPreferencePrimary) {
content::RunAllPendingInMessageLoop();
AddUser(kTestNonOwner);
- UserManager* manager = UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
const user_manager::User* user1 = manager->FindUser(kTestOwner);
const user_manager::User* user2 = manager->FindUser(kTestNonOwner);
@@ -375,7 +375,7 @@ IN_PROC_BROWSER_TEST_F(SharedOptionsTest, ScreenLockPreferenceSecondary) {
content::RunAllPendingInMessageLoop();
AddUser(kTestNonOwner);
- UserManager* manager = UserManager::Get();
+ user_manager::UserManager* manager = user_manager::UserManager::Get();
const user_manager::User* user1 = manager->FindUser(kTestOwner);
const user_manager::User* user2 = manager->FindUser(kTestNonOwner);
diff --git a/chrome/browser/ui/webui/options/chromeos/user_image_source.cc b/chrome/browser/ui/webui/options/chromeos/user_image_source.cc
index 54b1b46c..4ace6c1 100644
--- a/chrome/browser/ui/webui/options/chromeos/user_image_source.cc
+++ b/chrome/browser/ui/webui/options/chromeos/user_image_source.cc
@@ -7,9 +7,9 @@
#include "base/memory/ref_counted_memory.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/string_split.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/common/url_constants.h"
#include "components/user_manager/user_image/default_user_images.h"
+#include "components/user_manager/user_manager.h"
#include "grit/theme_resources.h"
#include "grit/ui_chromeos_resources.h"
#include "net/base/escape.h"
@@ -39,7 +39,7 @@ base::RefCountedMemory* UserImageSource::GetUserImage(
const std::string& email,
ui::ScaleFactor scale_factor) const {
const user_manager::User* user =
- chromeos::UserManager::Get()->FindUser(email);
+ user_manager::UserManager::Get()->FindUser(email);
if (user) {
if (user->has_raw_image()) {
return new base::RefCountedBytes(user->raw_image());
diff --git a/chrome/browser/ui/webui/options/content_settings_handler.cc b/chrome/browser/ui/webui/options/content_settings_handler.cc
index 531952e..c3ad979 100644
--- a/chrome/browser/ui/webui/options/content_settings_handler.cc
+++ b/chrome/browser/ui/webui/options/content_settings_handler.cc
@@ -52,7 +52,7 @@
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "components/user_manager/user_manager.h"
#endif
using base::UserMetricsAction;
@@ -1316,7 +1316,7 @@ void ContentSettingsHandler::SetContentFilter(const base::ListValue* args) {
#if defined(OS_CHROMEOS)
// ChromeOS special case : in Guest mode settings are opened in Incognito
// mode, so we need original profile to actually modify settings.
- if (chromeos::UserManager::Get()->IsLoggedInAsGuest())
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
profile = profile->GetOriginalProfile();
#endif
diff --git a/chrome/browser/ui/webui/policy_ui.cc b/chrome/browser/ui/webui/policy_ui.cc
index b70dfc7..49eecaa 100644
--- a/chrome/browser/ui/webui/policy_ui.cc
+++ b/chrome/browser/ui/webui/policy_ui.cc
@@ -55,12 +55,12 @@
#include "ui/base/l10n/time_format.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h"
+#include "components/user_manager/user_manager.h"
#else
#include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
@@ -536,7 +536,8 @@ void PolicyUIHandler::RegisterMessages() {
if (connector->IsEnterpriseManaged())
device_status_provider_.reset(new DevicePolicyStatusProvider(connector));
- const chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ const user_manager::UserManager* user_manager =
+ user_manager::UserManager::Get();
if (user_manager->IsLoggedInAsPublicAccount()) {
policy::DeviceLocalAccountPolicyService* local_account_service =
connector->GetDeviceLocalAccountPolicyService();
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 07d3bbc..3c7ba76 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -3182,6 +3182,7 @@
],
'dependencies': [
'browser_chromeos',
+ '../components/components.gyp:user_manager',
'../ui/chromeos/ui_chromeos.gyp:ui_chromeos_resources',
],
}, { # Non-ChromeOS.
diff --git a/chrome/chrome_browser_chromeos.gypi b/chrome/chrome_browser_chromeos.gypi
index 4381318..67ce748 100644
--- a/chrome/chrome_browser_chromeos.gypi
+++ b/chrome/chrome_browser_chromeos.gypi
@@ -726,17 +726,18 @@
'browser/chromeos/login/users/avatar/user_image_sync_observer.h',
'browser/chromeos/login/users/chrome_user_manager.cc',
'browser/chromeos/login/users/chrome_user_manager.h',
+ 'browser/chromeos/login/users/chrome_user_manager_impl.cc',
+ 'browser/chromeos/login/users/chrome_user_manager_impl.h',
'browser/chromeos/login/users/multi_profile_user_controller.cc',
'browser/chromeos/login/users/multi_profile_user_controller.h',
'browser/chromeos/login/users/multi_profile_user_controller_delegate.h',
- 'browser/chromeos/login/users/remove_user_delegate.h',
+ 'browser/chromeos/login/users/scoped_test_user_manager.cc',
+ 'browser/chromeos/login/users/scoped_test_user_manager.h',
+ 'browser/chromeos/login/users/scoped_user_manager_enabler.cc',
+ 'browser/chromeos/login/users/scoped_user_manager_enabler.h',
'browser/chromeos/login/users/supervised_user_manager.h',
'browser/chromeos/login/users/supervised_user_manager_impl.cc',
'browser/chromeos/login/users/supervised_user_manager_impl.h',
- 'browser/chromeos/login/users/user_manager.cc',
- 'browser/chromeos/login/users/user_manager.h',
- 'browser/chromeos/login/users/user_manager_base.cc',
- 'browser/chromeos/login/users/user_manager_base.h',
'browser/chromeos/login/users/wallpaper/wallpaper_manager.cc',
'browser/chromeos/login/users/wallpaper/wallpaper_manager.h',
'browser/chromeos/login/version_info_updater.cc',
diff --git a/chrome/test/base/browser_with_test_window_test.h b/chrome/test/base/browser_with_test_window_test.h
index cc5cde8..cb65ebc 100644
--- a/chrome/test/base/browser_with_test_window_test.h
+++ b/chrome/test/base/browser_with_test_window_test.h
@@ -16,7 +16,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/users/user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif
diff --git a/components/user_manager.gypi b/components/user_manager.gypi
index f65fb3a..8aa5e8c 100644
--- a/components/user_manager.gypi
+++ b/components/user_manager.gypi
@@ -16,12 +16,17 @@
],
# Chrome OS user_manager sources.
'user_manager_chromeos_sources': [
+ 'user_manager/remove_user_delegate.h',
'user_manager/user_image/default_user_images.cc',
'user_manager/user_image/default_user_images.h',
'user_manager/user_image/user_image.cc',
'user_manager/user_image/user_image.h',
'user_manager/user.cc',
'user_manager/user.h',
+ 'user_manager/user_manager.cc',
+ 'user_manager/user_manager.h',
+ 'user_manager/user_manager_base.cc',
+ 'user_manager/user_manager_base.h',
'user_manager/user_type.h',
],
},
@@ -45,6 +50,8 @@
'conditions': [
['chromeos == 1', {
'dependencies': [
+ '<(DEPTH)/base/base.gyp:base_prefs',
+ '<(DEPTH)/components/components.gyp:session_manager_component',
'<(DEPTH)/google_apis/google_apis.gyp:google_apis',
'<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos_resources',
'<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos_strings',
diff --git a/components/user_manager/DEPS b/components/user_manager/DEPS
index 2cbd1db..f3fe77c 100644
--- a/components/user_manager/DEPS
+++ b/components/user_manager/DEPS
@@ -1,5 +1,9 @@
include_rules = [
+"+chromeos/chromeos_switches.h",
+"+chromeos/cryptohome/async_method_caller.h",
+"+chromeos/login/login_state.h",
"+chromeos/login/user_names.h",
+"+components/session_manager/core/session_manager.h",
"+google_apis/gaia/gaia_auth_util.h",
"+grit/ui_chromeos_resources.h",
"+grit/ui_chromeos_strings.h",
diff --git a/chrome/browser/chromeos/login/users/remove_user_delegate.h b/components/user_manager/remove_user_delegate.h
index efdb7ee..1077bda 100644
--- a/chrome/browser/chromeos/login/users/remove_user_delegate.h
+++ b/components/user_manager/remove_user_delegate.h
@@ -2,13 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_REMOVE_USER_DELEGATE_H_
-#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_REMOVE_USER_DELEGATE_H_
+#ifndef COMPONENTS_USER_MANAGER_REMOVE_USER_DELEGATE_H_
+#define COMPONENTS_USER_MANAGER_REMOVE_USER_DELEGATE_H_
-namespace chromeos {
+#include "components/user_manager/user_manager_export.h"
+
+namespace user_manager {
// Delegate to be used with |UserManager::RemoveUser|.
-class RemoveUserDelegate {
+class USER_MANAGER_EXPORT RemoveUserDelegate {
public:
// Called right before actual user removal process is initiated.
virtual void OnBeforeUserRemoved(const std::string& username) = 0;
@@ -17,6 +19,6 @@ class RemoveUserDelegate {
virtual void OnUserRemoved(const std::string& username) = 0;
};
-} // namespace chromeos
+} // namespace user_manager
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_REMOVE_USER_DELEGATE_H_
+#endif // COMPONENTS_USER_MANAGER_REMOVE_USER_DELEGATE_H_
diff --git a/components/user_manager/user.h b/components/user_manager/user.h
index 23e8230..5ff8a10 100644
--- a/components/user_manager/user.h
+++ b/components/user_manager/user.h
@@ -18,19 +18,20 @@
#include "ui/gfx/image/image_skia.h"
namespace chromeos {
-class ChromeUserManager;
+class ChromeUserManagerImpl;
class FakeLoginUtils;
class FakeUserManager;
class MockUserManager;
class SupervisedUserManagerImpl;
class UserAddingScreenTest;
class UserImageManagerImpl;
-class UserManagerBase;
class UserSessionManager;
}
namespace user_manager {
+class UserManagerBase;
+
// A class representing information about a previously logged in user.
// Each user has a canonical email (username), returned by |email()| and
// may have a different displayed email (in the raw form as entered by user),
@@ -148,10 +149,10 @@ class USER_MANAGER_EXPORT User : public UserInfo {
bool is_profile_created() const { return profile_is_created_; }
protected:
- friend class chromeos::ChromeUserManager;
+ friend class UserManagerBase;
+ friend class chromeos::ChromeUserManagerImpl;
friend class chromeos::SupervisedUserManagerImpl;
friend class chromeos::UserImageManagerImpl;
- friend class chromeos::UserManagerBase;
friend class chromeos::UserSessionManager;
// For testing:
diff --git a/components/user_manager/user_manager.cc b/components/user_manager/user_manager.cc
new file mode 100644
index 0000000..597407f
--- /dev/null
+++ b/components/user_manager/user_manager.cc
@@ -0,0 +1,85 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/user_manager/user_manager.h"
+
+#include "base/logging.h"
+
+namespace user_manager {
+
+UserManager* UserManager::instance = NULL;
+
+UserManager::Observer::~Observer() {
+}
+
+void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
+}
+
+void UserManager::UserSessionStateObserver::ActiveUserChanged(
+ const User* active_user) {
+}
+
+void UserManager::UserSessionStateObserver::UserAddedToSession(
+ const User* active_user) {
+}
+
+void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
+ const std::string& hash) {
+}
+
+UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
+}
+
+UserManager::UserAccountData::UserAccountData(
+ const base::string16& display_name,
+ const base::string16& given_name,
+ const std::string& locale)
+ : display_name_(display_name), given_name_(given_name), locale_(locale) {
+}
+
+UserManager::UserAccountData::~UserAccountData() {
+}
+
+void UserManager::Initialize() {
+ DCHECK(!UserManager::instance);
+ UserManager::SetInstance(this);
+}
+
+// static
+bool UserManager::IsInitialized() {
+ return UserManager::instance;
+}
+
+void UserManager::Destroy() {
+ DCHECK(UserManager::instance == this);
+ UserManager::SetInstance(NULL);
+}
+
+// static
+UserManager* user_manager::UserManager::Get() {
+ CHECK(UserManager::instance);
+ return UserManager::instance;
+}
+
+UserManager::~UserManager() {
+}
+
+// static
+void UserManager::SetInstance(UserManager* user_manager) {
+ UserManager::instance = user_manager;
+}
+
+// static
+UserManager* user_manager::UserManager::GetForTesting() {
+ return UserManager::instance;
+}
+
+// static
+UserManager* UserManager::SetForTesting(UserManager* user_manager) {
+ UserManager* previous_instance = UserManager::instance;
+ UserManager::instance = user_manager;
+ return previous_instance;
+}
+
+} // namespace user_manager
diff --git a/chrome/browser/chromeos/login/users/user_manager.h b/components/user_manager/user_manager.h
index 8b2d961..e775279 100644
--- a/chrome/browser/chromeos/login/users/user_manager.h
+++ b/components/user_manager/user_manager.h
@@ -2,26 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
-#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
+#ifndef COMPONENTS_USER_MANAGER_USER_MANAGER_H_
+#define COMPONENTS_USER_MANAGER_USER_MANAGER_H_
#include <string>
-#include "chrome/browser/chromeos/login/user_flow.h"
#include "components/user_manager/user.h"
-
-class PrefRegistrySimple;
+#include "components/user_manager/user_manager_export.h"
namespace chromeos {
+class ScopedUserManagerEnabler;
+}
+
+namespace user_manager {
-class MultiProfileUserController;
class RemoveUserDelegate;
-class UserImageManager;
-class SupervisedUserManager;
-// Interface for UserManagerBase - provides a mechanism for discovering users
-// who have logged into this Chrome OS device before and updating that list.
-class UserManager {
+// Interface for UserManagerBase - that provides base implementation for
+// Chrome OS user management. Typical features:
+// * Get list of all know users (who have logged into this Chrome OS device)
+// * Keep track for logged in/LRU users, active user in multi-user session.
+// * Find/modify users, store user meta-data such as display name/email.
+class USER_MANAGER_EXPORT UserManager {
public:
// Interface that observers of UserManager must implement in order
// to receive notification when local state preferences is changed
@@ -40,10 +42,10 @@ class UserManager {
class UserSessionStateObserver {
public:
// Called when active user has changed.
- virtual void ActiveUserChanged(const user_manager::User* active_user);
+ virtual void ActiveUserChanged(const User* active_user);
// Called when another user got added to the existing session.
- virtual void UserAddedToSession(const user_manager::User* added_user);
+ virtual void UserAddedToSession(const User* added_user);
// Called right before notifying on user change so that those who rely
// on user_id hash would be accessing up-to-date value.
@@ -72,12 +74,14 @@ class UserManager {
DISALLOW_COPY_AND_ASSIGN(UserAccountData);
};
- // Creates the singleton instance. This method is not thread-safe and must be
- // called from the main UI thread.
- static void Initialize();
+ // Initializes UserManager instance to this. Normally should be called right
+ // after creation so that user_manager::UserManager::Get() doesn't fail.
+ // Tests could call this method if they are replacing existing UserManager
+ // instance with their own test instance.
+ void Initialize();
- // Checks whether the singleton instance has been created already. This method
- // is not thread-safe and must be called from the main UI thread.
+ // Checks whether the UserManager instance has been created already.
+ // This method is not thread-safe and must be called from the main UI thread.
static bool IsInitialized();
// Shuts down the UserManager. After this method has been called, the
@@ -86,27 +90,20 @@ class UserManager {
// thread-safe and must be called from the main UI thread.
virtual void Shutdown() = 0;
- // Destroys the singleton instance. Always call Shutdown() first. This method
- // is not thread-safe and must be called from the main UI thread.
- static void Destroy();
+ // Sets UserManager instance to NULL. Always call Shutdown() first.
+ // This method is not thread-safe and must be called from the main UI thread.
+ void Destroy();
- // Returns the singleton instance or |NULL| if the singleton has either not
- // been created yet or is already destroyed. This method is not thread-safe
+ // Returns UserManager instance or will crash if it is |NULL| (has either not
+ // been created yet or is already destroyed). This method is not thread-safe
// and must be called from the main UI thread.
static UserManager* Get();
- // Registers user manager preferences.
- static void RegisterPrefs(PrefRegistrySimple* registry);
-
virtual ~UserManager();
- virtual MultiProfileUserController* GetMultiProfileUserController() = 0;
- virtual UserImageManager* GetUserImageManager(const std::string& user_id) = 0;
- virtual SupervisedUserManager* GetSupervisedUserManager() = 0;
-
// Returns a list of users who have logged into this device previously. This
// is sorted by last login date with the most recent user at the beginning.
- virtual const user_manager::UserList& GetUsers() const = 0;
+ virtual const UserList& GetUsers() const = 0;
// Returns list of users admitted for logging in into multi-profile session.
// Users that have a policy that prevents them from being added to the
@@ -114,15 +111,15 @@ class UserManager {
// are regular users (i.e. not a public session/supervised etc.).
// Returns an empty list in case when primary user is not a regular one or
// has a policy that prohibids it to be part of multi-profile session.
- virtual user_manager::UserList GetUsersAdmittedForMultiProfile() const = 0;
+ virtual UserList GetUsersAdmittedForMultiProfile() const = 0;
// Returns a list of users who are currently logged in.
- virtual const user_manager::UserList& GetLoggedInUsers() const = 0;
+ virtual const UserList& GetLoggedInUsers() const = 0;
// Returns a list of users who are currently logged in in the LRU order -
// so the active user is the first one in the list. If there is no user logged
// in, the current user will be returned.
- virtual const user_manager::UserList& GetLRULoggedInUsers() const = 0;
+ virtual const UserList& GetLRULoggedInUsers() const = 0;
// Returns a list of users who can unlock the device.
// This list is based on policy and whether user is able to do unlock.
@@ -130,7 +127,7 @@ class UserManager {
// * If user has primary-only policy then it is the only user in unlock users.
// * Otherwise all users with unrestricted policy are added to this list.
// All users that are unable to perform unlock are excluded from this list.
- virtual user_manager::UserList GetUnlockUsers() const = 0;
+ virtual UserList GetUnlockUsers() const = 0;
// Returns the email of the owner user. Returns an empty string if there is
// no owner for the device.
@@ -173,34 +170,33 @@ class UserManager {
// Returns the user with the given user id if found in the persistent
// list or currently logged in as ephemeral. Returns |NULL| otherwise.
- virtual const user_manager::User* FindUser(
- const std::string& user_id) const = 0;
+ virtual const User* FindUser(const std::string& user_id) const = 0;
// Returns the user with the given user id if found in the persistent
// list or currently logged in as ephemeral. Returns |NULL| otherwise.
// Same as FindUser but returns non-const pointer to User object.
- virtual user_manager::User* FindUserAndModify(const std::string& user_id) = 0;
+ virtual User* FindUserAndModify(const std::string& user_id) = 0;
// Returns the logged-in user.
// TODO(nkostylev): Deprecate this call, move clients to GetActiveUser().
// http://crbug.com/230852
- virtual const user_manager::User* GetLoggedInUser() const = 0;
- virtual user_manager::User* GetLoggedInUser() = 0;
+ virtual const User* GetLoggedInUser() const = 0;
+ virtual User* GetLoggedInUser() = 0;
// Returns the logged-in user that is currently active within this session.
// There could be multiple users logged in at the the same but for now
// we support only one of them being active.
- virtual const user_manager::User* GetActiveUser() const = 0;
- virtual user_manager::User* GetActiveUser() = 0;
+ virtual const User* GetActiveUser() const = 0;
+ virtual User* GetActiveUser() = 0;
// Returns the primary user of the current session. It is recorded for the
// first signed-in user and does not change thereafter.
- virtual const user_manager::User* GetPrimaryUser() const = 0;
+ virtual const User* GetPrimaryUser() const = 0;
// Saves user's oauth token status in local state preferences.
virtual void SaveUserOAuthStatus(
const std::string& user_id,
- user_manager::User::OAuthTokenStatus oauth_token_status) = 0;
+ User::OAuthTokenStatus oauth_token_status) = 0;
// Saves a flag indicating whether online authentication against GAIA should
// be enforced during the user's next sign-in.
@@ -230,8 +226,7 @@ class UserManager {
// Returns the display email for user |user_id| if it is known (was
// previously set by a |SaveUserDisplayEmail| call).
// Otherwise, returns |user_id| itself.
- virtual std::string GetUserDisplayEmail(
- const std::string& user_id) const = 0;
+ virtual std::string GetUserDisplayEmail(const std::string& user_id) const = 0;
// Returns true if current user is an owner.
virtual bool IsCurrentUserOwner() const = 0;
@@ -283,25 +278,6 @@ class UserManager {
virtual bool IsUserNonCryptohomeDataEphemeral(
const std::string& user_id) const = 0;
- // Method that allows to set |flow| for user identified by |user_id|.
- // Flow should be set before login attempt.
- // Takes ownership of the |flow|, |flow| will be deleted in case of login
- // failure.
- virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) = 0;
-
- // Return user flow for current user. Returns instance of DefaultUserFlow if
- // no flow was defined for current user, or user is not logged in.
- // Returned value should not be cached.
- virtual UserFlow* GetCurrentUserFlow() const = 0;
-
- // Return user flow for user identified by |user_id|. Returns instance of
- // DefaultUserFlow if no flow was defined for user.
- // Returned value should not be cached.
- virtual UserFlow* GetUserFlow(const std::string& user_id) const = 0;
-
- // Resets user flow for user identified by |user_id|.
- virtual void ResetUserFlow(const std::string& user_id) = 0;
-
virtual void AddObserver(Observer* obs) = 0;
virtual void RemoveObserver(Observer* obs) = 0;
@@ -313,41 +289,28 @@ class UserManager {
// Returns true if supervised users allowed.
virtual bool AreSupervisedUsersAllowed() const = 0;
- private:
- friend class ScopedUserManagerEnabler;
+ protected:
+ // Sets UserManager instance.
+ static void SetInstance(UserManager* user_manager);
- // Sets the singleton to the given |user_manager|, taking ownership. Returns
- // the previous value of the singleton, passing ownership.
- static UserManager* SetForTesting(UserManager* user_manager);
-};
-
-// Helper class for unit tests. Initializes the UserManager singleton to the
-// given |user_manager| and tears it down again on destruction. If the singleton
-// had already been initialized, its previous value is restored after tearing
-// down |user_manager|.
-class ScopedUserManagerEnabler {
- public:
- // Takes ownership of |user_manager|.
- explicit ScopedUserManagerEnabler(UserManager* user_manager);
- ~ScopedUserManagerEnabler();
+ // Pointer to the existing UserManager instance (if any).
+ // Usually is set by calling Initialize(), reset by calling Destroy().
+ // Not owned since specific implementation of UserManager should decide on its
+ // own appropriate owner. For src/chrome implementation such place is
+ // g_browser_process->platform_part().
+ static UserManager* instance;
private:
- UserManager* previous_user_manager_;
+ friend class chromeos::ScopedUserManagerEnabler;
- DISALLOW_COPY_AND_ASSIGN(ScopedUserManagerEnabler);
-};
-
-// Helper class for unit tests. Initializes the UserManager singleton on
-// construction and tears it down again on destruction.
-class ScopedTestUserManager {
- public:
- ScopedTestUserManager();
- ~ScopedTestUserManager();
+ // Same as Get() but doesn't won't crash is current instance is NULL.
+ static UserManager* GetForTesting();
- private:
- DISALLOW_COPY_AND_ASSIGN(ScopedTestUserManager);
+ // Sets UserManager instance to the given |user_manager|.
+ // Returns the previous value of the instance.
+ static UserManager* SetForTesting(UserManager* user_manager);
};
-} // namespace chromeos
+} // namespace user_manager
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
+#endif // COMPONENTS_USER_MANAGER_USER_MANAGER_H_
diff --git a/chrome/browser/chromeos/login/users/user_manager_base.cc b/components/user_manager/user_manager_base.cc
index d2d42e4..3914819 100644
--- a/chrome/browser/chromeos/login/users/user_manager_base.cc
+++ b/components/user_manager/user_manager_base.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/chromeos/login/users/user_manager_base.h"
+#include "components/user_manager/user_manager_base.h"
#include <cstddef>
#include <set>
@@ -12,7 +12,9 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
#include "base/format_macros.h"
+#include "base/location.h"
#include "base/logging.h"
+#include "base/macros.h"
#include "base/metrics/histogram.h"
#include "base/prefs/pref_registry_simple.h"
#include "base/prefs/pref_service.h"
@@ -20,21 +22,19 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/task_runner.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/users/remove_user_delegate.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/cryptohome/async_method_caller.h"
#include "chromeos/login/login_state.h"
#include "chromeos/login/user_names.h"
#include "components/session_manager/core/session_manager.h"
+#include "components/user_manager/remove_user_delegate.h"
#include "components/user_manager/user_type.h"
-#include "content/public/browser/browser_thread.h"
#include "google_apis/gaia/gaia_auth_util.h"
#include "ui/base/l10n/l10n_util.h"
-using content::BrowserThread;
-
-namespace chromeos {
+namespace user_manager {
namespace {
// A vector pref of the the regular users known on this device, arranged in LRU
@@ -77,20 +77,6 @@ void OnRemoveUserComplete(const std::string& user_email,
}
}
-// Runs on SequencedWorkerPool thread. Passes resolved locale to
-// |on_resolve_callback| on UI thread.
-void ResolveLocale(
- const std::string& raw_locale,
- base::Callback<void(const std::string&)> on_resolve_callback) {
- DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
- std::string resolved_locale;
- // Ignore result
- l10n_util::CheckAndResolveLocale(raw_locale, &resolved_locale);
- BrowserThread::PostTask(BrowserThread::UI,
- FROM_HERE,
- base::Bind(on_resolve_callback, resolved_locale));
-}
-
} // namespace
// static
@@ -104,7 +90,9 @@ void UserManagerBase::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterDictionaryPref(kUserForceOnlineSignin);
}
-UserManagerBase::UserManagerBase()
+UserManagerBase::UserManagerBase(
+ scoped_refptr<base::TaskRunner> task_runner,
+ scoped_refptr<base::TaskRunner> blocking_task_runner)
: active_user_(NULL),
primary_user_(NULL),
user_loading_stage_(STAGE_NOT_LOADED),
@@ -114,15 +102,15 @@ UserManagerBase::UserManagerBase()
is_current_user_ephemeral_regular_user_(false),
ephemeral_users_enabled_(false),
manager_creation_time_(base::TimeTicks::Now()),
+ task_runner_(task_runner),
+ blocking_task_runner_(blocking_task_runner),
weak_factory_(this) {
- // UserManager instance should be used only on UI thread.
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
UpdateLoginState();
}
UserManagerBase::~UserManagerBase() {
// Can't use STLDeleteElements because of the private destructor of User.
- for (user_manager::UserList::iterator it = users_.begin(); it != users_.end();
+ for (UserList::iterator it = users_.begin(); it != users_.end();
it = users_.erase(it)) {
DeleteUser(*it);
}
@@ -134,19 +122,19 @@ UserManagerBase::~UserManagerBase() {
}
void UserManagerBase::Shutdown() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
}
-const user_manager::UserList& UserManagerBase::GetUsers() const {
+const UserList& UserManagerBase::GetUsers() const {
const_cast<UserManagerBase*>(this)->EnsureUsersLoaded();
return users_;
}
-const user_manager::UserList& UserManagerBase::GetLoggedInUsers() const {
+const UserList& UserManagerBase::GetLoggedInUsers() const {
return logged_in_users_;
}
-const user_manager::UserList& UserManagerBase::GetLRULoggedInUsers() const {
+const UserList& UserManagerBase::GetLRULoggedInUsers() const {
return lru_logged_in_users_;
}
@@ -157,9 +145,9 @@ const std::string& UserManagerBase::GetOwnerEmail() const {
void UserManagerBase::UserLoggedIn(const std::string& user_id,
const std::string& username_hash,
bool browser_restart) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
- user_manager::User* user = FindUserInListAndModify(user_id);
+ User* user = FindUserInListAndModify(user_id);
if (active_user_ && user) {
user->set_is_logged_in(true);
user->set_username_hash(username_hash);
@@ -184,17 +172,15 @@ void UserManagerBase::UserLoggedIn(const std::string& user_id,
} else {
EnsureUsersLoaded();
- if (user && user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) {
+ if (user && user->GetType() == USER_TYPE_PUBLIC_ACCOUNT) {
PublicAccountUserLoggedIn(user);
- } else if ((user &&
- user->GetType() == user_manager::USER_TYPE_SUPERVISED) ||
+ } else if ((user && user->GetType() == USER_TYPE_SUPERVISED) ||
(!user &&
gaia::ExtractDomainName(user_id) ==
chromeos::login::kSupervisedUserDomain)) {
SupervisedUserLoggedIn(user_id);
} else if (browser_restart && IsPublicAccountMarkedForRemoval(user_id)) {
- PublicAccountUserLoggedIn(
- user_manager::User::CreatePublicAccountUser(user_id));
+ PublicAccountUserLoggedIn(User::CreatePublicAccountUser(user_id));
} else if (user_id != GetOwnerEmail() && !user &&
(AreEphemeralUsersEnabled() || browser_restart)) {
RegularUserLoggedInAsEphemeral(user_id);
@@ -214,25 +200,23 @@ void UserManagerBase::UserLoggedIn(const std::string& user_id,
if (!primary_user_) {
primary_user_ = active_user_;
- if (primary_user_->GetType() == user_manager::USER_TYPE_REGULAR)
+ if (primary_user_->GetType() == USER_TYPE_REGULAR)
SendRegularUserLoginMetrics(user_id);
}
- UMA_HISTOGRAM_ENUMERATION("UserManager.LoginUserType",
- active_user_->GetType(),
- user_manager::NUM_USER_TYPES);
+ UMA_HISTOGRAM_ENUMERATION(
+ "UserManager.LoginUserType", active_user_->GetType(), NUM_USER_TYPES);
GetLocalState()->SetString(
kLastLoggedInRegularUser,
- (active_user_->GetType() == user_manager::USER_TYPE_REGULAR) ? user_id
- : "");
+ (active_user_->GetType() == USER_TYPE_REGULAR) ? user_id : "");
NotifyOnLogin();
PerformPostUserLoggedInActions(browser_restart);
}
void UserManagerBase::SwitchActiveUser(const std::string& user_id) {
- user_manager::User* user = FindUserAndModify(user_id);
+ User* user = FindUserAndModify(user_id);
if (!user) {
NOTREACHED() << "Switching to a non-existing user";
return;
@@ -245,7 +229,7 @@ void UserManagerBase::SwitchActiveUser(const std::string& user_id) {
NOTREACHED() << "Switching to a user that is not logged in";
return;
}
- if (user->GetType() != user_manager::USER_TYPE_REGULAR) {
+ if (user->GetType() != USER_TYPE_REGULAR) {
NOTREACHED() << "Switching to a non-regular user";
return;
}
@@ -267,7 +251,7 @@ void UserManagerBase::SwitchActiveUser(const std::string& user_id) {
}
void UserManagerBase::SessionStarted() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
session_started_ = true;
UpdateLoginState();
@@ -282,7 +266,7 @@ void UserManagerBase::SessionStarted() {
void UserManagerBase::RemoveUser(const std::string& user_id,
RemoveUserDelegate* delegate) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (!CanUserBeRemoved(FindUser(user_id)))
return;
@@ -308,7 +292,7 @@ void UserManagerBase::RemoveNonOwnerUserInternal(const std::string& user_email,
}
void UserManagerBase::RemoveUserFromList(const std::string& user_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
RemoveNonCryptohomeData(user_id);
if (user_loading_stage_ == STAGE_LOADED) {
DeleteUser(RemoveRegularOrSupervisedUserFromList(user_id));
@@ -332,54 +316,52 @@ bool UserManagerBase::IsKnownUser(const std::string& user_id) const {
return FindUser(user_id) != NULL;
}
-const user_manager::User* UserManagerBase::FindUser(
- const std::string& user_id) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+const User* UserManagerBase::FindUser(const std::string& user_id) const {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (active_user_ && active_user_->email() == user_id)
return active_user_;
return FindUserInList(user_id);
}
-user_manager::User* UserManagerBase::FindUserAndModify(
- const std::string& user_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+User* UserManagerBase::FindUserAndModify(const std::string& user_id) {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (active_user_ && active_user_->email() == user_id)
return active_user_;
return FindUserInListAndModify(user_id);
}
-const user_manager::User* UserManagerBase::GetLoggedInUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+const User* UserManagerBase::GetLoggedInUser() const {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return active_user_;
}
-user_manager::User* UserManagerBase::GetLoggedInUser() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+User* UserManagerBase::GetLoggedInUser() {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return active_user_;
}
-const user_manager::User* UserManagerBase::GetActiveUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+const User* UserManagerBase::GetActiveUser() const {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return active_user_;
}
-user_manager::User* UserManagerBase::GetActiveUser() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+User* UserManagerBase::GetActiveUser() {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return active_user_;
}
-const user_manager::User* UserManagerBase::GetPrimaryUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+const User* UserManagerBase::GetPrimaryUser() const {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return primary_user_;
}
void UserManagerBase::SaveUserOAuthStatus(
const std::string& user_id,
- user_manager::User::OAuthTokenStatus oauth_token_status) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ User::OAuthTokenStatus oauth_token_status) {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
DVLOG(1) << "Saving user OAuth token status in Local State";
- user_manager::User* user = FindUserAndModify(user_id);
+ User* user = FindUserAndModify(user_id);
if (user)
user->set_oauth_token_status(oauth_token_status);
@@ -397,7 +379,7 @@ void UserManagerBase::SaveUserOAuthStatus(
void UserManagerBase::SaveForceOnlineSignin(const std::string& user_id,
bool force_online_signin) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
// Do not update local state if data stored or cached outside the user's
// cryptohome is to be treated as ephemeral.
@@ -412,9 +394,9 @@ void UserManagerBase::SaveForceOnlineSignin(const std::string& user_id,
void UserManagerBase::SaveUserDisplayName(const std::string& user_id,
const base::string16& display_name) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
- if (user_manager::User* user = FindUserAndModify(user_id)) {
+ if (User* user = FindUserAndModify(user_id)) {
user->set_display_name(display_name);
// Do not update local state if data stored or cached outside the user's
@@ -430,15 +412,15 @@ void UserManagerBase::SaveUserDisplayName(const std::string& user_id,
base::string16 UserManagerBase::GetUserDisplayName(
const std::string& user_id) const {
- const user_manager::User* user = FindUser(user_id);
+ const User* user = FindUser(user_id);
return user ? user->display_name() : base::string16();
}
void UserManagerBase::SaveUserDisplayEmail(const std::string& user_id,
const std::string& display_email) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
- user_manager::User* user = FindUserAndModify(user_id);
+ User* user = FindUserAndModify(user_id);
if (!user)
return; // Ignore if there is no such user.
@@ -456,18 +438,18 @@ void UserManagerBase::SaveUserDisplayEmail(const std::string& user_id,
std::string UserManagerBase::GetUserDisplayEmail(
const std::string& user_id) const {
- const user_manager::User* user = FindUser(user_id);
+ const User* user = FindUser(user_id);
return user ? user->display_email() : user_id;
}
void UserManagerBase::UpdateUserAccountData(
const std::string& user_id,
const UserAccountData& account_data) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
SaveUserDisplayName(user_id, account_data.display_name());
- if (user_manager::User* user = FindUserAndModify(user_id)) {
+ if (User* user = FindUserAndModify(user_id)) {
base::string16 given_name = account_data.given_name();
user->set_given_name(given_name);
if (!IsUserNonCryptohomeDataEphemeral(user_id)) {
@@ -503,13 +485,13 @@ void UserManagerBase::ParseUserList(const base::ListValue& users_list,
}
bool UserManagerBase::IsCurrentUserOwner() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
base::AutoLock lk(is_current_user_owner_lock_);
return is_current_user_owner_;
}
void UserManagerBase::SetCurrentUserIsOwner(bool is_current_user_owner) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
{
base::AutoLock lk(is_current_user_owner_lock_);
is_current_user_owner_ = is_current_user_owner;
@@ -518,69 +500,65 @@ void UserManagerBase::SetCurrentUserIsOwner(bool is_current_user_owner) {
}
bool UserManagerBase::IsCurrentUserNew() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return is_current_user_new_;
}
bool UserManagerBase::IsCurrentUserNonCryptohomeDataEphemeral() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return IsUserLoggedIn() &&
IsUserNonCryptohomeDataEphemeral(GetLoggedInUser()->email());
}
bool UserManagerBase::CanCurrentUserLock() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return IsUserLoggedIn() && active_user_->can_lock();
}
bool UserManagerBase::IsUserLoggedIn() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return active_user_;
}
bool UserManagerBase::IsLoggedInAsRegularUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_REGULAR;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_REGULAR;
}
bool UserManagerBase::IsLoggedInAsDemoUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_RETAIL_MODE;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_RETAIL_MODE;
}
bool UserManagerBase::IsLoggedInAsPublicAccount() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT;
+ active_user_->GetType() == USER_TYPE_PUBLIC_ACCOUNT;
}
bool UserManagerBase::IsLoggedInAsGuest() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_GUEST;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_GUEST;
}
bool UserManagerBase::IsLoggedInAsSupervisedUser() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_SUPERVISED;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_SUPERVISED;
}
bool UserManagerBase::IsLoggedInAsKioskApp() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() &&
- active_user_->GetType() == user_manager::USER_TYPE_KIOSK_APP;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_KIOSK_APP;
}
bool UserManagerBase::IsLoggedInAsStub() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return IsUserLoggedIn() && active_user_->email() == login::kStubUser;
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ return IsUserLoggedIn() &&
+ active_user_->email() == chromeos::login::kStubUser;
}
bool UserManagerBase::IsSessionStarted() const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
return session_started_;
}
@@ -588,8 +566,9 @@ bool UserManagerBase::IsUserNonCryptohomeDataEphemeral(
const std::string& user_id) const {
// Data belonging to the guest, retail mode and stub users is always
// ephemeral.
- if (user_id == login::kGuestUserName ||
- user_id == login::kRetailModeUserName || user_id == login::kStubUser) {
+ if (user_id == chromeos::login::kGuestUserName ||
+ user_id == chromeos::login::kRetailModeUserName ||
+ user_id == chromeos::login::kStubUser) {
return true;
}
@@ -620,37 +599,37 @@ bool UserManagerBase::IsUserNonCryptohomeDataEphemeral(
}
void UserManagerBase::AddObserver(UserManager::Observer* obs) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
observer_list_.AddObserver(obs);
}
void UserManagerBase::RemoveObserver(UserManager::Observer* obs) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
observer_list_.RemoveObserver(obs);
}
void UserManagerBase::AddSessionStateObserver(
UserManager::UserSessionStateObserver* obs) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
session_state_observer_list_.AddObserver(obs);
}
void UserManagerBase::RemoveSessionStateObserver(
UserManager::UserSessionStateObserver* obs) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
session_state_observer_list_.RemoveObserver(obs);
}
void UserManagerBase::NotifyLocalStateChanged() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
FOR_EACH_OBSERVER(
UserManager::Observer, observer_list_, LocalStateChanged(this));
}
-bool UserManagerBase::CanUserBeRemoved(const user_manager::User* user) const {
+bool UserManagerBase::CanUserBeRemoved(const User* user) const {
// Only regular and supervised users are allowed to be manually removed.
- if (!user || (user->GetType() != user_manager::USER_TYPE_REGULAR &&
- user->GetType() != user_manager::USER_TYPE_SUPERVISED)) {
+ if (!user || (user->GetType() != USER_TYPE_REGULAR &&
+ user->GetType() != USER_TYPE_SUPERVISED)) {
return false;
}
@@ -664,7 +643,7 @@ bool UserManagerBase::CanUserBeRemoved(const user_manager::User* user) const {
return false;
// Sanity check: do not allow any of the the logged in users to be removed.
- for (user_manager::UserList::const_iterator it = logged_in_users_.begin();
+ for (UserList::const_iterator it = logged_in_users_.begin();
it != logged_in_users_.end();
++it) {
if ((*it)->email() == user->email())
@@ -699,7 +678,7 @@ void UserManagerBase::SetPendingUserSwitchID(std::string user_id) {
}
void UserManagerBase::EnsureUsersLoaded() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (!GetLocalState())
return;
@@ -734,12 +713,12 @@ void UserManagerBase::EnsureUsersLoaded() {
for (std::vector<std::string>::const_iterator it = regular_users.begin();
it != regular_users.end();
++it) {
- user_manager::User* user = NULL;
+ User* user = NULL;
const std::string domain = gaia::ExtractDomainName(*it);
if (domain == chromeos::login::kSupervisedUserDomain)
- user = user_manager::User::CreateSupervisedUser(*it);
+ user = User::CreateSupervisedUser(*it);
else
- user = user_manager::User::CreateRegularUser(*it);
+ user = User::CreateRegularUser(*it);
user->set_oauth_token_status(LoadUserOAuthStatus(*it));
user->set_force_online_signin(LoadForceOnlineSignin(*it));
users_.push_back(user);
@@ -767,17 +746,14 @@ void UserManagerBase::EnsureUsersLoaded() {
PerformPostUserListLoadingActions();
}
-user_manager::UserList& UserManagerBase::GetUsersAndModify() {
+UserList& UserManagerBase::GetUsersAndModify() {
EnsureUsersLoaded();
return users_;
}
-const user_manager::User* UserManagerBase::FindUserInList(
- const std::string& user_id) const {
- const user_manager::UserList& users = GetUsers();
- for (user_manager::UserList::const_iterator it = users.begin();
- it != users.end();
- ++it) {
+const User* UserManagerBase::FindUserInList(const std::string& user_id) const {
+ const UserList& users = GetUsers();
+ for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) {
if ((*it)->email() == user_id)
return *it;
}
@@ -794,11 +770,9 @@ const bool UserManagerBase::UserExistsInList(const std::string& user_id) const {
return false;
}
-user_manager::User* UserManagerBase::FindUserInListAndModify(
- const std::string& user_id) {
- user_manager::UserList& users = GetUsersAndModify();
- for (user_manager::UserList::iterator it = users.begin(); it != users.end();
- ++it) {
+User* UserManagerBase::FindUserInListAndModify(const std::string& user_id) {
+ UserList& users = GetUsersAndModify();
+ for (UserList::iterator it = users.begin(); it != users.end(); ++it) {
if ((*it)->email() == user_id)
return *it;
}
@@ -806,11 +780,11 @@ user_manager::User* UserManagerBase::FindUserInListAndModify(
}
void UserManagerBase::GuestUserLoggedIn() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- active_user_ = user_manager::User::CreateGuestUser();
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ active_user_ = User::CreateGuestUser();
}
-void UserManagerBase::AddUserRecord(user_manager::User* user) {
+void UserManagerBase::AddUserRecord(User* user) {
// Add the user to the front of the user list.
ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
prefs_users_update->Insert(0, new base::StringValue(user->email()));
@@ -824,7 +798,7 @@ void UserManagerBase::RegularUserLoggedIn(const std::string& user_id) {
// If the user was not found on the user list, create a new user.
SetIsCurrentUserNew(!active_user_);
if (IsCurrentUserNew()) {
- active_user_ = user_manager::User::CreateRegularUser(user_id);
+ active_user_ = User::CreateRegularUser(user_id);
active_user_->set_oauth_token_status(LoadUserOAuthStatus(user_id));
SaveUserDisplayName(active_user_->email(),
base::UTF8ToUTF16(active_user_->GetAccountName(true)));
@@ -838,41 +812,41 @@ void UserManagerBase::RegularUserLoggedIn(const std::string& user_id) {
void UserManagerBase::RegularUserLoggedInAsEphemeral(
const std::string& user_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
SetIsCurrentUserNew(true);
is_current_user_ephemeral_regular_user_ = true;
- active_user_ = user_manager::User::CreateRegularUser(user_id);
+ active_user_ = User::CreateRegularUser(user_id);
}
void UserManagerBase::NotifyOnLogin() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
NotifyActiveUserHashChanged(active_user_->username_hash());
NotifyActiveUserChanged(active_user_);
UpdateLoginState();
}
-user_manager::User::OAuthTokenStatus UserManagerBase::LoadUserOAuthStatus(
+User::OAuthTokenStatus UserManagerBase::LoadUserOAuthStatus(
const std::string& user_id) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
const base::DictionaryValue* prefs_oauth_status =
GetLocalState()->GetDictionary(kUserOAuthTokenStatus);
- int oauth_token_status = user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN;
+ int oauth_token_status = User::OAUTH_TOKEN_STATUS_UNKNOWN;
if (prefs_oauth_status &&
prefs_oauth_status->GetIntegerWithoutPathExpansion(user_id,
&oauth_token_status)) {
- user_manager::User::OAuthTokenStatus result =
- static_cast<user_manager::User::OAuthTokenStatus>(oauth_token_status);
- if (result == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID)
- GetUserFlow(user_id)->HandleOAuthTokenStatusChange(result);
- return result;
+ User::OAuthTokenStatus status =
+ static_cast<User::OAuthTokenStatus>(oauth_token_status);
+ HandleUserOAuthTokenStatusChange(user_id, status);
+
+ return status;
}
- return user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN;
+ return User::OAUTH_TOKEN_STATUS_UNKNOWN;
}
bool UserManagerBase::LoadForceOnlineSignin(const std::string& user_id) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
const base::DictionaryValue* prefs_force_online =
GetLocalState()->GetDictionary(kUserForceOnlineSignin);
@@ -902,20 +876,19 @@ void UserManagerBase::RemoveNonCryptohomeData(const std::string& user_id) {
prefs_force_online_update->RemoveWithoutPathExpansion(user_id, NULL);
}
-user_manager::User* UserManagerBase::RemoveRegularOrSupervisedUserFromList(
+User* UserManagerBase::RemoveRegularOrSupervisedUserFromList(
const std::string& user_id) {
ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
prefs_users_update->Clear();
- user_manager::User* user = NULL;
- for (user_manager::UserList::iterator it = users_.begin();
- it != users_.end();) {
+ User* user = NULL;
+ for (UserList::iterator it = users_.begin(); it != users_.end();) {
const std::string user_email = (*it)->email();
if (user_email == user_id) {
user = *it;
it = users_.erase(it);
} else {
- if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR ||
- (*it)->GetType() == user_manager::USER_TYPE_SUPERVISED) {
+ if ((*it)->GetType() == USER_TYPE_REGULAR ||
+ (*it)->GetType() == USER_TYPE_SUPERVISED) {
prefs_users_update->Append(new base::StringValue(user_email));
}
++it;
@@ -924,66 +897,65 @@ user_manager::User* UserManagerBase::RemoveRegularOrSupervisedUserFromList(
return user;
}
-void UserManagerBase::NotifyActiveUserChanged(
- const user_manager::User* active_user) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+void UserManagerBase::NotifyActiveUserChanged(const User* active_user) {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver,
session_state_observer_list_,
ActiveUserChanged(active_user));
}
-void UserManagerBase::NotifyUserAddedToSession(
- const user_manager::User* added_user,
- bool user_switch_pending) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+void UserManagerBase::NotifyUserAddedToSession(const User* added_user,
+ bool user_switch_pending) {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver,
session_state_observer_list_,
UserAddedToSession(added_user));
}
void UserManagerBase::NotifyActiveUserHashChanged(const std::string& hash) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver,
session_state_observer_list_,
ActiveUserHashChanged(hash));
}
void UserManagerBase::UpdateLoginState() {
- if (!LoginState::IsInitialized())
+ if (!chromeos::LoginState::IsInitialized())
return; // LoginState may not be intialized in tests.
- LoginState::LoggedInState logged_in_state;
- logged_in_state =
- active_user_ ? LoginState::LOGGED_IN_ACTIVE : LoginState::LOGGED_IN_NONE;
+ chromeos::LoginState::LoggedInState logged_in_state;
+ logged_in_state = active_user_ ? chromeos::LoginState::LOGGED_IN_ACTIVE
+ : chromeos::LoginState::LOGGED_IN_NONE;
- LoginState::LoggedInUserType login_user_type;
- if (logged_in_state == LoginState::LOGGED_IN_NONE)
- login_user_type = LoginState::LOGGED_IN_USER_NONE;
+ chromeos::LoginState::LoggedInUserType login_user_type;
+ if (logged_in_state == chromeos::LoginState::LOGGED_IN_NONE)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_NONE;
else if (is_current_user_owner_)
- login_user_type = LoginState::LOGGED_IN_USER_OWNER;
- else if (active_user_->GetType() == user_manager::USER_TYPE_GUEST)
- login_user_type = LoginState::LOGGED_IN_USER_GUEST;
- else if (active_user_->GetType() == user_manager::USER_TYPE_RETAIL_MODE)
- login_user_type = LoginState::LOGGED_IN_USER_RETAIL_MODE;
- else if (active_user_->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT)
- login_user_type = LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT;
- else if (active_user_->GetType() == user_manager::USER_TYPE_SUPERVISED)
- login_user_type = LoginState::LOGGED_IN_USER_SUPERVISED;
- else if (active_user_->GetType() == user_manager::USER_TYPE_KIOSK_APP)
- login_user_type = LoginState::LOGGED_IN_USER_KIOSK_APP;
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_OWNER;
+ else if (active_user_->GetType() == USER_TYPE_GUEST)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_GUEST;
+ else if (active_user_->GetType() == USER_TYPE_RETAIL_MODE)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_RETAIL_MODE;
+ else if (active_user_->GetType() == USER_TYPE_PUBLIC_ACCOUNT)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT;
+ else if (active_user_->GetType() == USER_TYPE_SUPERVISED)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_SUPERVISED;
+ else if (active_user_->GetType() == USER_TYPE_KIOSK_APP)
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_KIOSK_APP;
else
- login_user_type = LoginState::LOGGED_IN_USER_REGULAR;
+ login_user_type = chromeos::LoginState::LOGGED_IN_USER_REGULAR;
if (primary_user_) {
- LoginState::Get()->SetLoggedInStateAndPrimaryUser(
+ chromeos::LoginState::Get()->SetLoggedInStateAndPrimaryUser(
logged_in_state, login_user_type, primary_user_->username_hash());
} else {
- LoginState::Get()->SetLoggedInState(logged_in_state, login_user_type);
+ chromeos::LoginState::Get()->SetLoggedInState(logged_in_state,
+ login_user_type);
}
}
-void UserManagerBase::SetLRUUser(user_manager::User* user) {
- user_manager::UserList::iterator it =
+void UserManagerBase::SetLRUUser(User* user) {
+ UserList::iterator it =
std::find(lru_logged_in_users_.begin(), lru_logged_in_users_.end(), user);
if (it != lru_logged_in_users_.end())
lru_logged_in_users_.erase(it);
@@ -994,7 +966,7 @@ void UserManagerBase::SendRegularUserLoginMetrics(const std::string& user_id) {
// If this isn't the first time Chrome was run after the system booted,
// assume that Chrome was restarted because a previous session ended.
if (!CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kFirstExecAfterBoot)) {
+ chromeos::switches::kFirstExecAfterBoot)) {
const std::string last_email =
GetLocalState()->GetString(kLastLoggedInRegularUser);
const base::TimeDelta time_to_login =
@@ -1017,27 +989,38 @@ void UserManagerBase::UpdateUserAccountLocale(const std::string& user_id,
base::Bind(&UserManagerBase::DoUpdateAccountLocale,
weak_factory_.GetWeakPtr(),
user_id);
- BrowserThread::PostBlockingPoolTask(FROM_HERE,
- base::Bind(ResolveLocale,
- locale,
- on_resolve_callback));
+ blocking_task_runner_->PostTask(FROM_HERE,
+ base::Bind(&UserManagerBase::ResolveLocale,
+ weak_factory_.GetWeakPtr(),
+ locale,
+ on_resolve_callback));
} else {
DoUpdateAccountLocale(user_id, locale);
}
}
+void UserManagerBase::ResolveLocale(
+ const std::string& raw_locale,
+ base::Callback<void(const std::string&)> on_resolve_callback) {
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
+ std::string resolved_locale;
+ ignore_result(l10n_util::CheckAndResolveLocale(raw_locale, &resolved_locale));
+ task_runner_->PostTask(FROM_HERE,
+ base::Bind(on_resolve_callback, resolved_locale));
+}
+
void UserManagerBase::DoUpdateAccountLocale(
const std::string& user_id,
const std::string& resolved_locale) {
- if (user_manager::User* user = FindUserAndModify(user_id))
+ if (User* user = FindUserAndModify(user_id))
user->SetAccountLocale(resolved_locale);
}
-void UserManagerBase::DeleteUser(user_manager::User* user) {
+void UserManagerBase::DeleteUser(User* user) {
const bool is_active_user = (user == active_user_);
delete user;
if (is_active_user)
active_user_ = NULL;
}
-} // namespace chromeos
+} // namespace user_manager
diff --git a/chrome/browser/chromeos/login/users/user_manager_base.h b/components/user_manager/user_manager_base.h
index 5fcea54..e7651cb 100644
--- a/chrome/browser/chromeos/login/users/user_manager_base.h
+++ b/components/user_manager/user_manager_base.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_BASE_H_
-#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_BASE_H_
+#ifndef COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
+#define COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
#include <set>
#include <string>
@@ -14,19 +14,27 @@
#include "base/observer_list.h"
#include "base/synchronization/lock.h"
#include "base/time/time.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
+#include "components/user_manager/user_manager_export.h"
class PrefService;
class PrefRegistrySimple;
-namespace chromeos {
+namespace base {
+class ListValue;
+class TaskRunner;
+}
+
+namespace user_manager {
class RemoveUserDelegate;
// Base implementation of the UserManager interface.
-class UserManagerBase : public UserManager {
+class USER_MANAGER_EXPORT UserManagerBase : public UserManager {
public:
+ UserManagerBase(scoped_refptr<base::TaskRunner> task_runner,
+ scoped_refptr<base::TaskRunner> blocking_task_runner);
virtual ~UserManagerBase();
// Registers UserManagerBase preferences.
@@ -34,9 +42,9 @@ class UserManagerBase : public UserManager {
// UserManager implementation:
virtual void Shutdown() OVERRIDE;
- virtual const user_manager::UserList& GetUsers() const OVERRIDE;
- virtual const user_manager::UserList& GetLoggedInUsers() const OVERRIDE;
- virtual const user_manager::UserList& GetLRULoggedInUsers() const OVERRIDE;
+ virtual const UserList& GetUsers() const OVERRIDE;
+ virtual const UserList& GetLoggedInUsers() const OVERRIDE;
+ virtual const UserList& GetLRULoggedInUsers() const OVERRIDE;
virtual const std::string& GetOwnerEmail() const OVERRIDE;
virtual void UserLoggedIn(const std::string& user_id,
const std::string& user_id_hash,
@@ -47,18 +55,16 @@ class UserManagerBase : public UserManager {
RemoveUserDelegate* delegate) OVERRIDE;
virtual void RemoveUserFromList(const std::string& user_id) OVERRIDE;
virtual bool IsKnownUser(const std::string& user_id) const OVERRIDE;
- virtual const user_manager::User* FindUser(
- const std::string& user_id) const OVERRIDE;
- virtual user_manager::User* FindUserAndModify(
- const std::string& user_id) OVERRIDE;
- virtual const user_manager::User* GetLoggedInUser() const OVERRIDE;
- virtual user_manager::User* GetLoggedInUser() OVERRIDE;
- virtual const user_manager::User* GetActiveUser() const OVERRIDE;
- virtual user_manager::User* GetActiveUser() OVERRIDE;
- virtual const user_manager::User* GetPrimaryUser() const OVERRIDE;
+ virtual const User* FindUser(const std::string& user_id) const OVERRIDE;
+ virtual User* FindUserAndModify(const std::string& user_id) OVERRIDE;
+ virtual const User* GetLoggedInUser() const OVERRIDE;
+ virtual User* GetLoggedInUser() OVERRIDE;
+ virtual const User* GetActiveUser() const OVERRIDE;
+ virtual User* GetActiveUser() OVERRIDE;
+ virtual const User* GetPrimaryUser() const OVERRIDE;
virtual void SaveUserOAuthStatus(
const std::string& user_id,
- user_manager::User::OAuthTokenStatus oauth_token_status) OVERRIDE;
+ User::OAuthTokenStatus oauth_token_status) OVERRIDE;
virtual void SaveForceOnlineSignin(const std::string& user_id,
bool force_online_signin) OVERRIDE;
virtual void SaveUserDisplayName(const std::string& user_id,
@@ -108,18 +114,18 @@ class UserManagerBase : public UserManager {
// Adds |user| to users list, and adds it to front of LRU list. It is assumed
// that there is no user with same id.
- virtual void AddUserRecord(user_manager::User* user);
+ virtual void AddUserRecord(User* user);
// Returns true if trusted device policies have successfully been retrieved
// and ephemeral users are enabled.
virtual bool AreEphemeralUsersEnabled() const = 0;
// Returns true if user may be removed.
- virtual bool CanUserBeRemoved(const user_manager::User* user) const;
+ virtual bool CanUserBeRemoved(const User* user) const;
// A wrapper around C++ delete operator. Deletes |user|, and when |user|
// equals to active_user_, active_user_ is reset to NULL.
- virtual void DeleteUser(user_manager::User* user);
+ virtual void DeleteUser(User* user);
// Returns the locale used by the application.
virtual const std::string& GetApplicationLocale() const = 0;
@@ -131,6 +137,11 @@ class UserManagerBase : public UserManager {
// Subsequent calls have no effect. Must be called on the UI thread.
void EnsureUsersLoaded();
+ // Handle OAuth token |status| change for |user_id|.
+ virtual void HandleUserOAuthTokenStatusChange(
+ const std::string& user_id,
+ User::OAuthTokenStatus status) const = 0;
+
// Returns true if device is enterprise managed.
virtual bool IsEnterpriseManaged() const = 0;
@@ -148,7 +159,7 @@ class UserManagerBase : public UserManager {
// Notifies observers that another user was added to the session.
// If |user_switch_pending| is true this means that user has not been fully
// initialized yet like waiting for profile to be loaded.
- virtual void NotifyUserAddedToSession(const user_manager::User* added_user,
+ virtual void NotifyUserAddedToSession(const User* added_user,
bool user_switch_pending);
// Performs any additional actions before user list is loaded.
@@ -171,8 +182,7 @@ class UserManagerBase : public UserManager {
// Removes a regular or supervised user from the user list.
// Returns the user if found or NULL otherwise.
// Also removes the user from the persistent user list.
- user_manager::User* RemoveRegularOrSupervisedUserFromList(
- const std::string& user_id);
+ User* RemoveRegularOrSupervisedUserFromList(const std::string& user_id);
// Implementation for RemoveUser method. This is an asynchronous part of the
// method, that verifies that owner will not get deleted, and calls
@@ -209,7 +219,7 @@ class UserManagerBase : public UserManager {
virtual void KioskAppLoggedIn(const std::string& app_id) = 0;
// Indicates that a user just logged into a public session.
- virtual void PublicAccountUserLoggedIn(user_manager::User* user) = 0;
+ virtual void PublicAccountUserLoggedIn(User* user) = 0;
// Indicates that a regular user just logged in.
virtual void RegularUserLoggedIn(const std::string& user_id);
@@ -241,16 +251,16 @@ class UserManagerBase : public UserManager {
// NULL until a user has logged in, then points to one
// of the User instances in |users_|, the |guest_user_| instance or an
// ephemeral user instance.
- user_manager::User* active_user_;
+ User* active_user_;
// The primary user of the current session. It is recorded for the first
// signed-in user and does not change thereafter.
- user_manager::User* primary_user_;
+ User* primary_user_;
// List of all known users. User instances are owned by |this|. Regular users
// are removed by |RemoveUserFromList|, public accounts by
// |UpdateAndCleanUpPublicAccounts|.
- user_manager::UserList users_;
+ UserList users_;
private:
// Stages of loading user list from preferences. Some methods can have
@@ -259,22 +269,21 @@ class UserManagerBase : public UserManager {
// Returns a list of users who have logged into this device previously.
// Same as GetUsers but used if you need to modify User from that list.
- user_manager::UserList& GetUsersAndModify();
+ UserList& GetUsersAndModify();
// Returns the user with the given email address if found in the persistent
// list. Returns |NULL| otherwise.
- const user_manager::User* FindUserInList(const std::string& user_id) const;
+ const User* FindUserInList(const std::string& user_id) const;
// Returns |true| if user with the given id is found in the persistent list.
// Returns |false| otherwise. Does not trigger user loading.
const bool UserExistsInList(const std::string& user_id) const;
// Same as FindUserInList but returns non-const pointer to User object.
- user_manager::User* FindUserInListAndModify(const std::string& user_id);
+ User* FindUserInListAndModify(const std::string& user_id);
// Reads user's oauth token status from local state preferences.
- user_manager::User::OAuthTokenStatus LoadUserOAuthStatus(
- const std::string& user_id) const;
+ User::OAuthTokenStatus LoadUserOAuthStatus(const std::string& user_id) const;
// Read a flag indicating whether online authentication against GAIA should
// be enforced during the user's next sign-in from local state preferences.
@@ -284,7 +293,7 @@ class UserManagerBase : public UserManager {
void NotifyMergeSessionStateChanged();
// Notifies observers that active user has changed.
- void NotifyActiveUserChanged(const user_manager::User* active_user);
+ void NotifyActiveUserChanged(const User* active_user);
// Notifies observers that active user_id hash has changed.
void NotifyActiveUserHashChanged(const std::string& hash);
@@ -293,7 +302,7 @@ class UserManagerBase : public UserManager {
void UpdateLoginState();
// Insert |user| at the front of the LRU user list.
- void SetLRUUser(user_manager::User* user);
+ void SetLRUUser(User* user);
// Sends metrics in response to a regular user logging in.
void SendRegularUserLoginMetrics(const std::string& user_id);
@@ -302,6 +311,12 @@ class UserManagerBase : public UserManager {
virtual void UpdateUserAccountLocale(const std::string& user_id,
const std::string& locale);
+ // Runs on SequencedWorkerPool thread. Passes resolved locale to
+ // |on_resolve_callback| on UI thread.
+ void ResolveLocale(
+ const std::string& raw_locale,
+ base::Callback<void(const std::string&)> on_resolve_callback);
+
// Updates user account after locale was resolved.
void DoUpdateAccountLocale(const std::string& user_id,
const std::string& resolved_locale);
@@ -311,12 +326,12 @@ class UserManagerBase : public UserManager {
// List of all users that are logged in current session. These point to User
// instances in |users_|. Only one of them could be marked as active.
- user_manager::UserList logged_in_users_;
+ UserList logged_in_users_;
// A list of all users that are logged in the current session. In contrast to
// |logged_in_users|, the order of this list is least recently used so that
// the active user should always be the first one in the list.
- user_manager::UserList lru_logged_in_users_;
+ UserList lru_logged_in_users_;
// True if SessionStarted() has been called.
bool session_started_;
@@ -359,11 +374,14 @@ class UserManagerBase : public UserManager {
// as soon as user's profile is loaded.
std::string pending_user_switch_;
+ scoped_refptr<base::TaskRunner> task_runner_;
+ scoped_refptr<base::TaskRunner> blocking_task_runner_;
+
base::WeakPtrFactory<UserManagerBase> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(UserManagerBase);
};
-} // namespace chromeos
+} // namespace user_manager
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_BASE_H_
+#endif // COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
diff --git a/extensions/shell/browser/shell_browser_main_parts.cc b/extensions/shell/browser/shell_browser_main_parts.cc
index 3a33566..4ab9360 100644
--- a/extensions/shell/browser/shell_browser_main_parts.cc
+++ b/extensions/shell/browser/shell_browser_main_parts.cc
@@ -92,7 +92,7 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() {
desktop_controller_->CreateRootWindow();
// NOTE: Much of this is culled from chrome/test/base/chrome_test_suite.cc
- // TODO(jamescook): Initialize chromeos::UserManager.
+ // TODO(jamescook): Initialize user_manager::UserManager.
net_log_.reset(new content::ShellNetLog("app_shell"));
extensions_client_.reset(new ShellExtensionsClient());