[gap-decorations] Allow gap decorations to be painted on window resize #53003
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This CL fixes a bug where in some cases gap decorations wouldn't be
resized/painted correctly when the window resized.
The issue seemed to be that using the
ScrollingBackgroundDisplayItemClient
for painting the decorationswould cause this issue, because it seemingly doesn't get marked for
invalidation, which causes the code to use the same drawing recorder
that is used when the window first loads, and doesn't create a new one
when the window is resized since
UseCachedDrawingIfPossible
returnstrue for the recorder for that background client. On the flip side,
the DisplayItemClient does get marked for invalidation, so we create
a new recorder for the gap decorations when the window is resized.
Bug: 357648037
Fixed: 422216073
Change-Id: Iabe7ce4fb88e724edd333268ace156299e20c72b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6618134
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Javier Contreras <javiercon@microsoft.com>
Reviewed-by: Sam Davis Omekara <samomekarajr@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1470739}