| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/login_manager_view.h" | 5 #include "chrome/browser/chromeos/login/login_manager_view.h" |
| 6 | 6 |
| 7 #include <signal.h> | 7 #include <signal.h> |
| 8 #include <sys/types.h> | 8 #include <sys/types.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 // Restore previously logged in user. | 150 // Restore previously logged in user. |
| 151 std::vector<UserManager::User> users = UserManager::Get()->GetUsers(); | 151 std::vector<UserManager::User> users = UserManager::Get()->GetUsers(); |
| 152 if (users.size() > 0) { | 152 if (users.size() > 0) { |
| 153 username_field_->SetText(UTF8ToUTF16(users[0].email())); | 153 username_field_->SetText(UTF8ToUTF16(users[0].email())); |
| 154 } | 154 } |
| 155 RequestFocus(); | 155 RequestFocus(); |
| 156 | 156 |
| 157 // Controller to handle events from textfields | 157 // Controller to handle events from textfields |
| 158 username_field_->SetController(this); | 158 username_field_->SetController(this); |
| 159 password_field_->SetController(this); | 159 password_field_->SetController(this); |
| 160 if (CrosLibrary::EnsureLoaded()) { | 160 if (CrosLibrary::Get()->EnsureLoaded()) { |
| 161 loader_.GetVersion( | 161 loader_.GetVersion( |
| 162 &consumer_, NewCallback(this, &LoginManagerView::OnOSVersion)); | 162 &consumer_, NewCallback(this, &LoginManagerView::OnOSVersion)); |
| 163 } else if (!kStubOutLogin) { | 163 } else if (!kStubOutLogin) { |
| 164 error_label_->SetText( | 164 error_label_->SetText( |
| 165 ASCIIToWide(CrosLibrary::load_error_string())); | 165 ASCIIToWide(CrosLibrary::Get()->load_error_string())); |
| 166 username_field_->SetReadOnly(true); | 166 username_field_->SetReadOnly(true); |
| 167 password_field_->SetReadOnly(true); | 167 password_field_->SetReadOnly(true); |
| 168 } | 168 } |
| 169 } | 169 } |
| 170 | 170 |
| 171 void LoginManagerView::UpdateLocalizedStrings() { | 171 void LoginManagerView::UpdateLocalizedStrings() { |
| 172 title_label_->SetText(l10n_util::GetString(IDS_LOGIN_TITLE)); | 172 title_label_->SetText(l10n_util::GetString(IDS_LOGIN_TITLE)); |
| 173 username_label_->SetText(l10n_util::GetString(IDS_LOGIN_USERNAME)); | 173 username_label_->SetText(l10n_util::GetString(IDS_LOGIN_USERNAME)); |
| 174 password_label_->SetText(l10n_util::GetString(IDS_LOGIN_PASSWORD)); | 174 password_label_->SetText(l10n_util::GetString(IDS_LOGIN_PASSWORD)); |
| 175 sign_in_button_->SetLabel(l10n_util::GetString(IDS_LOGIN_BUTTON)); | 175 sign_in_button_->SetLabel(l10n_util::GetString(IDS_LOGIN_BUTTON)); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 views::Button* sender, const views::Event& event) { | 309 views::Button* sender, const views::Event& event) { |
| 310 if (sender == sign_in_button_) { | 310 if (sender == sign_in_button_) { |
| 311 Login(); | 311 Login(); |
| 312 } else { | 312 } else { |
| 313 observer_->OnExit(ScreenObserver::LOGIN_CREATE_ACCOUNT); | 313 observer_->OnExit(ScreenObserver::LOGIN_CREATE_ACCOUNT); |
| 314 } | 314 } |
| 315 } | 315 } |
| 316 | 316 |
| 317 void LoginManagerView::OnLoginFailure(const std::string error) { | 317 void LoginManagerView::OnLoginFailure(const std::string error) { |
| 318 LOG(INFO) << "LoginManagerView: OnLoginFailure() " << error; | 318 LOG(INFO) << "LoginManagerView: OnLoginFailure() " << error; |
| 319 NetworkLibrary* network = NetworkLibrary::Get(); | 319 NetworkLibrary* network = CrosLibrary::Get()->GetNetworkLibrary(); |
| 320 | 320 |
| 321 // Send notification of failure | 321 // Send notification of failure |
| 322 AuthenticationNotificationDetails details(false); | 322 AuthenticationNotificationDetails details(false); |
| 323 NotificationService::current()->Notify( | 323 NotificationService::current()->Notify( |
| 324 NotificationType::LOGIN_AUTHENTICATION, Source<LoginManagerView>(this), | 324 NotificationType::LOGIN_AUTHENTICATION, Source<LoginManagerView>(this), |
| 325 Details<AuthenticationNotificationDetails>(&details)); | 325 Details<AuthenticationNotificationDetails>(&details)); |
| 326 | 326 |
| 327 // Check networking after trying to login in case user is | 327 // Check networking after trying to login in case user is |
| 328 // cached locally or the local admin account. | 328 // cached locally or the local admin account. |
| 329 if (!network || !CrosLibrary::EnsureLoaded()) | 329 if (!network || !CrosLibrary::Get()->EnsureLoaded()) |
| 330 ShowError(IDS_LOGIN_ERROR_NO_NETWORK_LIBRARY); | 330 ShowError(IDS_LOGIN_ERROR_NO_NETWORK_LIBRARY); |
| 331 else if (!network->Connected()) | 331 else if (!network->Connected()) |
| 332 ShowError(IDS_LOGIN_ERROR_NETWORK_NOT_CONNECTED); | 332 ShowError(IDS_LOGIN_ERROR_NETWORK_NOT_CONNECTED); |
| 333 else | 333 else |
| 334 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING); | 334 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING); |
| 335 // TODO(someone): get |error| onto the UI somehow? | 335 // TODO(someone): get |error| onto the UI somehow? |
| 336 } | 336 } |
| 337 | 337 |
| 338 void LoginManagerView::OnLoginSuccess(const std::string username, | 338 void LoginManagerView::OnLoginSuccess(const std::string username, |
| 339 std::vector<std::string> cookies) { | 339 std::vector<std::string> cookies) { |
| 340 // TODO(cmasone): something sensible if errors occur. | 340 // TODO(cmasone): something sensible if errors occur. |
| 341 if (observer_) { | 341 if (observer_) { |
| 342 observer_->OnExit(ScreenObserver::LOGIN_SIGN_IN_SELECTED); | 342 observer_->OnExit(ScreenObserver::LOGIN_SIGN_IN_SELECTED); |
| 343 } | 343 } |
| 344 login_utils::CompleteLogin(username, cookies); | 344 login_utils::CompleteLogin(username, cookies); |
| 345 } | 345 } |
| 346 | 346 |
| 347 void LoginManagerView::ShowError(int error_id) { | 347 void LoginManagerView::ShowError(int error_id) { |
| 348 error_id_ = error_id; | 348 error_id_ = error_id; |
| 349 error_label_->SetText((error_id_ == -1) | 349 error_label_->SetText((error_id_ == -1) |
| 350 ? std::wstring() | 350 ? std::wstring() |
| 351 : l10n_util::GetString(error_id_)); | 351 : l10n_util::GetString(error_id_)); |
| 352 } | 352 } |
| 353 | 353 |
| 354 bool LoginManagerView::HandleKeystroke(views::Textfield* s, | 354 bool LoginManagerView::HandleKeystroke(views::Textfield* s, |
| 355 const views::Textfield::Keystroke& keystroke) { | 355 const views::Textfield::Keystroke& keystroke) { |
| 356 if (!kStubOutLogin && !CrosLibrary::EnsureLoaded()) | 356 if (!kStubOutLogin && !CrosLibrary::Get()->EnsureLoaded()) |
| 357 return false; | 357 return false; |
| 358 | 358 |
| 359 if (keystroke.GetKeyboardCode() == base::VKEY_TAB) { | 359 if (keystroke.GetKeyboardCode() == base::VKEY_TAB) { |
| 360 if (username_field_->text().length() != 0) { | 360 if (username_field_->text().length() != 0) { |
| 361 std::string username = UTF16ToUTF8(username_field_->text()); | 361 std::string username = UTF16ToUTF8(username_field_->text()); |
| 362 | 362 |
| 363 if (username.find('@') == std::string::npos) { | 363 if (username.find('@') == std::string::npos) { |
| 364 username += kDefaultDomain; | 364 username += kDefaultDomain; |
| 365 username_field_->SetText(UTF8ToUTF16(username)); | 365 username_field_->SetText(UTF8ToUTF16(username)); |
| 366 } | 366 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 381 return false; | 381 return false; |
| 382 } | 382 } |
| 383 | 383 |
| 384 void LoginManagerView::OnOSVersion( | 384 void LoginManagerView::OnOSVersion( |
| 385 VersionLoader::Handle handle, | 385 VersionLoader::Handle handle, |
| 386 std::string version) { | 386 std::string version) { |
| 387 os_version_label_->SetText(ASCIIToWide(version)); | 387 os_version_label_->SetText(ASCIIToWide(version)); |
| 388 } | 388 } |
| 389 | 389 |
| 390 } // namespace chromeos | 390 } // namespace chromeos |
| OLD | NEW |