OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/webui/chromeos/login/signin_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/hash_tables.h" | 10 #include "base/hash_tables.h" |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 l10n_util::GetStringUTF16(IDS_LOGIN_REMOVE)); | 330 l10n_util::GetStringUTF16(IDS_LOGIN_REMOVE)); |
331 | 331 |
332 if (chromeos::KioskModeHelper::Get()->IsKioskModeEnabled()) { | 332 if (chromeos::KioskModeHelper::Get()->IsKioskModeEnabled()) { |
333 localized_strings->SetString("demoLoginMessage", | 333 localized_strings->SetString("demoLoginMessage", |
334 l10n_util::GetStringUTF16(IDS_KIOSK_MODE_LOGIN_MESSAGE)); | 334 l10n_util::GetStringUTF16(IDS_KIOSK_MODE_LOGIN_MESSAGE)); |
335 } | 335 } |
336 } | 336 } |
337 | 337 |
338 void SigninScreenHandler::Show(bool oobe_ui) { | 338 void SigninScreenHandler::Show(bool oobe_ui) { |
339 CHECK(delegate_); | 339 CHECK(delegate_); |
| 340 LOG(ERROR) << "Show: oobe=" << oobe_ui |
| 341 << ", page_is_ready=" << page_is_ready(); |
340 | 342 |
341 oobe_ui_ = oobe_ui; | 343 oobe_ui_ = oobe_ui; |
342 if (!page_is_ready()) { | 344 if (!page_is_ready()) { |
343 show_on_init_ = true; | 345 show_on_init_ = true; |
344 return; | 346 return; |
345 } | 347 } |
346 | 348 |
347 if (oobe_ui) { | 349 if (oobe_ui) { |
348 // Shows new user sign-in for OOBE. | 350 // Shows new user sign-in for OOBE. |
349 HandleShowAddUser(NULL); | 351 HandleShowAddUser(NULL); |
(...skipping 12 matching lines...) Expand all Loading... |
362 | 364 |
363 void SigninScreenHandler::SetDelegate(SigninScreenHandlerDelegate* delegate) { | 365 void SigninScreenHandler::SetDelegate(SigninScreenHandlerDelegate* delegate) { |
364 delegate_ = delegate; | 366 delegate_ = delegate; |
365 if (delegate_) | 367 if (delegate_) |
366 delegate_->SetWebUIHandler(this); | 368 delegate_->SetWebUIHandler(this); |
367 } | 369 } |
368 | 370 |
369 // SigninScreenHandler, private: ----------------------------------------------- | 371 // SigninScreenHandler, private: ----------------------------------------------- |
370 | 372 |
371 void SigninScreenHandler::Initialize() { | 373 void SigninScreenHandler::Initialize() { |
| 374 LOG(ERROR) << "Initialize:" << delegate_; |
372 // If delegate_ is NULL here (e.g. WebUIScreenLocker has been destroyed), | 375 // If delegate_ is NULL here (e.g. WebUIScreenLocker has been destroyed), |
373 // don't do anything, just return. | 376 // don't do anything, just return. |
374 if (!delegate_) | 377 if (!delegate_) |
375 return; | 378 return; |
376 | 379 |
377 // Register for Caps Lock state change notifications; | 380 // Register for Caps Lock state change notifications; |
378 key_event_listener_ = SystemKeyEventListener::GetInstance(); | 381 key_event_listener_ = SystemKeyEventListener::GetInstance(); |
379 if (key_event_listener_) | 382 if (key_event_listener_) |
380 key_event_listener_->AddCapsLockObserver(this); | 383 key_event_listener_->AddCapsLockObserver(this); |
381 | 384 |
382 if (show_on_init_) { | 385 if (show_on_init_) { |
383 show_on_init_ = false; | 386 show_on_init_ = false; |
384 Show(oobe_ui_); | 387 Show(oobe_ui_); |
385 } | 388 } |
386 } | 389 } |
387 | 390 |
388 void SigninScreenHandler::RegisterMessages() { | 391 void SigninScreenHandler::RegisterMessages() { |
| 392 LOG(ERROR) << "RegisterMessages"; |
389 network_state_informer_.reset(new NetworkStateInformer(web_ui())); | 393 network_state_informer_.reset(new NetworkStateInformer(web_ui())); |
390 | 394 |
391 web_ui()->RegisterMessageCallback("authenticateUser", | 395 web_ui()->RegisterMessageCallback("authenticateUser", |
392 base::Bind(&SigninScreenHandler::HandleAuthenticateUser, | 396 base::Bind(&SigninScreenHandler::HandleAuthenticateUser, |
393 base::Unretained(this))); | 397 base::Unretained(this))); |
394 web_ui()->RegisterMessageCallback("completeLogin", | 398 web_ui()->RegisterMessageCallback("completeLogin", |
395 base::Bind(&SigninScreenHandler::HandleCompleteLogin, | 399 base::Bind(&SigninScreenHandler::HandleCompleteLogin, |
396 base::Unretained(this))); | 400 base::Unretained(this))); |
397 web_ui()->RegisterMessageCallback("getUsers", | 401 web_ui()->RegisterMessageCallback("getUsers", |
398 base::Bind(&SigninScreenHandler::HandleGetUsers, | 402 base::Bind(&SigninScreenHandler::HandleGetUsers, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 void SigninScreenHandler::OnUserImageChanged(const User& user) { | 472 void SigninScreenHandler::OnUserImageChanged(const User& user) { |
469 if (!page_is_ready()) | 473 if (!page_is_ready()) |
470 return; | 474 return; |
471 | 475 |
472 base::StringValue user_email(user.email()); | 476 base::StringValue user_email(user.email()); |
473 web_ui()->CallJavascriptFunction( | 477 web_ui()->CallJavascriptFunction( |
474 "login.AccountPickerScreen.updateUserImage", user_email); | 478 "login.AccountPickerScreen.updateUserImage", user_email); |
475 } | 479 } |
476 | 480 |
477 void SigninScreenHandler::OnPreferencesChanged() { | 481 void SigninScreenHandler::OnPreferencesChanged() { |
| 482 LOG(ERROR) << "OnPreferenceChanged:" << delegate_; |
478 if (delegate_ && !delegate_->IsShowUsers()) | 483 if (delegate_ && !delegate_->IsShowUsers()) |
479 HandleShowAddUser(NULL); | 484 HandleShowAddUser(NULL); |
480 else | 485 else |
481 SendUserList(false); | 486 SendUserList(false); |
482 } | 487 } |
483 | 488 |
484 void SigninScreenHandler::ShowError(int login_attempts, | 489 void SigninScreenHandler::ShowError(int login_attempts, |
485 const std::string& error_text, | 490 const std::string& error_text, |
486 const std::string& help_link_text, | 491 const std::string& help_link_text, |
487 HelpAppLauncher::HelpTopic help_topic_id) { | 492 HelpAppLauncher::HelpTopic help_topic_id) { |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 } | 717 } |
713 | 718 |
714 delegate_->RemoveUser(email); | 719 delegate_->RemoveUser(email); |
715 } | 720 } |
716 | 721 |
717 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) { | 722 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) { |
718 email_.clear(); | 723 email_.clear(); |
719 // |args| can be null if it's OOBE. | 724 // |args| can be null if it's OOBE. |
720 if (args) | 725 if (args) |
721 args->GetString(0, &email_); | 726 args->GetString(0, &email_); |
| 727 LOG(ERROR) << "HandleShowAddUser: email=" << email_ << ", first_attempt=" |
| 728 << is_first_attempt_; |
| 729 |
722 if (is_first_attempt_ && email_.empty()) { | 730 if (is_first_attempt_ && email_.empty()) { |
723 dns_cleared_ = true; | 731 dns_cleared_ = true; |
724 cookies_cleared_ = true; | 732 cookies_cleared_ = true; |
725 ShowSigninScreenIfReady(); | 733 ShowSigninScreenIfReady(); |
726 } else { | 734 } else { |
727 StartClearingDnsCache(); | 735 StartClearingDnsCache(); |
728 StartClearingCookies(); | 736 StartClearingCookies(); |
729 } | 737 } |
730 } | 738 } |
731 | 739 |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 delegate_->Signout(); | 913 delegate_->Signout(); |
906 } | 914 } |
907 | 915 |
908 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) { | 916 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) { |
909 if (!delegate_) | 917 if (!delegate_) |
910 return; | 918 return; |
911 delegate_->CreateAccount(); | 919 delegate_->CreateAccount(); |
912 } | 920 } |
913 | 921 |
914 void SigninScreenHandler::StartClearingDnsCache() { | 922 void SigninScreenHandler::StartClearingDnsCache() { |
| 923 LOG(ERROR) << "StartClearingDnsCache: cond:" |
| 924 << (dns_clear_task_running_ || !g_browser_process->io_thread()); |
915 if (dns_clear_task_running_ || !g_browser_process->io_thread()) | 925 if (dns_clear_task_running_ || !g_browser_process->io_thread()) |
916 return; | 926 return; |
917 | 927 |
918 dns_cleared_ = false; | 928 dns_cleared_ = false; |
919 BrowserThread::PostTaskAndReply( | 929 BrowserThread::PostTaskAndReply( |
920 BrowserThread::IO, FROM_HERE, | 930 BrowserThread::IO, FROM_HERE, |
921 base::Bind(&ClearDnsCache, g_browser_process->io_thread()), | 931 base::Bind(&ClearDnsCache, g_browser_process->io_thread()), |
922 base::Bind(&SigninScreenHandler::OnDnsCleared, | 932 base::Bind(&SigninScreenHandler::OnDnsCleared, |
923 weak_factory_.GetWeakPtr())); | 933 weak_factory_.GetWeakPtr())); |
924 dns_clear_task_running_ = true; | 934 dns_clear_task_running_ = true; |
925 } | 935 } |
926 | 936 |
927 void SigninScreenHandler::StartClearingCookies() { | 937 void SigninScreenHandler::StartClearingCookies() { |
| 938 LOG(ERROR) << "StartClearingCookies"; |
928 cookies_cleared_ = false; | 939 cookies_cleared_ = false; |
929 if (cookie_remover_) | 940 if (cookie_remover_) |
930 cookie_remover_->RemoveObserver(this); | 941 cookie_remover_->RemoveObserver(this); |
931 | 942 |
932 cookie_remover_ = new BrowsingDataRemover( | 943 cookie_remover_ = new BrowsingDataRemover( |
933 Profile::FromWebUI(web_ui()), | 944 Profile::FromWebUI(web_ui()), |
934 BrowsingDataRemover::EVERYTHING, | 945 BrowsingDataRemover::EVERYTHING, |
935 base::Time()); | 946 base::Time()); |
936 cookie_remover_->AddObserver(this); | 947 cookie_remover_->AddObserver(this); |
937 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); | 948 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); |
938 } | 949 } |
939 | 950 |
940 } // namespace chromeos | 951 } // namespace chromeos |
OLD | NEW |