Branch: refs/heads/webkitglib/2.50
Home: https://github.com/WebKit/WebKit
Commit: c2ed2896e746dbcf76b4931313ad81f1174f7514
https://github.com/WebKit/WebKit/commit/c2ed2896e746dbcf76b4931313ad81f1174f7514
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:
-----------
Cherry-pick 304143@main (c887d10d6123).
https://bugs.webkit.org/show_bug.cgi?id=302900
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
Canonical link: https://commits.webkit.org/298234.317@webkitglib/2.50
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications