| Index: chrome/browser/chromeos/login/webui_login_display.cc
|
| diff --git a/chrome/browser/chromeos/login/webui_login_display.cc b/chrome/browser/chromeos/login/webui_login_display.cc
|
| deleted file mode 100644
|
| index 18b96091cc0f4ef4203756fd45f0a7f35f60750e..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/login/webui_login_display.cc
|
| +++ /dev/null
|
| @@ -1,429 +0,0 @@
|
| -// Copyright (c) 2012 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/webui_login_display.h"
|
| -
|
| -#include "ash/shell.h"
|
| -#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
|
| -#include "chrome/browser/chromeos/login/login_display_host_impl.h"
|
| -#include "chrome/browser/chromeos/login/screen_locker.h"
|
| -#include "chrome/browser/chromeos/login/user_adding_screen.h"
|
| -#include "chrome/browser/chromeos/login/wallpaper_manager.h"
|
| -#include "chrome/browser/chromeos/login/webui_login_view.h"
|
| -#include "chrome/browser/profiles/profile_manager.h"
|
| -#include "chrome/browser/ui/browser_window.h"
|
| -#include "chromeos/ime/ime_keyboard.h"
|
| -#include "chromeos/ime/input_method_manager.h"
|
| -#include "grit/chromium_strings.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/views/widget/widget.h"
|
| -#include "ui/wm/core/user_activity_detector.h"
|
| -
|
| -namespace chromeos {
|
| -
|
| -namespace {
|
| -
|
| -const int kPasswordClearTimeoutSec = 60;
|
| -
|
| -}
|
| -
|
| -// WebUILoginDisplay, public: --------------------------------------------------
|
| -
|
| -WebUILoginDisplay::~WebUILoginDisplay() {
|
| - if (webui_handler_)
|
| - webui_handler_->ResetSigninScreenHandlerDelegate();
|
| - wm::UserActivityDetector* activity_detector = ash::Shell::GetInstance()->
|
| - user_activity_detector();
|
| - if (activity_detector->HasObserver(this))
|
| - activity_detector->RemoveObserver(this);
|
| -}
|
| -
|
| -// LoginDisplay implementation: ------------------------------------------------
|
| -
|
| -WebUILoginDisplay::WebUILoginDisplay(LoginDisplay::Delegate* delegate)
|
| - : LoginDisplay(delegate, gfx::Rect()),
|
| - show_guest_(false),
|
| - show_new_user_(false),
|
| - webui_handler_(NULL) {
|
| -}
|
| -
|
| -void WebUILoginDisplay::ClearAndEnablePassword() {
|
| - if (webui_handler_)
|
| - webui_handler_->ClearAndEnablePassword();
|
| -}
|
| -
|
| -void WebUILoginDisplay::Init(const UserList& users,
|
| - bool show_guest,
|
| - bool show_users,
|
| - bool show_new_user) {
|
| - // Testing that the delegate has been set.
|
| - DCHECK(delegate_);
|
| -
|
| - users_ = users;
|
| - show_guest_ = show_guest;
|
| - show_users_ = show_users;
|
| - show_new_user_ = show_new_user;
|
| -
|
| - wm::UserActivityDetector* activity_detector = ash::Shell::GetInstance()->
|
| - user_activity_detector();
|
| - if (!activity_detector->HasObserver(this))
|
| - activity_detector->AddObserver(this);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnPreferencesChanged() {
|
| - if (webui_handler_)
|
| - webui_handler_->OnPreferencesChanged();
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnBeforeUserRemoved(const std::string& username) {
|
| - for (UserList::iterator it = users_.begin(); it != users_.end(); ++it) {
|
| - if ((*it)->email() == username) {
|
| - users_.erase(it);
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnUserImageChanged(const User& user) {
|
| - if (webui_handler_)
|
| - webui_handler_->OnUserImageChanged(user);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnUserRemoved(const std::string& username) {
|
| - if (webui_handler_)
|
| - webui_handler_->OnUserRemoved(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnFadeOut() {
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnLoginSuccess(const std::string& username) {
|
| - if (webui_handler_)
|
| - webui_handler_->OnLoginSuccess(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::SetUIEnabled(bool is_enabled) {
|
| - // TODO(nkostylev): Cleanup this condition,
|
| - // see http://crbug.com/157885 and http://crbug.com/158255.
|
| - // 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() ||
|
| - ScreenLocker::default_screen_locker())) {
|
| - ClearAndEnablePassword();
|
| - }
|
| -
|
| - if (chromeos::LoginDisplayHost* host =
|
| - chromeos::LoginDisplayHostImpl::default_host()) {
|
| - if (chromeos::WebUILoginView* login_view = host->GetWebUILoginView())
|
| - login_view->SetUIEnabled(is_enabled);
|
| - }
|
| -}
|
| -
|
| -void WebUILoginDisplay::SelectPod(int index) {
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowBannerMessage(const std::string& message) {
|
| - if (!webui_handler_)
|
| - return;
|
| - webui_handler_->ShowBannerMessage(message);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowUserPodButton(
|
| - const std::string& username,
|
| - const std::string& iconURL,
|
| - const base::Closure& click_callback) {
|
| - if (!webui_handler_)
|
| - return;
|
| - webui_handler_->ShowUserPodButton(username, iconURL, click_callback);
|
| -}
|
| -
|
| -void WebUILoginDisplay::HideUserPodButton(const std::string& username) {
|
| - if (!webui_handler_)
|
| - return;
|
| - webui_handler_->HideUserPodButton(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::SetAuthType(const std::string& username,
|
| - AuthType auth_type,
|
| - const std::string& initial_value) {
|
| - if (!webui_handler_)
|
| - return;
|
| - webui_handler_->SetAuthType(username, auth_type, initial_value);
|
| -}
|
| -
|
| -LoginDisplay::AuthType WebUILoginDisplay::GetAuthType(
|
| - const std::string& username) const {
|
| - // Return default auth type if WebUI hander is not ready.
|
| - if (!webui_handler_)
|
| - return OFFLINE_PASSWORD;
|
| - return webui_handler_->GetAuthType(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowError(int error_msg_id,
|
| - int login_attempts,
|
| - HelpAppLauncher::HelpTopic help_topic_id) {
|
| - VLOG(1) << "Show error, error_id: " << error_msg_id
|
| - << ", attempts:" << login_attempts
|
| - << ", help_topic_id: " << help_topic_id;
|
| - if (!webui_handler_)
|
| - return;
|
| -
|
| - std::string error_text;
|
| - switch (error_msg_id) {
|
| - case IDS_LOGIN_ERROR_AUTHENTICATING_HOSTED:
|
| - error_text = l10n_util::GetStringFUTF8(
|
| - error_msg_id, l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_OS_NAME));
|
| - break;
|
| - case IDS_LOGIN_ERROR_CAPTIVE_PORTAL:
|
| - error_text = l10n_util::GetStringFUTF8(
|
| - error_msg_id, delegate()->GetConnectedNetworkName());
|
| - break;
|
| - default:
|
| - error_text = l10n_util::GetStringUTF8(error_msg_id);
|
| - break;
|
| - }
|
| -
|
| - // Only display hints about keyboard layout if the error is authentication-
|
| - // related.
|
| - if (error_msg_id != IDS_LOGIN_ERROR_WHITELIST &&
|
| - error_msg_id != IDS_LOGIN_ERROR_OWNER_KEY_LOST &&
|
| - error_msg_id != IDS_LOGIN_ERROR_OWNER_REQUIRED) {
|
| - // Display a warning if Caps Lock is on.
|
| - input_method::InputMethodManager* ime_manager =
|
| - input_method::InputMethodManager::Get();
|
| - if (ime_manager->GetImeKeyboard()->CapsLockIsEnabled()) {
|
| - // TODO(ivankr): use a format string instead of concatenation.
|
| - error_text += "\n" +
|
| - l10n_util::GetStringUTF8(IDS_LOGIN_ERROR_CAPS_LOCK_HINT);
|
| - }
|
| -
|
| - // Display a hint to switch keyboards if there are other active input
|
| - // methods.
|
| - if (ime_manager->GetNumActiveInputMethods() > 1) {
|
| - error_text += "\n" +
|
| - l10n_util::GetStringUTF8(IDS_LOGIN_ERROR_KEYBOARD_SWITCH_HINT);
|
| - }
|
| - }
|
| -
|
| - std::string help_link;
|
| - switch (error_msg_id) {
|
| - case IDS_LOGIN_ERROR_AUTHENTICATING_HOSTED:
|
| - help_link = l10n_util::GetStringUTF8(IDS_LEARN_MORE);
|
| - break;
|
| - default:
|
| - if (login_attempts > 1)
|
| - help_link = l10n_util::GetStringUTF8(IDS_LEARN_MORE);
|
| - break;
|
| - }
|
| -
|
| - webui_handler_->ShowError(login_attempts, error_text, help_link,
|
| - help_topic_id);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowErrorScreen(LoginDisplay::SigninError error_id) {
|
| - VLOG(1) << "Show error screen, error_id: " << error_id;
|
| - if (!webui_handler_)
|
| - return;
|
| - webui_handler_->ShowErrorScreen(error_id);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowGaiaPasswordChanged(const std::string& username) {
|
| - if (webui_handler_)
|
| - webui_handler_->ShowGaiaPasswordChanged(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowPasswordChangedDialog(bool show_password_error) {
|
| - if (webui_handler_)
|
| - webui_handler_->ShowPasswordChangedDialog(show_password_error);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowSigninUI(const std::string& email) {
|
| - if (webui_handler_)
|
| - webui_handler_->ShowSigninUI(email);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowControlBar(bool show) {
|
| - if (webui_handler_)
|
| - webui_handler_->ShowControlBar(show);
|
| -}
|
| -
|
| -// WebUILoginDisplay, NativeWindowDelegate implementation: ---------------------
|
| -gfx::NativeWindow WebUILoginDisplay::GetNativeWindow() const {
|
| - return parent_window();
|
| -}
|
| -
|
| -// WebUILoginDisplay, SigninScreenHandlerDelegate implementation: --------------
|
| -void WebUILoginDisplay::CancelPasswordChangedFlow() {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->CancelPasswordChangedFlow();
|
| -}
|
| -
|
| -void WebUILoginDisplay::CancelUserAdding() {
|
| - if (!UserAddingScreen::Get()->IsRunning()) {
|
| - LOG(ERROR) << "User adding screen not running.";
|
| - return;
|
| - }
|
| - UserAddingScreen::Get()->Cancel();
|
| -}
|
| -
|
| -void WebUILoginDisplay::CreateAccount() {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->CreateAccount();
|
| -}
|
| -
|
| -void WebUILoginDisplay::CompleteLogin(const UserContext& user_context) {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->CompleteLogin(user_context);
|
| -}
|
| -
|
| -void WebUILoginDisplay::Login(const UserContext& user_context) {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->Login(user_context);
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoginAsRetailModeUser() {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->LoginAsRetailModeUser();
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoginAsGuest() {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->LoginAsGuest();
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoginAsPublicAccount(const std::string& username) {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->LoginAsPublicAccount(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::MigrateUserData(const std::string& old_password) {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->MigrateUserData(old_password);
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoadWallpaper(const std::string& username) {
|
| - WallpaperManager::Get()->SetUserWallpaperDelayed(username);
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoadSigninWallpaper() {
|
| - WallpaperManager::Get()->SetDefaultWallpaperDelayed(UserManager::kSignInUser);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnSigninScreenReady() {
|
| - if (delegate_)
|
| - delegate_->OnSigninScreenReady();
|
| -}
|
| -
|
| -void WebUILoginDisplay::RemoveUser(const std::string& username) {
|
| - UserManager::Get()->RemoveUser(username, this);
|
| -}
|
| -
|
| -void WebUILoginDisplay::ResyncUserData() {
|
| - DCHECK(delegate_);
|
| - if (delegate_)
|
| - delegate_->ResyncUserData();
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowEnterpriseEnrollmentScreen() {
|
| - if (delegate_)
|
| - delegate_->OnStartEnterpriseEnrollment();
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowKioskEnableScreen() {
|
| - if (delegate_)
|
| - delegate_->OnStartKioskEnableScreen();
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowKioskAutolaunchScreen() {
|
| - if (delegate_)
|
| - delegate_->OnStartKioskAutolaunchScreen();
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowWrongHWIDScreen() {
|
| - if (delegate_)
|
| - delegate_->ShowWrongHWIDScreen();
|
| -}
|
| -
|
| -void WebUILoginDisplay::SetWebUIHandler(
|
| - LoginDisplayWebUIHandler* webui_handler) {
|
| - webui_handler_ = webui_handler;
|
| -}
|
| -
|
| -void WebUILoginDisplay::ShowSigninScreenForCreds(
|
| - const std::string& username,
|
| - const std::string& password) {
|
| - if (webui_handler_)
|
| - webui_handler_->ShowSigninScreenForCreds(username, password);
|
| -}
|
| -
|
| -const UserList& WebUILoginDisplay::GetUsers() const {
|
| - return users_;
|
| -}
|
| -
|
| -bool WebUILoginDisplay::IsShowGuest() const {
|
| - return show_guest_;
|
| -}
|
| -
|
| -bool WebUILoginDisplay::IsShowUsers() const {
|
| - return show_users_;
|
| -}
|
| -
|
| -bool WebUILoginDisplay::IsShowNewUser() const {
|
| - return show_new_user_;
|
| -}
|
| -
|
| -bool WebUILoginDisplay::IsSigninInProgress() const {
|
| - return delegate_->IsSigninInProgress();
|
| -}
|
| -
|
| -bool WebUILoginDisplay::IsUserSigninCompleted() const {
|
| - return is_signin_completed();
|
| -}
|
| -
|
| -void WebUILoginDisplay::SetDisplayEmail(const std::string& email) {
|
| - if (delegate_)
|
| - delegate_->SetDisplayEmail(email);
|
| -}
|
| -
|
| -void WebUILoginDisplay::Signout() {
|
| - delegate_->Signout();
|
| -}
|
| -
|
| -void WebUILoginDisplay::LoginAsKioskApp(const std::string& app_id,
|
| - bool diagnostic_mode) {
|
| - delegate_->LoginAsKioskApp(app_id, diagnostic_mode);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnUserActivity(const ui::Event* event) {
|
| - if (!password_clear_timer_.IsRunning())
|
| - StartPasswordClearTimer();
|
| - password_clear_timer_.Reset();
|
| - if (delegate_)
|
| - delegate_->ResetPublicSessionAutoLoginTimer();
|
| -}
|
| -
|
| -void WebUILoginDisplay::StartPasswordClearTimer() {
|
| - DCHECK(!password_clear_timer_.IsRunning());
|
| - password_clear_timer_.Start(FROM_HERE,
|
| - base::TimeDelta::FromSeconds(kPasswordClearTimeoutSec), this,
|
| - &WebUILoginDisplay::OnPasswordClearTimerExpired);
|
| -}
|
| -
|
| -void WebUILoginDisplay::OnPasswordClearTimerExpired() {
|
| - if (webui_handler_)
|
| - webui_handler_->ClearUserPodPassword();
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|