Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a73cf0548cd6e04f725ac36102b13cb4890781da
https://github.com/WebKit/WebKit/commit/a73cf0548cd6e04f725ac36102b13cb4890781da
Author: Said Abou-Hallawa <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes