The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/f5beaf48bb825e6b79cfc739360119555f1ea6e3
commit f5beaf48bb825e6b79cfc739360119555f1ea6e3
Author: Christopher Cameron <ccameron@chromium.org>
Date: Thu Feb 08 07:02:50 2018
mac: Fix lock status with surface sync
This starts as a fix for the one failing test in content_unittests, and
picks up some other cleanup on the way.
Note that "Suspend" in the context of this patch should be viewed as
equivalent to "Lock".
The ui::Compositor should start as suspended unless there is a saved
frame from the DelegatedFrameHost available. It should be unsuspended
as soon as a new surface is activated.
While we're here, this should happen for resize as well. Suspend the
compositor when the DelegatedFrameHost's surface size schanges, and
unsuspend at the next surface activation. (This could potentially be
updated to include pipelines of active resizes, but this gets us to a
good place and is simple).
Also fix a longstanding bug where the DelegatedFrameHost would report
that it was not visible if the ui::Compositor was suspended (this
happens on macOS when the window is occluded). The DelegatedFrameHost
in this situation is still potentially-visible.
Bug: 805774
Change-Id: I489166c07d2620df5c3bd948d9ce176a5acf4c2f
Reviewed-on: https://chromium-review.googlesource.com/908053
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535323}
[modify] https://crrev.com/f5beaf48bb825e6b79cfc739360119555f1ea6e3/content/browser/renderer_host/browser_compositor_view_mac.mm
Comment 1 by ccameron@chromium.org
, Jan 26 2018