Implement text-combine-upright property
https://bugs.webkit.org/show_bug.cgi?id=150821
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt:
- web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
- web-platform-tests/css/css-writing-modes/inheritance-expected.txt:
- web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-computed-expected.txt:
- web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-digits-001-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-digits-002-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-invalid-001-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-invalid-002-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-valid-001-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Source/WebCore:
webkit.org/b/234694 and webkit.org/b/234707 are landed for this initial version of text-combine-upright.
To reach Chrome parity, layout needs to be tweaked (webkit.org/b/234704), and pseudo elements need to be properly supported (webkit.org/b/234705).
To reach standards parity, it also needs the digits syntax to be implemented (webkit.org/b/234706), which no browser implements yet.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextCombine const):
- css/CSSProperties.json:
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- rendering/LegacyLineLayout.cpp:
(WebCore::expansionBehaviorForInlineTextBox):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- style/PropertyAllowlist.cpp:
(WebCore::Style::isValidMarkerStyleProperty):
Allow setting text-combine-upright on ::marker.
LayoutTests:
- TestExpectations:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/getComputedStyle/resources/property-names.js:
- platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/glib/svg/css/getComputedStyle-basic-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/svg/css/getComputedStyle-basic-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt: