WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
264989
[content-visibility] REGRESSION(
267547@main
): Blank panels on bing.com (content-visibility: auto)
https://bugs.webkit.org/show_bug.cgi?id=264989
Summary
[content-visibility] REGRESSION(267547@main): Blank panels on bing.com (conte...
Tim Nguyen (:ntim)
Reported
2023-11-16 15:55:33 PST
Created
attachment 468635
[details]
Test reduction (from Alan Baradlay)
rdar://116822168
Some notes from Alan: Layer content is not getting painted due to stale m_visibleDescendantStatusDirty on the “un-skipped” (scrolled back to viewport) self-painting layer’s parent layer. RenderElement::styleWillChange’s willBeVisible branch needs some more involved dirty-ing <div id=A style="content-visibility: auto"> <div id=B style="position: relative;"></div> </div> 1. When renderer (A) gets scrolled out, we call dirtyVisibleContentStatus() on its render layer (see RenderElement::styleWillChange) 2. It triggers computeHasVisibleContent() call: we compute its visibility status ‘visible’ (note that renderer().isSkippedContent() is false as this is the root of the skipped content and not the actual skipped content) 3. we also compute renderer (B)’s layer’s visibility status. It’s hidden as it is a “skipped content”. 4. Now when renderer (A) gets scrolled back in, RenderElement::styleWillChange calls setHasVisibleContent on RenderLayer(A) but its m_hasVisibleContent is already true (see #2) so we early return (which makes RenderLayer (B) stay hidden). The bug here is that when the content gets scrolled back in, and we get the RenderElement::styleWillChange() call on the content-visibility block (A), we treat it as if this layer was hidden (i.e. when it initially got scrolled out), but the layer (renderer) is not hidden at all, its subtree is. The current invalidation is not sufficient (and incorrect) and instead we should call dirtyVisibleContentStatus().
Attachments
Test reduction (from Alan Baradlay)
(272 bytes, text/html)
2023-11-16 15:55 PST
,
Tim Nguyen (:ntim)
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Tim Nguyen (:ntim)
Comment 1
2023-11-16 15:55:48 PST
rdar://116822168
Rob Buis
Comment 2
2023-12-11 11:06:10 PST
Pull request:
https://github.com/WebKit/WebKit/pull/21642
EWS
Comment 3
2024-01-24 01:39:15 PST
Committed
273399@main
(4241ce289630): <
https://commits.webkit.org/273399@main
> Reviewed commits have been landed. Closing PR #21642 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug