Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0edc4f619186f87c8862425f99da70e257ca8281
https://github.com/WebKit/WebKit/commit/0edc4f619186f87c8862425f99da70e257ca8281
Author: Sam Weinig <[email protected]>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M LayoutTests/fast/masking/parsing-clip-path-iri-expected.txt
M LayoutTests/fast/masking/parsing-clip-path-iri.html
M
LayoutTests/imported/w3c/web-platform-tests/svg/painting/parsing/fill-computed-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/svg/painting/parsing/stroke-computed-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/painting/parsing/fill-computed-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/painting/parsing/stroke-computed-expected.txt
M Source/WebCore/Headers.cmake
M Source/WebCore/SaferCPPExpectations/RefCntblBaseVirtualDtorExpectations
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSCursorImageValue.cpp
M Source/WebCore/css/CSSCursorImageValue.h
M Source/WebCore/css/CSSCustomPropertyValue.cpp
M Source/WebCore/css/CSSCustomPropertyValue.h
M Source/WebCore/css/CSSFilterPropertyValue.cpp
M Source/WebCore/css/CSSFontFaceSrcValue.cpp
M Source/WebCore/css/CSSFontFaceSrcValue.h
M Source/WebCore/css/CSSImageValue.cpp
M Source/WebCore/css/CSSImageValue.h
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.h
A Source/WebCore/css/CSSURLValue.cpp
A Source/WebCore/css/CSSURLValue.h
M Source/WebCore/css/CSSUnits.cpp
M Source/WebCore/css/CSSUnits.h
M Source/WebCore/css/CSSValue.cpp
M Source/WebCore/css/CSSValue.h
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/ComputedStyleExtractor.h
M Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp
M Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
M Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h
M Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
M Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
M Source/WebCore/css/calc/CSSCalcTree.cpp
M Source/WebCore/css/calc/CSSCalcType.cpp
M Source/WebCore/css/parser/CSSParserContext.cpp
M Source/WebCore/css/parser/CSSParserContext.h
M Source/WebCore/css/parser/CSSPropertyParser.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Motion.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.h
M Source/WebCore/css/scripts/process-css-properties.py
M Source/WebCore/css/typedom/CSSStyleImageValue.cpp
M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
M Source/WebCore/css/values/CSSValueTypes.cpp
M Source/WebCore/css/values/CSSValueTypes.h
R Source/WebCore/css/values/filter-effects/CSSFilterReference.cpp
M Source/WebCore/css/values/filter-effects/CSSFilterReference.h
A Source/WebCore/css/values/primitives/CSSURL.cpp
A Source/WebCore/css/values/primitives/CSSURL.h
M Source/WebCore/editing/cocoa/HTMLConverter.mm
M Source/WebCore/page/ElementTargetingController.cpp
M Source/WebCore/platform/graphics/filters/FilterOperation.cpp
M Source/WebCore/platform/graphics/filters/FilterOperation.h
M Source/WebCore/rendering/CSSFilter.cpp
M Source/WebCore/rendering/PathOperation.cpp
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/rendering/ReferencedSVGResources.cpp
M Source/WebCore/rendering/ReferencedSVGResources.h
M Source/WebCore/rendering/RenderLayerFilters.cpp
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/RenderLayerModelObject.h
A Source/WebCore/rendering/style/ReferenceFilterOperation.cpp
A Source/WebCore/rendering/style/ReferenceFilterOperation.h
M Source/WebCore/rendering/style/SVGRenderStyle.h
M Source/WebCore/rendering/style/SVGRenderStyleDefs.h
M Source/WebCore/rendering/style/StyleCachedImage.cpp
M Source/WebCore/rendering/style/StyleCachedImage.h
M Source/WebCore/rendering/style/StyleCursorImage.cpp
M Source/WebCore/rendering/style/StyleCursorImage.h
M Source/WebCore/rendering/style/StyleFilterImage.cpp
M Source/WebCore/rendering/style/StyleImage.h
M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
M Source/WebCore/rendering/svg/legacy/SVGResources.cpp
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/values/StyleValueTypes.h
M Source/WebCore/style/values/filter-effects/StyleFilterProperty.cpp
A Source/WebCore/style/values/filter-effects/StyleFilterReference.cpp
A Source/WebCore/style/values/filter-effects/StyleFilterReference.h
A Source/WebCore/style/values/primitives/StyleURL.cpp
A Source/WebCore/style/values/primitives/StyleURL.h
M Source/WebCore/style/values/primitives/StyleUnevaluatedCalculation.cpp
M Source/WebCore/svg/SVGFontFaceUriElement.cpp
M Source/WebCore/svg/SVGURIReference.cpp
M Source/WebCore/svg/SVGURIReference.h
M Source/WebCore/svg/graphics/SVGResourceImage.cpp
M Source/WebCore/svg/graphics/SVGResourceImage.h
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Log Message:
-----------
Convert URL types to strongly typed CSS/Style values
https://bugs.webkit.org/show_bug.cgi?id=291045
Reviewed by Antti Koivisto and Darin Adler.
Update parsing and representation of <url> productions as
defined in CSS Values and Units 4 (https://www.w3.org/TR/css-values-4/#urls)
to use strong value types and have consistent behavior for
serialization and style building. This fixes a few WPT test
failures.
As URLs are no longer representable by CSSPrimitiveValue,
a new CSSURLValue type is also added that wraps CSS::URL.
This change allows removing a lot of unnecessary re-resolution
that was going on in the image code, as the only re-resolution
needed can be performed by style building. Ultimately, it would
be better if we could remove that final case as well, by finding
a good hook to re-parse necessary styles adopted from documents,
but that can be done separately.
To allow using Style::URL in ReferenceFilterOperation without a
laying violation (or rather, without additional layering violations
as it was already using non-platform types), ReferenceFilterOperation
was moved out of platform. This matches what was done recently for
DropShadowFilterOperationWithStyleColor.
* LayoutTests/fast/masking/parsing-clip-path-iri-expected.txt:
* LayoutTests/fast/masking/parsing-clip-path-iri.html:
*
LayoutTests/imported/w3c/web-platform-tests/svg/painting/parsing/fill-computed-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/svg/painting/parsing/stroke-computed-expected.txt:
* Source/WebCore/Headers.cmake:
* Source/WebCore/SaferCPPExpectations/RefCntblBaseVirtualDtorExpectations:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSCursorImageValue.cpp:
* Source/WebCore/css/CSSCursorImageValue.h:
* Source/WebCore/css/CSSCustomPropertyValue.cpp:
* Source/WebCore/css/CSSCustomPropertyValue.h:
* Source/WebCore/css/CSSFilterPropertyValue.cpp:
* Source/WebCore/css/CSSFontFaceSrcValue.cpp:
* Source/WebCore/css/CSSFontFaceSrcValue.h:
* Source/WebCore/css/CSSImageValue.cpp:
* Source/WebCore/css/CSSImageValue.h:
* Source/WebCore/css/CSSPrimitiveValue.cpp:
* Source/WebCore/css/CSSPrimitiveValue.h:
* Source/WebCore/css/CSSURLValue.cpp: Added.
* Source/WebCore/css/CSSURLValue.h: Added.
* Source/WebCore/css/CSSUnits.cpp:
* Source/WebCore/css/CSSUnits.h:
* Source/WebCore/css/CSSValue.cpp:
* Source/WebCore/css/CSSValue.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
* Source/WebCore/css/ComputedStyleExtractor.h:
* Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp:
* Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp:
* Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h:
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
* Source/WebCore/css/calc/CSSCalcTree.cpp:
* Source/WebCore/css/calc/CSSCalcType.cpp:
* Source/WebCore/css/parser/CSSParserContext.cpp:
* Source/WebCore/css/parser/CSSParserContext.h:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Motion.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.h:
* Source/WebCore/css/scripts/process-css-properties.py:
* Source/WebCore/css/typedom/CSSStyleImageValue.cpp:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/values/CSSValueTypes.cpp:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/css/values/filter-effects/CSSFilterReference.h:
* Source/WebCore/css/values/primitives/CSSURL.cpp: Added.
* Source/WebCore/css/values/primitives/CSSURL.h: Added.
* Source/WebCore/editing/cocoa/HTMLConverter.mm:
* Source/WebCore/page/ElementTargetingController.cpp:
* Source/WebCore/platform/graphics/filters/FilterOperation.cpp:
* Source/WebCore/platform/graphics/filters/FilterOperation.h:
* Source/WebCore/rendering/CSSFilter.cpp:
* Source/WebCore/rendering/PathOperation.cpp:
* Source/WebCore/rendering/PathOperation.h:
* Source/WebCore/rendering/ReferencedSVGResources.cpp:
* Source/WebCore/rendering/ReferencedSVGResources.h:
* Source/WebCore/rendering/RenderLayerFilters.cpp:
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
* Source/WebCore/rendering/RenderLayerModelObject.h:
* Source/WebCore/rendering/style/ReferenceFilterOperation.cpp: Added.
* Source/WebCore/rendering/style/ReferenceFilterOperation.h: Added.
* Source/WebCore/rendering/style/SVGRenderStyle.h:
* Source/WebCore/rendering/style/SVGRenderStyleDefs.h:
* Source/WebCore/rendering/style/StyleCachedImage.cpp:
* Source/WebCore/rendering/style/StyleCachedImage.h:
* Source/WebCore/rendering/style/StyleCursorImage.cpp:
* Source/WebCore/rendering/style/StyleCursorImage.h:
* Source/WebCore/rendering/style/StyleFilterImage.cpp:
* Source/WebCore/rendering/style/StyleImage.h:
* Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
* Source/WebCore/rendering/svg/legacy/SVGResources.cpp:
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/filter-effects/StyleFilterProperty.cpp:
* Source/WebCore/style/values/filter-effects/StyleFilterReference.cpp: Added.
* Source/WebCore/style/values/filter-effects/StyleFilterReference.h: Added.
* Source/WebCore/style/values/primitives/StyleURL.cpp: Added.
* Source/WebCore/style/values/primitives/StyleURL.h: Added.
* Source/WebCore/style/values/primitives/StyleUnevaluatedCalculation.cpp:
* Source/WebCore/svg/SVGFontFaceUriElement.cpp:
* Source/WebCore/svg/SVGURIReference.cpp:
* Source/WebCore/svg/SVGURIReference.h:
* Source/WebCore/svg/graphics/SVGResourceImage.cpp:
* Source/WebCore/svg/graphics/SVGResourceImage.h:
Canonical link: https://commits.webkit.org/293295@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