Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 34213f695a38bcdb51e067113f26fc12b8682021
      
https://github.com/WebKit/WebKit/commit/34213f695a38bcdb51e067113f26fc12b8682021
  Author: Simon Fraser <[email protected]>
  Date:   2026-05-04 (Mon, 04 May 2026)

  Changed paths:
    A 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius.html
    M Source/WebCore/platform/graphics/GraphicsContextSwitcher.h
    M Source/WebCore/platform/graphics/ImageBufferContextSwitcher.cpp
    M Source/WebCore/platform/graphics/ImageBufferContextSwitcher.h
    M Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.cpp
    M Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.h
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/RenderLayerFilters.cpp
    M Source/WebCore/rendering/RenderLayerFilters.h

  Log Message:
  -----------
  REGRESSION (303819@main): Child with filter:blur() ignores border radius 
overflow clipping
https://bugs.webkit.org/show_bug.cgi?id=312584
rdar://175519148

Reviewed by Said Abou-Hallawa.

When using the TransparencyLayerContextSwitcher path for filters, we need to be 
able
to supply a complex clip for items clipped by border-radius on ancestors; this
requires running the code in `applyAncestorClippingForBorderRadius()` after
saving the graphics state, before starting the transparency layer, so factor
the code to allow this by passing a function to GraphicsContextSwitcher.

Tests: 
imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius-ref.html
       
imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius.html

* 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/blur-clip-border-radius.html:
 Added.
* Source/WebCore/platform/graphics/GraphicsContextSwitcher.h:
(WebCore::GraphicsContextSwitcher::beginClipAndDrawSourceImage):
* Source/WebCore/platform/graphics/ImageBufferContextSwitcher.cpp:
(WebCore::ImageBufferContextSwitcher::beginClipAndDrawSourceImage):
* Source/WebCore/platform/graphics/ImageBufferContextSwitcher.h:
* Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.cpp:
(WebCore::TransparencyLayerContextSwitcher::beginClipAndDrawSourceImage):
* Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.h:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::applyAncestorClippingForBorderRadius):
(WebCore::RenderLayer::setupFilters):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::beginFilterEffect):
* Source/WebCore/rendering/RenderLayerFilters.h:

Canonical link: https://commits.webkit.org/312531@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to