New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 748732 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug


Participants' hotlists:
LoginRefresh


Sign in to add a comment

do not show lock animation for tablet power button behavior and suspend imminent caused locking screen

Project Member Reported by warx@chromium.org, Jul 25 2017

Issue description

lock screen animation involves mainly two parts, hiding non locker screen containers and showing locker screen containers. For tablet power button with "Show lock screen when waking from sleep" setting enabled, we don't need slow animation for both.

The first part (hiding non locker screen containers) is done in issue 746657.
 
It'd be good to do this in views-based lock. IMO not worth the effort in webui-based lock.

Comment 2 by warx@chromium.org, Aug 3 2017

Summary: do not show lock animation for tablet power button behavior and suspend imminent caused locking screen (was: do not show lock animation for tablet power button behavior)

Comment 3 by warx@chromium.org, Aug 30 2017

Labels: -M-62 M-63
Move to M63

Comment 4 by warx@chromium.org, Aug 30 2017

I did some time logging here after the work in issue 746657. After LockStateController::LockWithoutAnimation() call, session_controller will LockScreen. It is an async call. It takes around 400ms~1000ms until OnLockStateChanged is received. Then it will do a post lock animation for lock screen containers, which takes 350ms.

Question: do we have to wait OnLockStateChanged in the reporter's case? Considering it must lock the screen with "Show lock screen when waking from sleep" setting enabled.

Comment 5 by xiy...@chromium.org, Aug 30 2017

OnLockStateChanged is triggered by SetSessionState(LOCKED) in ScreenLocker::ScreenLockReady [1]. For webui lock screen, this is called when lock screen window is created and the JS calls back. This is as a way to ensure there is a usable lock screen. If anything goes wrong, the LockStateController would time out and terminate the session.

The delay to OnLockStateChanged is long probably due to the complicated logic in webui. It should be improved with views backed lock screen.
 

[1]: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/lock/screen_locker.cc?rcl=668ae80f58beaeb2852cd1d6d0609cbe0f3d7a7f&l=633

Comment 6 by warx@chromium.org, Aug 30 2017

Thanks xiyuan. I will work on eliminating the 350ms post lock animation first in this bug.
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f721f259f771dab64ef5c7be0ee8b97961fd8e70

commit f721f259f771dab64ef5c7be0ee8b97961fd8e70
Author: Qiang Xu <warx@chromium.org>
Date: Fri Sep 01 06:56:05 2017

cros: immediate post lock animation for screen off locking animation

changes:
- Using |post_lock_immediate_animation_|, which is set to true in
LockWithoutAnimation and reset to false in PostLockAnimationFinished. I
think it is sufficient. The other case like if locking screen fails,
Chrome will just crash it.
- Modify tests to test more details.

tablet power button is 0 ms, while regular locking is still ~350ms.

Test: test coverage. Tested on device that post lock animation time for
Bug:  748732 
Change-Id: I0f7c7a8a109c3176ed7b31b9f710839dec243c6e
Reviewed-on: https://chromium-review.googlesource.com/646833
Commit-Queue: Qiang(Joe) Xu <warx@chromium.org>
Reviewed-by: Dan Erat (OOO Fri-Mon) <derat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499146}
[modify] https://crrev.com/f721f259f771dab64ef5c7be0ee8b97961fd8e70/ash/system/power/power_event_observer_unittest.cc
[modify] https://crrev.com/f721f259f771dab64ef5c7be0ee8b97961fd8e70/ash/system/power/tablet_power_button_controller_unittest.cc
[modify] https://crrev.com/f721f259f771dab64ef5c7be0ee8b97961fd8e70/ash/wm/lock_state_controller.cc
[modify] https://crrev.com/f721f259f771dab64ef5c7be0ee8b97961fd8e70/ash/wm/lock_state_controller.h

Comment 8 by warx@chromium.org, Sep 13 2017

Status: Fixed (was: Assigned)

Sign in to add a comment