Support more CSS properties for ::marker master
authorgraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Oct 2021 06:41:27 +0000 (06:41 +0000)
committergraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Oct 2021 06:41:27 +0000 (06:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=231972

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Mark WPT progressions.

* web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt:
* web-platform-tests/css/css-pseudo/marker-default-styles-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:

Source/WebCore:

Support additional text properties for ::marker.

* style/PropertyAllowlist.cpp:
(WebCore::Style::isValidMarkerStyleProperty):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284519 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/style/PropertyAllowlist.cpp

index 8a07f43ffc872f6d5ba61e3a6b53deedae8ff374..a95cd465ee86bf5904ac5e3d43f79c4a0af18c5c 100644 (file)
@@ -1,3 +1,17 @@
+2021-10-19  Antoine Quint  <graouts@webkit.org>
+
+        Support more CSS properties for ::marker
+        https://bugs.webkit.org/show_bug.cgi?id=231972
+
+        Reviewed by Simon Fraser.
+
+        Mark WPT progressions.
+
+        * web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt:
+        * web-platform-tests/css/css-pseudo/marker-default-styles-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:
+
 2021-10-19  Chris Dumez  <cdumez@apple.com>
 
         Resync COOP /COEP WPT tests from upstream WPT
index 269f9725bc5c143fe4e3ac2b8233fa62ee04f1c2..f336831c7bc58dbe495a1a3425306463bdba695b 100644 (file)
@@ -1,13 +1,13 @@
 
 FAIL Computed 'content' for list-item ::marker, variant default assert_equals: expected "normal" but got ""
 FAIL Computed 'content' for list-item ::marker, variant normal assert_equals: expected "normal" but got ""
-FAIL Computed 'content' for list-item ::marker, variant string assert_equals: expected "\"string\"" but got ""
-FAIL Computed 'content' for list-item ::marker, variant image assert_equals: expected "url(\"about:invalid\")" but got ""
+PASS Computed 'content' for list-item ::marker, variant string
+PASS Computed 'content' for list-item ::marker, variant image
 FAIL Computed 'content' for list-item ::marker, variant none assert_equals: expected "none" but got ""
 FAIL Computed 'content' for non-list-item ::marker, variant default assert_equals: expected "normal" but got ""
 FAIL Computed 'content' for non-list-item ::marker, variant normal assert_equals: expected "normal" but got ""
-FAIL Computed 'content' for non-list-item ::marker, variant string assert_equals: expected "\"string\"" but got ""
-FAIL Computed 'content' for non-list-item ::marker, variant image assert_equals: expected "url(\"about:invalid\")" but got ""
+PASS Computed 'content' for non-list-item ::marker, variant string
+PASS Computed 'content' for non-list-item ::marker, variant image
 FAIL Computed 'content' for non-list-item ::marker, variant none assert_equals: expected "none" but got ""
 item
 item
index 1940e4317b2e16c787252bace72d3fd39782fffd..ec76fe89805aef1e1bfee0bdaebf0a7d15dc98ac 100644 (file)
@@ -1,35 +1,35 @@
 
-FAIL Computed value of 'unicode-bidi' for outside symbol assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for outside symbol
 PASS Computed value of 'font-variant-numeric' for outside symbol
-FAIL Computed value of 'text-transform' for outside symbol assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for outside symbol
 FAIL Computed value of 'text-indent' for outside symbol assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for outside decimal assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for outside decimal
 PASS Computed value of 'font-variant-numeric' for outside decimal
-FAIL Computed value of 'text-transform' for outside decimal assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for outside decimal
 FAIL Computed value of 'text-indent' for outside decimal assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for outside string assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for outside string
 PASS Computed value of 'font-variant-numeric' for outside string
-FAIL Computed value of 'text-transform' for outside string assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for outside string
 FAIL Computed value of 'text-indent' for outside string assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for outside marker assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for outside marker
 PASS Computed value of 'font-variant-numeric' for outside marker
-FAIL Computed value of 'text-transform' for outside marker assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for outside marker
 FAIL Computed value of 'text-indent' for outside marker assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for inside symbol assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for inside symbol
 PASS Computed value of 'font-variant-numeric' for inside symbol
-FAIL Computed value of 'text-transform' for inside symbol assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for inside symbol
 FAIL Computed value of 'text-indent' for inside symbol assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for inside decimal assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for inside decimal
 PASS Computed value of 'font-variant-numeric' for inside decimal
-FAIL Computed value of 'text-transform' for inside decimal assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for inside decimal
 FAIL Computed value of 'text-indent' for inside decimal assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for inside string assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for inside string
 PASS Computed value of 'font-variant-numeric' for inside string
-FAIL Computed value of 'text-transform' for inside string assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for inside string
 FAIL Computed value of 'text-indent' for inside string assert_equals: expected "0px" but got "1px"
-FAIL Computed value of 'unicode-bidi' for inside marker assert_equals: expected "isolate" but got "normal"
+PASS Computed value of 'unicode-bidi' for inside marker
 PASS Computed value of 'font-variant-numeric' for inside marker
-FAIL Computed value of 'text-transform' for inside marker assert_equals: expected "none" but got "lowercase"
+PASS Computed value of 'text-transform' for inside marker
 FAIL Computed value of 'text-indent' for inside marker assert_equals: expected "0px" but got "1px"
 outside symbol
 outside decimal
index 2974d0ca1dbfce0fd45983f616c4dce49c530f42..3876bca9ede5493c89c9d03acbc8a4983d834ff9 100644 (file)
@@ -1,5 +1,5 @@
 
-FAIL Property font value 'italic small-caps 900 expanded 25px / 50px Ahem' in ::marker assert_in_array: value "italic small-caps 900 expanded 25px/normal Ahem" not in array ["italic small-caps 900 expanded 25px / 50px Ahem", "italic small-caps 900 expanded 25px/50px Ahem"]
+PASS Property font value 'italic small-caps 900 expanded 25px / 50px Ahem' in ::marker
 PASS Property font-family value 'Ahem' in ::marker
 PASS Property font-feature-settings value '"smcp"' in ::marker
 FAIL Property font-kerning value 'none' in ::marker assert_equals: expected "none" but got "auto"
@@ -15,13 +15,13 @@ PASS Property font-variant-ligatures value 'historical-ligatures' in ::marker
 PASS Property font-variant-numeric value 'slashed-zero' in ::marker
 PASS Property font-variant-position value 'sub' in ::marker
 PASS Property font-weight value '900' in ::marker
-FAIL Property line-height value '50px' in ::marker assert_equals: expected "50px" but got "normal"
-FAIL Property white-space value 'nowrap' in ::marker assert_equals: expected "nowrap" but got "normal"
+PASS Property line-height value '50px' in ::marker
+PASS Property white-space value 'nowrap' in ::marker
 PASS Property color value 'rgb(0, 100, 200)' in ::marker
 FAIL Property text-combine-upright value 'all' in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
-FAIL Property unicode-bidi value 'plaintext' in ::marker assert_equals: expected "plaintext" but got "normal"
-FAIL Property direction value 'rtl' in ::marker assert_equals: expected "rtl" but got "ltr"
-FAIL Property content value '"foo"' in ::marker assert_equals: expected "\"foo\"" but got ""
+PASS Property unicode-bidi value 'plaintext' in ::marker
+PASS Property direction value 'rtl' in ::marker
+PASS Property content value '"foo"' in ::marker
 FAIL Property animation value '1s linear 2s infinite alternate forwards paused anim' in ::marker assert_equals: expected "1s linear 2s infinite alternate forwards paused anim" but got ""
 PASS Property animation-delay value '1s' in ::marker
 PASS Property animation-direction value 'alternate' in ::marker
@@ -37,19 +37,19 @@ PASS Property transition-duration value '2s' in ::marker
 PASS Property transition-property value 'display' in ::marker
 PASS Property transition-timing-function value 'linear' in ::marker
 FAIL Property hyphens value 'none' in ::marker assert_true: hyphens doesn't seem to be supported in the computed style expected true got false
-FAIL Property letter-spacing value '10px' in ::marker assert_equals: expected "10px" but got "normal"
-FAIL Property line-break value 'anywhere' in ::marker assert_equals: expected "anywhere" but got "auto"
-FAIL Property overflow-wrap value 'anywhere' in ::marker assert_equals: expected "anywhere" but got "normal"
-FAIL Property tab-size value '10px' in ::marker assert_equals: expected "10px" but got "8"
-FAIL Property text-transform value 'uppercase' in ::marker assert_equals: expected "uppercase" but got "none"
-FAIL Property word-break value 'break-word' in ::marker assert_equals: expected "break-word" but got "normal"
-FAIL Property word-spacing value '10px' in ::marker assert_equals: expected "10px" but got "0px"
-FAIL Property text-decoration-skip-ink value 'none' in ::marker assert_equals: expected "none" but got "auto"
+PASS Property letter-spacing value '10px' in ::marker
+PASS Property line-break value 'anywhere' in ::marker
+PASS Property overflow-wrap value 'anywhere' in ::marker
+PASS Property tab-size value '10px' in ::marker
+PASS Property text-transform value 'uppercase' in ::marker
+PASS Property word-break value 'break-word' in ::marker
+PASS Property word-spacing value '10px' in ::marker
+PASS Property text-decoration-skip-ink value 'none' in ::marker
 FAIL Property text-emphasis value 'dot rgb(0, 255, 0)' in ::marker assert_equals: expected "dot rgb(0, 255, 0)" but got ""
-FAIL Property text-emphasis-color value 'rgb(0, 255, 0)' in ::marker assert_equals: expected "rgb(0, 255, 0)" but got "rgb(0, 0, 0)"
-FAIL Property text-emphasis-position value 'under left' in ::marker assert_equals: expected "under left" but got "over right"
-FAIL Property text-emphasis-style value 'dot' in ::marker assert_equals: expected "dot" but got "none"
-FAIL Property text-shadow value 'rgb(0, 255, 0) 1px 2px 3px' in ::marker assert_equals: expected "rgb(0, 255, 0) 1px 2px 3px" but got "none"
+PASS Property text-emphasis-color value 'rgb(0, 255, 0)' in ::marker
+PASS Property text-emphasis-position value 'under left' in ::marker
+FAIL Property text-emphasis-style value 'dot' in ::marker assert_equals: expected "dot" but got "filled dot"
+PASS Property text-shadow value 'rgb(0, 255, 0) 1px 2px 3px' in ::marker
 PASS Property display value 'none' in ::marker
 PASS Property position value 'absolute' in ::marker
 PASS Property float value 'right' in ::marker
index 888dd9880ce7a0e23cd814b3db3ca05dea8bdc4b..b06c324a46e70c6199d689713ae728ffbc597e1f 100644 (file)
@@ -1,5 +1,5 @@
 
-FAIL Animation of font in ::marker assert_in_array: value "italic normal 500 expanded 15px/normal -webkit-standard" not in array ["italic small-caps 500 expanded 15px / 35px Ahem", "italic small-caps 500 expanded 15px/35px Ahem"]
+FAIL Animation of font in ::marker assert_in_array: value "italic normal 500 expanded 15px/35px -webkit-standard" not in array ["italic small-caps 500 expanded 15px / 35px Ahem", "italic small-caps 500 expanded 15px/35px Ahem"]
 FAIL Animation of font-family in ::marker assert_equals: expected "Ahem" but got "-webkit-standard"
 FAIL Animation of font-feature-settings in ::marker assert_equals: expected "\"smcp\"" but got "normal"
 FAIL Animation of font-kerning in ::marker assert_equals: expected "none" but got "auto"
@@ -15,8 +15,8 @@ FAIL Animation of font-variant-ligatures in ::marker assert_equals: expected "hi
 FAIL Animation of font-variant-numeric in ::marker assert_equals: expected "slashed-zero" but got "tabular-nums"
 FAIL Animation of font-variant-position in ::marker assert_equals: expected "sub" but got "normal"
 PASS Animation of font-weight in ::marker
-FAIL Animation of line-height in ::marker assert_equals: expected "35px" but got "normal"
-FAIL Animation of white-space in ::marker assert_equals: expected "nowrap" but got "normal"
+PASS Animation of line-height in ::marker
+FAIL Animation of white-space in ::marker assert_equals: expected "nowrap" but got "pre"
 FAIL Animation of color in ::marker assert_equals: expected "rgb(50, 150, 100)" but got "rgb(0, 0, 0)"
 FAIL Animation of text-combine-upright in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
 PASS Animation of unicode-bidi in ::marker
@@ -43,7 +43,7 @@ FAIL Animation of list-style in ::marker assert_equals: expected "outside none d
 PASS Animation of list-style-image in ::marker
 PASS Animation of list-style-position in ::marker
 PASS Animation of list-style-type in ::marker
-FAIL Transition of font in ::marker assert_in_array: value "italic small-caps 500 expanded 15px/normal Ahem" not in array ["italic small-caps 500 expanded 15px / 35px Ahem", "italic small-caps 500 expanded 15px/35px Ahem"]
+PASS Transition of font in ::marker
 PASS Transition of font-family in ::marker
 PASS Transition of font-feature-settings in ::marker
 FAIL Transition of font-kerning in ::marker assert_equals: expected "none" but got "auto"
@@ -59,27 +59,27 @@ PASS Transition of font-variant-ligatures in ::marker
 PASS Transition of font-variant-numeric in ::marker
 PASS Transition of font-variant-position in ::marker
 PASS Transition of font-weight in ::marker
-FAIL Transition of line-height in ::marker assert_equals: expected "35px" but got "normal"
-FAIL Transition of white-space in ::marker assert_equals: expected "nowrap" but got "normal"
+PASS Transition of line-height in ::marker
+PASS Transition of white-space in ::marker
 PASS Transition of color in ::marker
 FAIL Transition of text-combine-upright in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
-FAIL Transition of unicode-bidi in ::marker assert_equals: expected "plaintext" but got "normal"
-FAIL Transition of direction in ::marker assert_equals: expected "rtl" but got "ltr"
-FAIL Transition of content in ::marker assert_equals: expected "\"bar\"" but got ""
+PASS Transition of unicode-bidi in ::marker
+PASS Transition of direction in ::marker
+PASS Transition of content in ::marker
 FAIL Transition of hyphens in ::marker assert_true: hyphens doesn't seem to be supported in the computed style expected true got false
-FAIL Transition of letter-spacing in ::marker assert_equals: expected "10px" but got "normal"
-FAIL Transition of line-break in ::marker assert_equals: expected "anywhere" but got "auto"
-FAIL Transition of overflow-wrap in ::marker assert_equals: expected "anywhere" but got "normal"
-FAIL Transition of tab-size in ::marker assert_equals: expected "10px" but got "8"
-FAIL Transition of text-transform in ::marker assert_equals: expected "uppercase" but got "none"
-FAIL Transition of word-break in ::marker assert_equals: expected "break-word" but got "normal"
-FAIL Transition of word-spacing in ::marker assert_equals: expected "10px" but got "0px"
-FAIL Transition of text-decoration-skip-ink in ::marker assert_equals: expected "none" but got "auto"
+PASS Transition of letter-spacing in ::marker
+PASS Transition of line-break in ::marker
+PASS Transition of overflow-wrap in ::marker
+PASS Transition of tab-size in ::marker
+PASS Transition of text-transform in ::marker
+PASS Transition of word-break in ::marker
+PASS Transition of word-spacing in ::marker
+PASS Transition of text-decoration-skip-ink in ::marker
 FAIL Transition of text-emphasis in ::marker assert_equals: expected "triangle rgb(50, 100, 100)" but got ""
-FAIL Transition of text-emphasis-color in ::marker assert_equals: expected "rgb(50, 100, 100)" but got "rgb(0, 0, 0)"
-FAIL Transition of text-emphasis-position in ::marker assert_equals: expected "under left" but got "over right"
-FAIL Transition of text-emphasis-style in ::marker assert_equals: expected "triangle" but got "none"
-FAIL Transition of text-shadow in ::marker assert_equals: expected "rgb(50, 100, 100) 2px 2px 2px" but got "none"
+FAIL Transition of text-emphasis-color in ::marker assert_equals: expected "rgb(50, 100, 100)" but got "rgb(100, 0, 200)"
+PASS Transition of text-emphasis-position in ::marker
+FAIL Transition of text-emphasis-style in ::marker assert_equals: expected "triangle" but got "filled triangle"
+PASS Transition of text-shadow in ::marker
 PASS Transition of display in ::marker
 PASS Transition of position in ::marker
 PASS Transition of float in ::marker
index b8ecf1446cfdb5df84e752d76bc60ec88294a80c..20e7a645d888989399716eed596fc1eb0edfbbbd 100644 (file)
@@ -1,3 +1,15 @@
+2021-10-19  Antoine Quint  <graouts@webkit.org>
+
+        Support more CSS properties for ::marker
+        https://bugs.webkit.org/show_bug.cgi?id=231972
+
+        Reviewed by Simon Fraser.
+
+        Support additional text properties for ::marker.
+
+        * style/PropertyAllowlist.cpp:
+        (WebCore::Style::isValidMarkerStyleProperty):
+
 2021-10-19  Ben Nham  <nham@apple.com>
 
         Add NetworkProcess stubs for push subscriptions
index 8afdb4c87c9108c92cb840522231fa5d61474ab6..8a5ca08ca8354acdd52b6fc8465e9eb2db6b2cad 100644 (file)
@@ -36,12 +36,15 @@ PropertyAllowlist propertyAllowlistForPseudoId(PseudoId pseudoId)
     return PropertyAllowlist::None;
 }
 
