summaryrefslogtreecommitdiffstats
path: root/ui/login/account_picker/user_pod_row.js
diff options
context:
space:
mode:
authorjdufault <jdufault@chromium.org>2016-03-25 18:05:57 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-26 01:07:27 +0000
commitaa8ed023a411ac73a2f6e641c902e2831bd1a7fe (patch)
tree18a48f2c0994a209818884cd043ae0f7036cbd35 /ui/login/account_picker/user_pod_row.js
parenteb6813df8a49dbe1e9afa3994f1347ec6329340f (diff)
downloadchromium_src-aa8ed023a411ac73a2f6e641c902e2831bd1a7fe.zip
chromium_src-aa8ed023a411ac73a2f6e641c902e2831bd1a7fe.tar.gz
chromium_src-aa8ed023a411ac73a2f6e641c902e2831bd1a7fe.tar.bz2
Reduce failsafe time for animation events. This makes the lock-time more consistent.
This animation delay compensates for the amount of time it takes the native animation to run so the user pods are not shown while the native windows are flying out of the screen. This approach has a few problems, however: 1. If the WebUI takes a long time to load (such as on slow devices), then the CSS animation here will still be running even after the native animation has completed. 2. If the screen is locked via some cancellable lock mechanism, such as the power button, then the native animation has already completed and the wait is unnecessary. A better approach is to intead have the lock screen emit an event that notifies the webui that has finished the native animation. Doing so is tricky, however, as there are various states that the webui and lock screen can be in. BUG=452599 Review URL: https://codereview.chromium.org/1811113003 Cr-Commit-Position: refs/heads/master@{#383428}
Diffstat (limited to 'ui/login/account_picker/user_pod_row.js')
-rw-r--r--ui/login/account_picker/user_pod_row.js10
1 files changed, 6 insertions, 4 deletions
diff --git a/ui/login/account_picker/user_pod_row.js b/ui/login/account_picker/user_pod_row.js
index c36496d..ab16792 100644
--- a/ui/login/account_picker/user_pod_row.js
+++ b/ui/login/account_picker/user_pod_row.js
@@ -3243,14 +3243,18 @@ cr.define('login', function() {
* Called right after the pod row is shown.
*/
handleAfterShow: function() {
+ var focusedPod = this.focusedPod_;
+
// Without timeout changes in pods positions will be animated even though
// it happened when 'flying-pods' class was disabled.
setTimeout(function() {
Oobe.getInstance().toggleClass('flying-pods', true);
+ if (focusedPod)
+ ensureTransitionEndEvent(focusedPod);
}, 0);
+
// Force input focus for user pod on show and once transition ends.
- if (this.focusedPod_) {
- var focusedPod = this.focusedPod_;
+ if (focusedPod) {
var screen = this.parentNode;
var self = this;
focusedPod.addEventListener('webkitTransitionEnd', function f(e) {
@@ -3259,8 +3263,6 @@ cr.define('login', function() {
// Notify screen that it is ready.
screen.onShow();
});
- // Guard timer for 1 second -- it would conver all possible animations.
- ensureTransitionEndEvent(focusedPod, 1000);
}
},