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

Reply via email to