-// https://www.w3.org/TR/css-pseudo-4/#marker-pseudo (Editor's Draft, 25 July 2017)
+// https://drafts.csswg.org/css-lists-3/#marker-properties (Editor's Draft, 14 July 2021)
 // FIXME: this is outdated, see https://bugs.webkit.org/show_bug.cgi?id=218791.
 bool isValidMarkerStyleProperty(CSSPropertyID id)
 {
     switch (id) {
     case CSSPropertyColor:
+    case CSSPropertyContent:
+    case CSSPropertyDirection:
+    case CSSPropertyFont:
     case CSSPropertyFontFamily:
     case CSSPropertyFontFeatureSettings:
     case CSSPropertyFontSize:
@@ -59,6 +62,24 @@ bool isValidMarkerStyleProperty(CSSPropertyID id)
     case CSSPropertyFontOpticalSizing:
     case CSSPropertyFontVariationSettings:
 #endif
+    case CSSPropertyWebkitHyphens:
+    case CSSPropertyLetterSpacing:
+    case CSSPropertyLineBreak:
+    case CSSPropertyLineHeight:
+    case CSSPropertyListStyle:
+    case CSSPropertyOverflowWrap:
+    case CSSPropertyTabSize:
+    case CSSPropertyTextDecorationSkipInk:
+    case CSSPropertyWebkitTextEmphasis:
+    case CSSPropertyWebkitTextEmphasisColor:
+    case CSSPropertyWebkitTextEmphasisPosition:
+    case CSSPropertyWebkitTextEmphasisStyle:
+    case CSSPropertyTextShadow:
+    case CSSPropertyTextTransform:
+    case CSSPropertyUnicodeBidi:
+    case CSSPropertyWordBreak:
+    case CSSPropertyWordSpacing:
+    case CSSPropertyWhiteSpace:
     case CSSPropertyAnimationDuration:
     case CSSPropertyAnimationTimingFunction:
     case CSSPropertyAnimationDelay: