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

Side by Side Diff: chrome/browser/chromeos/login/ui/login_display_host_impl.cc

Issue 444903002: [cros] user_manager component - move UserManagerBase and UserManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 5 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/audio/sounds.h" 9 #include "ash/audio/sounds.h"
10 #include "ash/desktop_background/desktop_background_controller.h" 10 #include "ash/desktop_background/desktop_background_controller.h"
(...skipping 28 matching lines...) Expand all
39 #include "chrome/browser/chromeos/login/helper.h" 39 #include "chrome/browser/chromeos/login/helper.h"
40 #include "chrome/browser/chromeos/login/login_utils.h" 40 #include "chrome/browser/chromeos/login/login_utils.h"
41 #include "chrome/browser/chromeos/login/login_wizard.h" 41 #include "chrome/browser/chromeos/login/login_wizard.h"
42 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" 42 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h"
43 #include "chrome/browser/chromeos/login/startup_utils.h" 43 #include "chrome/browser/chromeos/login/startup_utils.h"
44 #include "chrome/browser/chromeos/login/ui/input_events_blocker.h" 44 #include "chrome/browser/chromeos/login/ui/input_events_blocker.h"
45 #include "chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h" 45 #include "chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h"
46 #include "chrome/browser/chromeos/login/ui/oobe_display.h" 46 #include "chrome/browser/chromeos/login/ui/oobe_display.h"
47 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" 47 #include "chrome/browser/chromeos/login/ui/webui_login_display.h"
48 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" 48 #include "chrome/browser/chromeos/login/ui/webui_login_view.h"
49 #include "chrome/browser/chromeos/login/users/user_manager.h"
50 #include "chrome/browser/chromeos/login/wizard_controller.h" 49 #include "chrome/browser/chromeos/login/wizard_controller.h"
51 #include "chrome/browser/chromeos/mobile_config.h" 50 #include "chrome/browser/chromeos/mobile_config.h"
52 #include "chrome/browser/chromeos/net/delay_network_call.h" 51 #include "chrome/browser/chromeos/net/delay_network_call.h"
53 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h" 52 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
54 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 53 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
55 #include "chrome/browser/chromeos/system/input_device_settings.h" 54 #include "chrome/browser/chromeos/system/input_device_settings.h"
56 #include "chrome/browser/chromeos/ui/focus_ring_controller.h" 55 #include "chrome/browser/chromeos/ui/focus_ring_controller.h"
57 #include "chrome/browser/lifetime/application_lifetime.h" 56 #include "chrome/browser/lifetime/application_lifetime.h"
58 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 57 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
59 #include "chrome/common/chrome_constants.h" 58 #include "chrome/common/chrome_constants.h"
60 #include "chrome/common/chrome_switches.h" 59 #include "chrome/common/chrome_switches.h"
61 #include "chrome/common/pref_names.h" 60 #include "chrome/common/pref_names.h"
62 #include "chrome/grit/browser_resources.h" 61 #include "chrome/grit/browser_resources.h"
63 #include "chromeos/audio/chromeos_sounds.h" 62 #include "chromeos/audio/chromeos_sounds.h"
64 #include "chromeos/chromeos_constants.h" 63 #include "chromeos/chromeos_constants.h"
65 #include "chromeos/chromeos_switches.h" 64 #include "chromeos/chromeos_switches.h"
66 #include "chromeos/dbus/dbus_thread_manager.h" 65 #include "chromeos/dbus/dbus_thread_manager.h"
67 #include "chromeos/dbus/session_manager_client.h" 66 #include "chromeos/dbus/session_manager_client.h"
68 #include "chromeos/ime/extension_ime_util.h" 67 #include "chromeos/ime/extension_ime_util.h"
69 #include "chromeos/ime/input_method_manager.h" 68 #include "chromeos/ime/input_method_manager.h"
70 #include "chromeos/login/login_state.h" 69 #include "chromeos/login/login_state.h"
71 #include "chromeos/settings/timezone_settings.h" 70 #include "chromeos/settings/timezone_settings.h"
72 #include "components/session_manager/core/session_manager.h" 71 #include "components/session_manager/core/session_manager.h"
72 #include "components/user_manager/user_manager.h"
73 #include "content/public/browser/notification_service.h" 73 #include "content/public/browser/notification_service.h"
74 #include "content/public/browser/notification_types.h" 74 #include "content/public/browser/notification_types.h"
75 #include "content/public/browser/web_contents.h" 75 #include "content/public/browser/web_contents.h"
76 #include "content/public/browser/web_ui.h" 76 #include "content/public/browser/web_ui.h"
77 #include "media/audio/sounds/sounds_manager.h" 77 #include "media/audio/sounds/sounds_manager.h"
78 #include "ui/aura/window.h" 78 #include "ui/aura/window.h"
79 #include "ui/base/resource/resource_bundle.h" 79 #include "ui/base/resource/resource_bundle.h"
80 #include "ui/base/ui_base_switches_util.h" 80 #include "ui/base/ui_base_switches_util.h"
81 #include "ui/compositor/layer.h" 81 #include "ui/compositor/layer.h"
82 #include "ui/compositor/layer_animation_observer.h" 82 #include "ui/compositor/layer_animation_observer.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 ResetKeyboardOverscrollOverride(); 401 ResetKeyboardOverscrollOverride();
402 402
403 views::FocusManager::set_arrow_key_traversal_enabled(false); 403 views::FocusManager::set_arrow_key_traversal_enabled(false);
404 ResetLoginWindowAndView(); 404 ResetLoginWindowAndView();
405 405
406 // Let chrome process exit after login/oobe screen if needed. 406 // Let chrome process exit after login/oobe screen if needed.
407 chrome::DecrementKeepAliveCount(); 407 chrome::DecrementKeepAliveCount();
408 408
409 default_host_ = NULL; 409 default_host_ = NULL;
410 // TODO(tengs): This should be refactored. See crbug.com/314934. 410 // TODO(tengs): This should be refactored. See crbug.com/314934.
411 if (UserManager::Get()->IsCurrentUserNew()) { 411 if (user_manager::UserManager::Get()->IsCurrentUserNew()) {
412 // DriveOptInController will delete itself when finished. 412 // DriveOptInController will delete itself when finished.
413 (new DriveFirstRunController( 413 (new DriveFirstRunController(
414 ProfileManager::GetActiveUserProfile()))->EnableOfflineMode(); 414 ProfileManager::GetActiveUserProfile()))->EnableOfflineMode();
415 } 415 }
416 } 416 }
417 417
418 //////////////////////////////////////////////////////////////////////////////// 418 ////////////////////////////////////////////////////////////////////////////////
419 // LoginDisplayHostImpl, LoginDisplayHost implementation: 419 // LoginDisplayHostImpl, LoginDisplayHost implementation:
420 420
421 LoginDisplay* LoginDisplayHostImpl::CreateLoginDisplay( 421 LoginDisplay* LoginDisplayHostImpl::CreateLoginDisplay(
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 lock_container->layer()->SetOpacity(1.0); 561 lock_container->layer()->SetOpacity(1.0);
562 562
563 ash::Shell::GetInstance()-> 563 ash::Shell::GetInstance()->
564 desktop_background_controller()->MoveDesktopToLockedContainer(); 564 desktop_background_controller()->MoveDesktopToLockedContainer();
565 565
566 sign_in_controller_.reset(); // Only one controller in a time. 566 sign_in_controller_.reset(); // Only one controller in a time.
567 sign_in_controller_.reset(new chromeos::ExistingUserController(this)); 567 sign_in_controller_.reset(new chromeos::ExistingUserController(this));
568 SetOobeProgressBarVisible(oobe_progress_bar_visible_ = false); 568 SetOobeProgressBarVisible(oobe_progress_bar_visible_ = false);
569 SetStatusAreaVisible(true); 569 SetStatusAreaVisible(true);
570 sign_in_controller_->Init( 570 sign_in_controller_->Init(
571 chromeos::UserManager::Get()->GetUsersAdmittedForMultiProfile()); 571 user_manager::UserManager::Get()->GetUsersAdmittedForMultiProfile());
572 CHECK(webui_login_display_); 572 CHECK(webui_login_display_);
573 GetOobeUI()->ShowSigninScreen(LoginScreenContext(), 573 GetOobeUI()->ShowSigninScreen(LoginScreenContext(),
574 webui_login_display_, 574 webui_login_display_,
575 webui_login_display_); 575 webui_login_display_);
576 } 576 }
577 577
578 void LoginDisplayHostImpl::StartSignInScreen( 578 void LoginDisplayHostImpl::StartSignInScreen(
579 const LoginScreenContext& context) { 579 const LoginScreenContext& context) {
580 if (login::LoginScrollIntoViewEnabled()) 580 if (login::LoginScrollIntoViewEnabled())
581 DisableKeyboardOverscroll(); 581 DisableKeyboardOverscroll();
(...skipping 16 matching lines...) Expand all
598 if (!login_window_) { 598 if (!login_window_) {
599 TRACE_EVENT_ASYNC_BEGIN0("ui", "ShowLoginWebUI", kShowLoginWebUIid); 599 TRACE_EVENT_ASYNC_BEGIN0("ui", "ShowLoginWebUI", kShowLoginWebUIid);
600 TRACE_EVENT_ASYNC_STEP_INTO0( 600 TRACE_EVENT_ASYNC_STEP_INTO0(
601 "ui", "ShowLoginWebUI", kShowLoginWebUIid, "StartSignInScreen"); 601 "ui", "ShowLoginWebUI", kShowLoginWebUIid, "StartSignInScreen");
602 BootTimesLoader::Get()->RecordCurrentStats("login-start-signin-screen"); 602 BootTimesLoader::Get()->RecordCurrentStats("login-start-signin-screen");
603 LoadURL(GURL(kLoginURL)); 603 LoadURL(GURL(kLoginURL));
604 } 604 }
605 605
606 DVLOG(1) << "Starting sign in screen"; 606 DVLOG(1) << "Starting sign in screen";
607 const user_manager::UserList& users = 607 const user_manager::UserList& users =
608 chromeos::UserManager::Get()->GetUsers(); 608 user_manager::UserManager::Get()->GetUsers();
609 609
610 // Fix for users who updated device and thus never passed register screen. 610 // Fix for users who updated device and thus never passed register screen.
611 // If we already have users, we assume that it is not a second part of 611 // If we already have users, we assume that it is not a second part of
612 // OOBE. See http://crosbug.com/6289 612 // OOBE. See http://crosbug.com/6289
613 if (!StartupUtils::IsDeviceRegistered() && !users.empty()) { 613 if (!StartupUtils::IsDeviceRegistered() && !users.empty()) {
614 VLOG(1) << "Mark device registered because there are remembered users: " 614 VLOG(1) << "Mark device registered because there are remembered users: "
615 << users.size(); 615 << users.size();
616 StartupUtils::MarkDeviceRegistered(base::Closure()); 616 StartupUtils::MarkDeviceRegistered(base::Closure());
617 } 617 }
618 618
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 // Browsers created before session start (windows opened by extensions, for 770 // Browsers created before session start (windows opened by extensions, for
771 // example) are ignored. 771 // example) are ignored.
772 OnBrowserCreated(); 772 OnBrowserCreated();
773 registrar_.Remove(this, 773 registrar_.Remove(this,
774 chrome::NOTIFICATION_CLOSE_ALL_BROWSERS_REQUEST, 774 chrome::NOTIFICATION_CLOSE_ALL_BROWSERS_REQUEST,
775 content::NotificationService::AllSources()); 775 content::NotificationService::AllSources());
776 registrar_.Remove(this, 776 registrar_.Remove(this,
777 chrome::NOTIFICATION_BROWSER_OPENED, 777 chrome::NOTIFICATION_BROWSER_OPENED,
778 content::NotificationService::AllSources()); 778 content::NotificationService::AllSources());
779 } else if (type == chrome::NOTIFICATION_LOGIN_USER_CHANGED && 779 } else if (type == chrome::NOTIFICATION_LOGIN_USER_CHANGED &&
780 chromeos::UserManager::Get()->IsCurrentUserNew()) { 780 user_manager::UserManager::Get()->IsCurrentUserNew()) {
781 // For new user, move desktop to locker container so that windows created 781 // For new user, move desktop to locker container so that windows created
782 // during the user image picker step are below it. 782 // during the user image picker step are below it.
783 ash::Shell::GetInstance()-> 783 ash::Shell::GetInstance()->
784 desktop_background_controller()->MoveDesktopToLockedContainer(); 784 desktop_background_controller()->MoveDesktopToLockedContainer();
785 registrar_.Remove(this, 785 registrar_.Remove(this,
786 chrome::NOTIFICATION_LOGIN_USER_CHANGED, 786 chrome::NOTIFICATION_LOGIN_USER_CHANGED,
787 content::NotificationService::AllSources()); 787 content::NotificationService::AllSources());
788 } 788 }
789 } 789 }
790 790
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 scoped_ptr<locale_util::SwitchLanguageCallback> callback( 1256 scoped_ptr<locale_util::SwitchLanguageCallback> callback(
1257 new locale_util::SwitchLanguageCallback( 1257 new locale_util::SwitchLanguageCallback(
1258 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass())))); 1258 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass()))));
1259 1259
1260 // Load locale keyboards here. Hardware layout would be automatically enabled. 1260 // Load locale keyboards here. Hardware layout would be automatically enabled.
1261 locale_util::SwitchLanguage( 1261 locale_util::SwitchLanguage(
1262 locale, true, true /* login_layouts_only */, callback.Pass()); 1262 locale, true, true /* login_layouts_only */, callback.Pass());
1263 } 1263 }
1264 1264
1265 } // namespace chromeos 1265 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/ui/login_display.h ('k') | chrome/browser/chromeos/login/ui/user_adding_screen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698