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

Unified Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 24625003: Delay wallpaper load by 2 * average wallpaper load time. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Catch WallpaperAnimationFinished event and inform JS. Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
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 497945c120b28e38a598f592d65da024faab6795..1018c516a937ac0fbe4709d796c57c5ada120058 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -391,6 +391,7 @@ SigninScreenHandler::SigninScreenHandler(
network_state_informer_(network_state_informer),
test_expects_complete_login_(false),
weak_factory_(this),
+ weak_factory_as_observer_(this),
webui_visible_(false),
preferences_changed_delayed_(false),
error_screen_actor_(error_screen_actor),
@@ -554,8 +555,11 @@ void SigninScreenHandler::ShowRetailModeLoginSpinner() {
void SigninScreenHandler::SetDelegate(SigninScreenHandlerDelegate* delegate) {
delegate_ = delegate;
- if (delegate_)
+ if (delegate_) {
delegate_->SetWebUIHandler(this);
+ WallpaperManager::Get()->AddObserver(
+ weak_factory_as_observer_.GetWeakPtr());
+ }
}
void SigninScreenHandler::SetNativeWindowDelegate(
@@ -1285,6 +1289,11 @@ void SigninScreenHandler::HandleLoadWallpaper(const std::string& email) {
delegate_->LoadWallpaper(email);
}
+void SigninScreenHandler::OnWallpaperAnimationFinished(
+ const std::string& email) {
+ CallJS("login.AccountPickerScreen.onWallpaperLoaded", email);
+}
+
void SigninScreenHandler::HandleRebootSystem() {
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
}

Powered by Google App Engine
This is Rietveld 408576698