Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a73cf0548cd6e04f725ac36102b13cb4890781da https://github.com/WebKit/WebKit/commit/a73cf0548cd6e04f725ac36102b13cb4890781da Author: Said Abou-Hallawa <s...@apple.com> Date: 2023-09-22 (Fri, 22 Sep 2023)
Changed paths: A LayoutTests/css3/filters/drop-shadow-child-clipped-expected.html A LayoutTests/css3/filters/drop-shadow-child-clipped.html M LayoutTests/fast/filter-image/clipped-filter.html M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerFilters.h M Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp Log Message: ----------- [Filters] Do not clip the destination context when compositing the filter style transparency layers https://bugs.webkit.org/show_bug.cgi?id=261926 rdar://115901634 Reviewed by Simon Fraser. Clipping is not needed at that time because it has to be applied to the filter style transparency layers before drawing the target element. If this unneeded clipping is applied, removing this clipping will overlap with ending the transparency layers. This will end up calling GraphicsContext::restore() with the wrong purpose. Rename FilterTargetSwitcher::needsRedrawSourceImage() to hasSourceImage() and flip its meaning. This will make differentiating software filters from style filters clearer. When hasSourceImage() is true, this means the target element is drawn to an ImageBuffer. * LayoutTests/css3/filters/drop-shadow-child-clipped-expected.html: Added. * LayoutTests/css3/filters/drop-shadow-child-clipped.html: Added. * LayoutTests/fast/filter-image/clipped-filter.html: * Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h: * Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h: (): Deleted. * Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h: (WebCore::FilterTargetSwitcher::hasSourceImage const): (WebCore::FilterTargetSwitcher::needsRedrawSourceImage const): Deleted. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::applyFilters): * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::hasSourceImage const): (WebCore::RenderLayerFilters::beginFilterEffect): (WebCore::RenderLayerFilters::needsRedrawSourceImage const): Deleted. * Source/WebCore/rendering/RenderLayerFilters.h: * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): Canonical link: https://commits.webkit.org/268341@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes