Open Bug 1634330 Opened 4 years ago Updated 2 years ago

New wpt failures in /css/css-pseudo/ [marker-content-020.html, marker-hit-testing.html, marker-content-019.html, and 1 others]

Categories

(Core :: Layout: Generated Content, Lists, and Counters, defect, P3)

defect

Tracking

()

People

(Reporter: mozilla.org, Unassigned)

References

Details

(Whiteboard: [wpt])

Syncing wpt PR 23109 found new untriaged test failures in CI

Tests Affected

Firefox-only failures

/css/css-pseudo/marker-computed-size.html
::marker with no box due to 'list-style': FAIL
::marker with no box due to 'content': FAIL

New Tests That Don't Pass

/css/css-pseudo/marker-content-020.html: FAIL [GitHub], PASS [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-asan-opt, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: PASS, Safari: PASS)
/css/css-pseudo/marker-hit-testing.html
outside image ::marker: FAIL (Chrome: PASS, Safari: FAIL)
outside nested image ::marker: FAIL (Chrome: PASS, Safari: FAIL)
outside nested string ::marker: FAIL (Chrome: PASS, Safari: FAIL)
outside string ::marker: FAIL (Chrome: PASS, Safari: FAIL)
/css/css-pseudo/marker-content-019.html: FAIL (Chrome: PASS, Safari: FAIL)

CI Results

Gecko CI (Treeherder)
GitHub PR Head

Notes

These updates will be on mozilla-central once bug 1631390 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.

Seems like:

  • hit-testing.html is throwing because of some test-driver action being unimplemented. James, do you know who's responsible for that to know if there's something tracking that already?

  • marker-computed-size.html is bug 1605401

  • The others are bug 1605473.

Severity: -- → normal
Depends on: 1605401
Priority: -- → P3

(In reply to Emilio Cobos Álvarez (:emilio) from comment #1)

  • hit-testing.html is throwing because of some test-driver action being unimplemented. James, do you know who's responsible for that to know if there's something tracking that already?

The test seems to be running fine on Firefox. You only get the unimplemented error if you try to run it directly like http://wpt.live/css/css-pseudo/marker-hit-testing.html, but that's expected because testdriver APIs are not web-exposed.

The failures are because, for some reason, the outside ::marker is only 50px tall in Firefox. But it has font: 50px/100px Ahem so, regardless of whether you render it as display: block or display: inline-block, it seems to me that it should be 100px tall.

The test triggers a mouseup event outside of the 50px of the marker's content, but still inside the 100px of the marker. The event should then be dispatched to the <li> (the closest non-pseudo ancestor), but in Firefox it's the <ol>.

50px is the intrinsic height of the image so it's suspicious... I guess we're sizing it to be the image size, which isn't totally unreasonable?

Oriol, do you know what Chromium does? Is this worth a spec bug?

Flags: needinfo?(oriol-bugzilla)

Even if the text or the image is 50px tall, that content is an inline in a block container that has line-height: 100px. So the block container (the ::marker) should be at least 100px tall (unless you are setting ::marker { line-height: ... } at UA origin or something).

Consider:

<!DOCTYPE html>
<style>
li {
 font: 50px/100px Ahem;
 list-style-type: "X";
}
</style>
<ol>
 <li></li>
</ol>
<script>
document.body.append(getComputedStyle(document.querySelector("li"), "::marker").height);
</script>

In Firefox I get 50px instead of 100px.

However, adding li::marker { content: "X" } fixes it, so I guess bug 1542807 will fix this.

Edit: This seems bug 1415759.

Flags: needinfo?(oriol-bugzilla)

BTW, in marker-hit-testing.html I'm doing this because Chromium had a bug when you clicked inside the ::marker but outside its contents.

This was a bit hard to detect since ::marker doesn't support width nor height for now, but I came up with this line-height trick.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.