Improve logic for determining when to stop compositing root windows during device suspend |
|||
Issue descriptionThis is a follow-up on issue 807511 When coming out of suspend, we briefly display the last user session before the lock screen appears The issue in question was addressed by adding a long delay before lock implementation reports it's ready for suspend (at which point PowerEventObserver proceeds with stopping the compositing on root windows, and suspending the device). This issue is intended to track work to improve the logic for determining when to issue request to stop compositing root windows (and thus improve the suspend time).
,
Feb 5 2018
,
Feb 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43 commit 4e0a9a01aef4eba99e0d656aa37d9da673ca9a43 Author: Toni Barzic <tbarzic@google.com> Date: Thu Feb 22 19:07:12 2018 During suspend, wait for a compositing cycle to end before proceeding During suspend, PowerEventObserver requests screen lock, and when the screen lock reports it's ready, stops compositing on all root windows (using ui::Compositor::SetVisible). With this CL, PowerEventObserver will additionally wait until at least two compositing requests start and end before compositing is stopped, and the displays are suspended. The goal is to ensure that the last composited frame before suspend was a frame with lock screen window shown (and non-lock screen windows hidden), as this is the frame that will initially be shown on device resume. BUG= 809189 Change-Id: I43f0262362377f048cadbf47f0d790747620d0fe Reviewed-on: https://chromium-review.googlesource.com/902939 Commit-Queue: Toni Barzic <tbarzic@chromium.org> Reviewed-by: Dan Erat <derat@chromium.org> Cr-Commit-Position: refs/heads/master@{#538511} [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/BUILD.gn [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/system/power/power_event_observer.cc [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/system/power/power_event_observer.h [add] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/system/power/power_event_observer_test_api.cc [add] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/system/power/power_event_observer_test_api.h [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/ash/system/power/power_event_observer_unittest.cc [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/chrome/browser/chromeos/login/lock/views_screen_locker.cc [modify] https://crrev.com/4e0a9a01aef4eba99e0d656aa37d9da673ca9a43/chrome/browser/chromeos/login/lock/views_screen_locker.h
,
Mar 15 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by derat@chromium.org
, Feb 5 2018