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

Issue 809189 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Improve logic for determining when to stop compositing root windows during device suspend

Project Member Reported by tbarzic@chromium.org, Feb 5 2018

Issue description

This 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).
 

Comment 1 by derat@chromium.org, Feb 5 2018

This isn't necessary just for improving suspend time, but also for ensuring that we consistently hide the desktop before suspending. I would be surprised if 1.5 seconds is always long enough -- consider heavily-loaded systems, compositor jank, etc.

Comment 2 by r...@chromium.org, Feb 5 2018

Cc: xiy...@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Sign in to add a comment