Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c887d10d61230f23a647b1d8fed8a7faa1b022d5
https://github.com/WebKit/WebKit/commit/c887d10d61230f23a647b1d8fed8a7faa1b022d5
Author: Matt Woodrow <[email protected]>
Date: 2025-12-09 (Tue, 09 Dec 2025)
Changed paths:
A LayoutTests/css3/filters/nested-identical-filters-expected.html
A LayoutTests/css3/filters/nested-identical-filters.html
M Source/WebCore/platform/graphics/GraphicsContextState.cpp
Log Message:
-----------
Nested identical filters are not rendered.
https://bugs.webkit.org/show_bug.cgi?id=302900
rdar://165163823
Reviewed by Simon Fraser.
Pushing a transparency layer causes any current filter style (or shadow, or
composite operation) to be applied to the layer when popped, and don't apply to
the content in the layer.
Make sure we clear those states from the GraphicsContext tracking, to match the
behaviour of what CG is doing.
If they're not cleared, then a nested filter (or second filter primitive of the
same filter property) that is identical is incorrectly considered a no-op, and
doesn't get forwarded to the platform code.
Test: css3/filters/nested-identical-filters.html
* LayoutTests/css3/filters/nested-identical-filters-expected.html: Added.
* LayoutTests/css3/filters/nested-identical-filters.html: Added.
* Source/WebCore/platform/graphics/GraphicsContextState.cpp:
(WebCore::GraphicsContextState::repurpose):
Canonical link: https://commits.webkit.org/304143@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications