Open Bug 1704239 Opened 4 years ago Updated 3 years ago

New wpt failures in /css/css-pseudo/highlight-pseudos-computed.html

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

People

(Reporter: mozilla.org, Unassigned)

References

Details

(Whiteboard: [wpt])

Syncing wpt PR 28283 found new untriaged test failures in CI

Tests Affected

Firefox-only failures

/css/css-pseudo/highlight-pseudos-computed.html
getComputedStyle() for ::selection: should be element's default: FAIL
getComputedStyle() for ::selection) should be element's default: FAIL
getComputedStyle() for ::selection( should be element's default: FAIL
getComputedStyle() for ::selection(foo) should be element's default: FAIL
getComputedStyle() for ::selection() should be element's default: FAIL
getComputedStyle() for :::selection should be element's default: FAIL
getComputedStyle() for ::selection. should be element's default: FAIL
getComputedStyle() for ::target-text: should be element's default: FAIL
getComputedStyle() for ::target-text) should be element's default: FAIL
getComputedStyle() for ::target-text( should be element's default: FAIL
getComputedStyle() for ::target-text(foo) should be element's default: FAIL
getComputedStyle() for ::target-text() should be element's default: FAIL
getComputedStyle() for :::target-text should be element's default: FAIL
getComputedStyle() for ::target-text. should be element's default: FAIL
getComputedStyle() for ::spelling-error: should be element's default: FAIL
getComputedStyle() for ::spelling-error) should be element's default: FAIL
getComputedStyle() for ::spelling-error( should be element's default: FAIL
getComputedStyle() for ::spelling-error(foo) should be element's default: FAIL
getComputedStyle() for ::spelling-error() should be element's default: FAIL
getComputedStyle() for :::spelling-error should be element's default: FAIL
getComputedStyle() for ::spelling-error. should be element's default: FAIL
getComputedStyle() for ::grammar-error: should be element's default: FAIL
getComputedStyle() for ::grammar-error) should be element's default: FAIL
getComputedStyle() for ::grammar-error( should be element's default: FAIL
getComputedStyle() for ::grammar-error(foo) should be element's default: FAIL
getComputedStyle() for ::grammar-error() should be element's default: FAIL
getComputedStyle() for :::grammar-error should be element's default: FAIL
getComputedStyle() for ::grammar-error. should be element's default: FAIL

CI Results

Gecko CI (Treeherder)
GitHub PR Head

Notes

These updates will be on mozilla-central once bug 1701705 lands.

Note: this bug is for tracking fixing the issues and is not
owned by the wpt sync bot.

This bug is linked to the relevant tests by an annotation in
https://github.com/web-platform-tests/wpt-metadata. These annotations
can be edited using the wpt interop dashboard
https://jgraham.github.io/wptdash/

If this bug is split into multiple bugs, please also update the
annotations, otherwise we are unable to track which wpt issues are
already triaged. Resolving as duplicate or closing this issue should
be cause the bot to automatically update or remove the annotation.

Severity: -- → S3
Component: Layout: Generated Content, Lists, and Counters → CSS Parsing and Computation

Looks like a subtantial part of the issue here is that we return an empty computed-style object for unrecognized pseudo-elements, but the test expects us to return the default (non-empty) style, which is what Chromium does:
https://github.com/web-platform-tests/wpt/blob/master/css/css-pseudo/highlight-pseudos-computed.html#L30-L36

e.g. if I evaluate the following expression in the web console for any page (with bogus just being a nonsense word), Firefox gives me "" but chrome gives me "horizontal-tb".

getComputedStyle(document.body, "::bogus").writingMode

emilio, do you know whether chrome or Firefox is correct on this? The test only has one spec link which points to https://drafts.csswg.org/css-pseudo/#highlight-selectors , and I can't find anything in that spec about what's supposed to happen for the styling of invalid/unrecognized pseudo-elements.

Flags: needinfo?(emilio)

Per spec we should throw (step 3.2 of https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle). But no browser behaves this way.

I think our behavior is saner than Blink's... I'll try to update Firefox to the spec on Nightly, and otherwise propose our behavior to the working group.

Flags: needinfo?(emilio)
You need to log in before you can comment on or make changes to this bug.