Closed Bug 1752006 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 32541 - Add :has() specificity test and fix bug in a test

Categories

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

task

Tracking

()

RESOLVED FIXED
98 Branch
Tracking Status
firefox98 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Byungwoo Lee <blee@igalia.com> wrote:

Add :has() specificity test and fix bug in a test

The specificity of a :has() pseudo-class should be replaced by the
specificity of the most specific complex selector in its selector
list argument. (https://www.w3.org/TR/selectors-4/#specificity-rules)

Added a simple test to check the :has() specificity[1], and fixed a
bug in a previous test[2]

[1] external/wpt/css/selectors/has-specificity.html
[2] external/wpt/css/selectors/invalidation/has-complexity.html

Bug: 669058
Change-Id: Ic59a21f914a5d71e860b18a01902531e3d002d81
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3412951
Reviewed-by: Rune Lillesveen \<futhark@chromium.org>
Commit-Queue: Byungwoo Lee \<blee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#962970}

PR 32541 applied with additional changes from upstream: e1281d33b166a1f6f0cbb156295c84753aace4ec, 0681f4f7fa7a7309ebb7f46c0bd70ca77335990a, 2db1d05bfa03c7a217314aefc41749ff31959267, c3d2ab519daa6cc8de0df4256629c1c72eaf30b7
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 10 Firefox configurations based on mozilla-central, and Firefox, and Chrome on GitHub CI

Total 2 tests and 7 subtests

Status Summary

Firefox

OK : 2
PASS: 1
FAIL: 10

Chrome

OK : 2
PASS: 1
FAIL: 10

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/css/selectors/has-specificity.html
:has(.c) < :has(.a.c) == :has(.b.c), so :has(.b.c) wins: FAIL (Chrome: FAIL)
:has(.c) < :has(.a.c), so :has(.a.c) wins: FAIL (Chrome: FAIL)
:has(.c) < :has(.b.c), so :has(.b.c) wins: FAIL (Chrome: FAIL)
:has(child3) < :has(child1 + child2), so :has(child1 + child2) wins: FAIL (Chrome: FAIL)
/css/selectors/invalidation/has-complexity.html
Before appending 25000 elements: FAIL (Chrome: FAIL)
After appending 25000 elements. This should not time out.: FAIL (Chrome: FAIL)
After appending another 25000 elements. This should not time out.: FAIL (Chrome: FAIL)
After appending div with 25000 elements. This should not time out.: FAIL (Chrome: FAIL)
After removing div with 25000 elements. This should not time out.: FAIL (Chrome: FAIL)
After removing 25000 elements one-by-one. This should not time out.: FAIL (Chrome: FAIL)

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 98 Branch
You need to log in before you can comment on or make changes to this bug.