Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9e8747f4819708b1c2cfa80ba0bf32a6042e9a2f
https://github.com/WebKit/WebKit/commit/9e8747f4819708b1c2cfa80ba0bf32a6042e9a2f
Author: Rob Buis <[email protected]>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations
A
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/nested-pattern-boundingBoxModeContent-expected.txt
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
M Source/WebCore/rendering/svg/RenderSVGResourcePattern.h
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebCore/svg/SVGPatternElement.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
Log Message:
-----------
[LBSE] Improve RenderSVGResourcePattern
https://bugs.webkit.org/show_bug.cgi?id=269184
Reviewed by Nikolas Zimmermann.
Improve pattern resource implementation in the following ways:
- take legacy pattern resource calculations to fix
custom/nested-pattern-boundingBoxModeContent.svg
- cache pattern tiles as image bitmaps (like legacy did). This allows
pattern-nested-reference.html to not time out
- take care of correctly invalidating in case pattern contents change or a
referencing client is added or removed
This PR relies on SVGGraphicsElement::invalidateResourceImageBuffersIfNeeded
introduced in r277292 and adds
patterns as an SVG resource to invalidate for image buffer caching. The
expectation is that this is the final
SVG resource that needs to be taken into account in
SVGGraphicsElement::invalidateResourceImageBuffersIfNeeded.
* LayoutTests/platform/mac-sonoma-wk2-lbse-text/TestExpectations:
*
LayoutTests/platform/mac-sonoma-wk2-lbse-text/svg/custom/nested-pattern-boundingBoxModeContent-expected.txt:
Added.
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::prepareFillOperation):
(WebCore::RenderSVGResourcePattern::prepareStrokeOperation):
(WebCore::RenderSVGResourcePattern::createTileImage const):
(WebCore::RenderSVGResourcePattern::removeReferencingCSSClient):
(WebCore::clear2DRotation): Deleted.
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.h:
(WebCore::RenderSVGResourcePattern::invalidatePattern):
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::invalidateResourceImageBuffersIfNeeded):
* Source/WebCore/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::childrenChanged):
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
Canonical link: https://commits.webkit.org/277306@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes