Closed Bug 1591518 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 19852 - [css-pseudo] Implement parsing for ::marker pseudo-element

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Attachments

(2 files)

Sync web-platform-tests PR 19852 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/19852
Details from upstream follow.

Oriol Brufau <obrufau@igalia.com> wrote:

[css-pseudo] Implement parsing for ::marker pseudo-element

Parse ::marker as a valid pseudo-element, behind an experimental flag.
The actual logic of ::marker will be implemented in follow-up patches.

Intent to Implement:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/8v7pouXxxAc

Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo

Bug: 457718

TEST=external/wpt/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html
TEST=external/wpt/css/css-scoping/slotted-parsing.html

Change-Id: Ia4014afdbf5d0f2a642f349641140b03dfceee22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1876407
Commit-Queue: Oriol Brufau \<obrufau@igalia.com>
Reviewed-by: Rune Lillesveen \<futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709390}

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

GitHub CI Results

wpt.fyi PR Results Base Results

Ran 636 tests and 5688 subtests

Firefox

OK : 636
PASS : 5088
FAIL : 579

Chrome

OK : 636
PASS : 4837
FAIL : 830

Safari

OK : 636
PASS : 4080
FAIL : 1587

Firefox-only failures

/css/css-break/parsing/break-inside-valid.html
e.style['break-inside'] = "avoid-column" should set the property value: Firefox: FAIL
e.style['break-inside'] = "avoid-page" should set the property value: Firefox: FAIL

/css/css-box/parsing/max-height-valid.html
e.style['max-height'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-break/parsing/break-before-valid.html
e.style['break-before'] = "recto" should set the property value: Firefox: FAIL
e.style['break-before'] = "avoid-column" should set the property value: Firefox: FAIL
e.style['break-before'] = "avoid-page" should set the property value: Firefox: FAIL
e.style['break-before'] = "verso" should set the property value: Firefox: FAIL
e.style['break-before'] = "column" should set the property value: Firefox: FAIL

/css/css-shapes/parsing/shape-outside-valid.html
e.style['shape-outside'] = "circle(1px)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "ellipse(farthest-side 4% at bottom left)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "ellipse()" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(4% at top right)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "ellipse(closest-side 1px)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle()" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "ellipse(3% 2%)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(closest-side)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(farthest-side at center top)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "ellipse(10% closest-side)" should set the property value: Firefox: FAIL

/css/css-box/parsing/height-valid.html
e.style['height'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-inline/parsing/alignment-baseline-valid.html
e.style['alignment-baseline'] = "baseline" should set the property value: Firefox: FAIL
e.style['alignment-baseline'] = "central" should set the property value: Firefox: FAIL
e.style['alignment-baseline'] = "middle" should set the property value: Firefox: FAIL
e.style['alignment-baseline'] = "mathematical" should set the property value: Firefox: FAIL
e.style['alignment-baseline'] = "ideographic" should set the property value: Firefox: FAIL
e.style['alignment-baseline'] = "alphabetic" should set the property value: Firefox: FAIL

/css/css-grid/parsing/grid-template-areas-valid.html
e.style['grid-template-areas'] = "" a \t b "" should set the property value: Firefox: FAIL
e.style['grid-template-areas'] = ""first ..."" should set the property value: Firefox: FAIL
e.style['grid-template-areas'] = ""c\td"" should set the property value: Firefox: FAIL

/css/css-break/parsing/orphans-valid.html
e.style['orphans'] = "234" should set the property value: Firefox: FAIL
e.style['orphans'] = "1" should set the property value: Firefox: FAIL

/css/css-lists/parsing/list-style-image-valid.html
e.style['list-style-image'] = "linear-gradient(to left bottom, red, blue)" should set the property value: Firefox: FAIL

/css/css-ui/parsing/outline-valid-mandatory.html
e.style['outline'] = "double" should set the property value: Firefox: FAIL
e.style['outline'] = "thick" should set the property value: Firefox: FAIL
e.style['outline'] = "medium" should set the property value: Firefox: FAIL
e.style['outline'] = "solid" should set the property value: Firefox: FAIL
e.style['outline'] = "dashed thin" should set the property value: Firefox: FAIL
e.style['outline'] = "1px" should set the property value: Firefox: FAIL
e.style['outline'] = "dotted" should set the property value: Firefox: FAIL
e.style['outline'] = "auto" should set the property value: Firefox: FAIL
e.style['outline'] = "inset" should set the property value: Firefox: FAIL
e.style['outline'] = "dashed" should set the property value: Firefox: FAIL
e.style['outline'] = "ridge" should set the property value: Firefox: FAIL
e.style['outline'] = "outset" should set the property value: Firefox: FAIL
e.style['outline'] = "none" should set the property value: Firefox: FAIL
e.style['outline'] = "calc(2em + 3ex)" should set the property value: Firefox: FAIL
e.style['outline'] = "medium rgba(10, 20, 30, 0.4)" should set the property value: Firefox: FAIL
e.style['outline'] = "rgba(10, 20, 30, 0.4)" should set the property value: Firefox: FAIL
e.style['outline'] = "groove" should set the property value: Firefox: FAIL
e.style['outline'] = "0" should set the property value: Firefox: FAIL
e.style['outline'] = "thin" should set the property value: Firefox: FAIL

/css/css-text-decor/parsing/text-underline-position-valid.html
e.style['text-underline-position'] = "auto" should set the property value: Firefox: FAIL
e.style['text-underline-position'] = "under" should set the property value: Firefox: FAIL

/css/css-images/parsing/image-rendering-valid.html
e.style['image-rendering'] = "pixelated" should set the property value: Firefox: FAIL

/css/css-box/parsing/width-valid.html
e.style['width'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-lists/parsing/list-style-valid.html
e.style['list-style'] = "square" should set the property value: Firefox: FAIL
e.style['list-style'] = "inside" should set the property value: Firefox: FAIL
e.style['list-style'] = "url("https://example.com/\")" should set the property value: Firefox: FAIL
e.style['list-style'] = "none" should set the property value: Firefox: FAIL

/css/css-shapes/parsing/shape-outside-valid-position.html
e.style['shape-outside'] = "circle(at center left)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at center)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at bottom right)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at top center)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at left)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at bottom 10% right 20%)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at top)" should set the property value: Firefox: FAIL
e.style['shape-outside'] = "circle(at 10%)" should set the property value: Firefox: FAIL

/css/css-fonts/parsing/font-language-override-invalid.html
e.style['font-language-override'] = ""tr"" should not set the property value: Firefox: FAIL
e.style['font-language-override'] = ""1 %"" should not set the property value: Firefox: FAIL

/css/css-inline/parsing/baseline-shift-valid.html
e.style['baseline-shift'] = "calc(2em + 3ex)" should set the property value: Firefox: FAIL
e.style['baseline-shift'] = "-10px" should set the property value: Firefox: FAIL
e.style['baseline-shift'] = "super" should set the property value: Firefox: FAIL
e.style['baseline-shift'] = "sub" should set the property value: Firefox: FAIL
e.style['baseline-shift'] = "20%" should set the property value: Firefox: FAIL

/css/css-text/parsing/tab-size-valid.html
e.style['tab-size'] = "calc(2em + 3ex)" should set the property value: Firefox: FAIL
e.style['tab-size'] = "0px" should set the property value: Firefox: FAIL
e.style['tab-size'] = "2.5" should set the property value: Firefox: FAIL
e.style['tab-size'] = "0" should set the property value: Firefox: FAIL
e.style['tab-size'] = "10px" should set the property value: Firefox: FAIL

/css/css-box/parsing/min-width-valid.html
e.style['min-width'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-break/parsing/break-after-valid.html
e.style['break-after'] = "avoid-column" should set the property value: Firefox: FAIL
e.style['break-after'] = "verso" should set the property value: Firefox: FAIL
e.style['break-after'] = "column" should set the property value: Firefox: FAIL
e.style['break-after'] = "avoid-page" should set the property value: Firefox: FAIL
e.style['break-after'] = "recto" should set the property value: Firefox: FAIL

/css/css-box/parsing/min-height-valid.html
e.style['min-height'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-multicol/parsing/column-rule-valid.html
e.style['column-rule'] = "dotted" should set the property value: Firefox: FAIL
e.style['column-rule'] = "red" should set the property value: Firefox: FAIL
e.style['column-rule'] = "10px" should set the property value: Firefox: FAIL

/css/css-box/parsing/max-width-valid.html
e.style['max-width'] = "fit-content" should set the property value: Firefox: FAIL

/css/css-box/parsing/padding-valid.html
e.style['padding-right'] = "calc(2em + 3%)" should set the property value: Firefox: FAIL

/css/css-break/parsing/widows-valid.html
e.style['widows'] = "1" should set the property value: Firefox: FAIL
e.style['widows'] = "234" should set the property value: Firefox: FAIL

/css/css-text/parsing/text-indent-valid.html
e.style['text-indent'] = "10px hanging" should set the property value: Firefox: FAIL

Other existing tests that now have a worse result

/css/css-scoping/slotted-parsing.html
Should be an invalid selector: '::slotted': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted()::before::slotted()': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted():hover': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted(
)::selection': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted()': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted().class': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be a valid selector: '::slotted(
)::before': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: FAIL->MISSING
Should be a valid selector: '::slotted(div)': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be a valid selector: '::slotted()::placeholder': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: FAIL->MISSING
Should be a valid selector: '::slotted(
)::after': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: FAIL->MISSING
Should be a valid selector: '::slotted()': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted(
):read-only': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be a valid selector: '::slotted(:not(.a))': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted() span': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted(
)::first-letter': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted()[attr]': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be a valid selector: '::slotted([attr]:hover)': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted(
)::first-line': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be a valid selector: '::slotted()::marker': Firefox: PASS->MISSING, Chrome: FAIL->MISSING, Safari: FAIL->MISSING
Should be an invalid selector: '::slotted(
)::slotted()': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING
Should be an invalid selector: '::slotted(
)#id {}': Firefox: PASS->MISSING, Chrome: PASS->MISSING, Safari: PASS->MISSING

Other new tests that's don't pass

/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html
"::after::marker" should be a valid selector: Firefox: FAIL, Chrome: FAIL, Safari: FAIL
"::before::marker" should be a valid selector: Firefox: FAIL, Chrome: FAIL, Safari: FAIL

Automatic update from web-platform-tests
[css-pseudo] Implement parsing for ::marker pseudo-element

Parse ::marker as a valid pseudo-element, behind an experimental flag.
The actual logic of ::marker will be implemented in follow-up patches.

Intent to Implement:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/8v7pouXxxAc

Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo

Bug: 457718

TEST=external/wpt/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html
TEST=external/wpt/css/css-scoping/slotted-parsing.html

Change-Id: Ia4014afdbf5d0f2a642f349641140b03dfceee22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1876407
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709390}

--

wpt-commits: b1e94422f865fe7aa6361d4345863d99cda35110
wpt-pr: 19852

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5a250a0b2a77
[wpt PR 19852] - [css-pseudo] Implement parsing for ::marker pseudo-element, a=testonly
https://hg.mozilla.org/integration/autoland/rev/f2467b5abfdb
[wpt PR 19852] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: