[webkit-changes] [WebKit/WebKit] c2222b: [css-content] Fix issues with CSS `content` comput...
Tim Nguyen
noreply at github.com
Sat Dec 23 11:08:47 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c2222b448f74ddeb8f97fe41999e243a10235dc1
https://github.com/WebKit/WebKit/commit/c2222b448f74ddeb8f97fe41999e243a10235dc1
Author: Tim Nguyen <ntim at apple.com>
Date: 2023-12-23 (Sat, 23 Dec 2023)
Changed paths:
M LayoutTests/fast/css-generated-content/008.html
A LayoutTests/fast/css-generated-content/013-expected.html
A LayoutTests/fast/css-generated-content/016-expected.html
M LayoutTests/fast/css-generated-content/016.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-invalid-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-invalid.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid.html
R LayoutTests/platform/glib/fast/css-generated-content/013-expected.txt
R LayoutTests/platform/glib/fast/css-generated-content/016-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed-expected.txt
A LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid-expected.txt
R LayoutTests/platform/gtk/fast/css-generated-content/013-expected.png
R LayoutTests/platform/gtk/fast/css-generated-content/016-expected.png
R LayoutTests/platform/ios-simulator/fast/css-generated-content/013-expected.png
R LayoutTests/platform/ios/fast/css-generated-content/013-expected.txt
R LayoutTests/platform/ios/fast/css-generated-content/016-expected.txt
R LayoutTests/platform/mac/fast/css-generated-content/013-expected.png
R LayoutTests/platform/mac/fast/css-generated-content/013-expected.txt
R LayoutTests/platform/mac/fast/css-generated-content/016-expected.png
R LayoutTests/platform/mac/fast/css-generated-content/016-expected.txt
R LayoutTests/platform/wincairo/fast/css-generated-content/013-expected.txt
R LayoutTests/platform/wincairo/fast/css-generated-content/016-expected.txt
M Source/WebCore/css/CSSCounterValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.h
M Source/WebCore/css/CSSPrimitiveValueMappings.h
M Source/WebCore/css/CSSUnits.cpp
M Source/WebCore/css/CSSUnits.h
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp
M Source/WebCore/rendering/style/RenderStyle.cpp
Log Message:
-----------
[css-content] Fix issues with CSS `content` computed value serialization
https://bugs.webkit.org/show_bug.cgi?id=266828
rdar://120061551
Reviewed by Darin Adler.
There are 4 issues:
- alt text is not serialized as part of the computed style
- (no-)open-quote/close-quote content is dropped from serialization
- All variants of `counters()`/`counter()` are always serialized to single-argument `counter()`
- Consecutive strings are concatenated ("foo" "bar" becomes "foobar")
Also remove `CSSPrimitiveValue::createCounterName` and related code, since we now always use the more accurate `CSSCounterValue` to serialize counters.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid.html: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-content/parsing/content-computed-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-content/parsing/content-valid-expected.txt: Added.
Add WPTs to avoid regressing this bug.
* LayoutTests/fast/css-generated-content/008.html:
* LayoutTests/fast/css-generated-content/013-expected.html: Added.
* LayoutTests/fast/css-generated-content/016-expected.html: Added.
* LayoutTests/fast/css-generated-content/016.html:
* LayoutTests/platform/glib/fast/css-generated-content/013-expected.txt: Removed.
* LayoutTests/platform/glib/fast/css-generated-content/016-expected.txt: Removed.
* LayoutTests/platform/gtk/fast/css-generated-content/013-expected.png: Removed.
* LayoutTests/platform/gtk/fast/css-generated-content/016-expected.png: Removed.
* LayoutTests/platform/ios-simulator/fast/css-generated-content/013-expected.png: Removed.
* LayoutTests/platform/ios/fast/css-generated-content/013-expected.txt: Removed.
* LayoutTests/platform/ios/fast/css-generated-content/016-expected.txt: Removed.
* LayoutTests/platform/mac/fast/css-generated-content/013-expected.png: Removed.
* LayoutTests/platform/mac/fast/css-generated-content/013-expected.txt: Removed.
* LayoutTests/platform/mac/fast/css-generated-content/016-expected.png: Removed.
* LayoutTests/platform/mac/fast/css-generated-content/016-expected.txt: Removed.
* LayoutTests/platform/wincairo/fast/css-generated-content/013-expected.txt: Removed.
* LayoutTests/platform/wincairo/fast/css-generated-content/016-expected.txt: Removed.
Make these LayoutTests more robust, now that we no longer concatenate text nodes.
* Source/WebCore/css/CSSCounterValue.cpp:
(WebCore::CSSCounterValue::customCSSText const): Fix customCSSText to also detect the customIdent version of decimal.
* Source/WebCore/css/CSSPrimitiveValue.cpp: Remove CSS_COUNTER_NAME type
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::~CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::unitTypeString):
(WebCore::CSSPrimitiveValue::serializeInternal const):
(WebCore::CSSPrimitiveValue::equals const):
(WebCore::CSSPrimitiveValue::addDerivedHash const):
(WebCore::CSSPrimitiveValue::collectComputedStyleDependencies const):
(WebCore::CSSPrimitiveValue::createCounterName): Deleted.
* Source/WebCore/css/CSSPrimitiveValue.h: Remove CSS_COUNTER_NAME type
* Source/WebCore/css/CSSPrimitiveValueMappings.h: Add conversion for QuoteType
* Source/WebCore/css/CSSUnits.cpp: Remove CSS_COUNTER_NAME type
(WebCore::unitCategory):
(WebCore::operator<<):
* Source/WebCore/css/CSSUnits.h: Remove CSS_COUNTER_NAME type
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::contentToCSSValue): Handle quotes and fix handling of counters
* Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp:
(WebCore::hasDoubleValue): Remove CSS_COUNTER_NAME type
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setContent): Stop concatenating consecutive strings
Canonical link: https://commits.webkit.org/272476@main
More information about the webkit-changes
mailing list