[webkit-changes] [WebKit/WebKit] 3894c7: Fix for pixel-moving CSS filters with clipping
Ahmad Saleem
noreply at github.com
Fri Nov 18 01:19:58 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3894c75f5f9ffe16ec91de57edc2d93b2e2051c2
https://github.com/WebKit/WebKit/commit/3894c75f5f9ffe16ec91de57edc2d93b2e2051c2
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2022-11-18 (Fri, 18 Nov 2022)
Changed paths:
A LayoutTests/css3/filters/effect-drop-shadow-clip-abspos-expected.html
A LayoutTests/css3/filters/effect-drop-shadow-clip-abspos.html
M Source/WebCore/rendering/RenderLayer.cpp
Log Message:
-----------
Fix for pixel-moving CSS filters with clipping
Fix for pixel-moving CSS filters with clipping
https://bugs.webkit.org/show_bug.cgi?id=247961
Reviewed by Simon Fraser.
Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=180361
When using a "pixel-moving" filter (ie., drop-shadow or blur), we
disable the normal clip operation, since we want to want to render
the full results of the element pre-clip for filtering. Clipping is
then applied just before drawing the filtered result.
However, we shouldn't disable *all* clipping recursively, since we
want children which clip themselves to still continue to be clipped.
The fix is to pass the original (unmodified) paintingInfo to
paintChildren().
NOTE - The test case has been slightly modified to apply blur to reflect the issue.
* Source/WebCore/rendering/RenderLayer.cpp:
(RenderLayer::paintLayerContents): Update to take "original" paintingInfo
* LayoutTests/css3/filters/effect-drop-shadow-clip-abpos.html: Added Test Case
* LayoutTests/css3/filters/effect-drop-shadow-clip-abpos-expected.html: Added Test Case Expectations
Canonical link: https://commits.webkit.org/256825@main
More information about the webkit-changes
mailing list