Keep Responsive-Design content visibility wait live - #51
Merged
Conversation
issackjohn
force-pushed
the
responsive-design-cv-liveness
branch
from
June 1, 2026 23:23
ebfa5e3 to
4c12f26
Compare
Safari stable can overscroll the chat element in this workload, tracked in WebKit#525. When that happens, the video grid's contentvisibilityautostatechange event may never arrive. Keep the content-visibility completion signal when it happens, and fall back to a double requestAnimationFrame so the async step remains live after forced layout work has settled.
issackjohn
force-pushed
the
responsive-design-cv-liveness
branch
from
June 1, 2026 23:25
4c12f26 to
81c2fb5
Compare
issackjohn
marked this pull request as ready for review
June 1, 2026 23:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Keep the Responsive-Design async step from hanging when Safari overscrolls the chat section.
Safari stable can overscroll the chat element in this workload, tracked in WebKit#525. When that happens, the benchmark can wait forever for
video-grid-content-visibility-complete, which is emitted from acontentvisibilityautostatechangehandler.That native event only fires when the browser changes the element's skipped state. If no skipped-state transition occurs, the benchmark has already forced layout for the preceding interactions and should wait for rendering to settle rather than blocking forever.
This keeps the content-visibility completion signal when it happens, and falls back to a double
requestAnimationFramefor liveness.