[webkit-changes] [WebKit/WebKit] 7df9f6: [LBSE] Incorrect clipping for non-opaque, outermos...
Nikolas Zimmermann
noreply at github.com
Mon Oct 16 07:07:14 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7df9f6186a3b0f0341ef887829fc8b1f33dbdda2
https://github.com/WebKit/WebKit/commit/7df9f6186a3b0f0341ef887829fc8b1f33dbdda2
Author: Nikolas Zimmermann <nzimmermann at igalia.com>
Date: 2023-10-16 (Mon, 16 Oct 2023)
Changed paths:
M LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations
R LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.png
M LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png
R LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textAnchor-expected.png
R LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png
R LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/js-update-bounce-expected.png
R LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h
Log Message:
-----------
[LBSE] Incorrect clipping for non-opaque, outermost <svg> elements
https://bugs.webkit.org/show_bug.cgi?id=262843
Reviewed by Rob Buis.
RenderLayer::beginTransparencyLayers() pixel snaps the clip rect before
clipping, which shouldn't be done for SVG elements. Other places already
use 'snapRectToDevicePixelsIfNeeded()', this one was still using
'snapRectToDevicePixels()' unconditionally.
Removes the need for a bunch of LBSE specific pixel test results (where the
tests pass, except for opacity clipping related glitches that are now fixed).
Covered by existing tests.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/TestExpectations:
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/as-background-image/svg-as-background-6-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/batik/text/textAnchor-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/container-opacity-clip-viewBox-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/js-update-bounce-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-lbse-text/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png: Removed.
* LayoutTests/platform/mac-ventura-wk2-pixel/svg/as-background-image/svg-as-background-6-expected.png:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers): Only pixel snap the clip rect, if needed.
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::clippedOverflowRect const): Deleted. No longer needed, use the RenderReplaced variant.
* Source/WebCore/rendering/svg/RenderSVGRoot.h:
Canonical link: https://commits.webkit.org/269360@main
More information about the webkit-changes
mailing list