Closed Bug 2021197 Opened 2 months ago Closed 2 months ago

[wpt-sync] Sync PR 58275 - Make css selector :user-valid and :user-invalid work for radio buttons

Categories

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

task

Tracking

()

RESOLVED FIXED
150 Branch
Tracking Status
firefox150 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Yisi Yu <yuyisi@chromium.org> wrote:

Make css selector :user-valid and :user-invalid work for radio buttons

RadioInputType needs to call GetElement().SetUserHasEditedTheField()
when RunInputActivationBehavior() is called, just like
CheckboxInputType.

Fixed: 488305665
Change-Id: I49ef982155b0f8aa3086bc78afcf59e696f7ba38
Reviewed-on: https://chromium-review.googlesource.com/7616189
WPT-Export-Revision: 3cbd402a523d6b5fb14df78109557d304228a667

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

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

Total 606 tests

Status Summary

Firefox

OK : 2[GitHub] 254[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
PASS: 11[GitHub] 17[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 5583[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt] 5910[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 5911[Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 5912[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
FAIL: 2[GitHub] 79[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt] 85[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt] 86[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]

Chrome

OK : 2
PASS: 12
FAIL: 1

Safari

OK : 2
PASS: 13

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

New Tests That Don't Pass

  • /css/selectors/focus-visible-007.html [wpt.fyi]
    • Using keyboard while element is focused should trigger :focus-visible; using mouse without moving focus should not cancel it; moving focus using mouse should cancel it.: FAIL
  • /css/selectors/focus-visible-011.html [wpt.fyi]
    • :focus-visible matches even if preventDefault() is called: FAIL
  • /css/selectors/is-where-shadow.html [wpt.fyi]
    • :is() inside :host-context(): FAIL
  • /css/selectors/open-pseudo.html [wpt.fyi]
    • The select element should support :open.: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
  • /css/selectors/user-invalid.html [wpt.fyi]
    • A required date should match :user-invalid if the user unchecks it and blurs.: FAIL (Chrome: PASS, Safari: PASS)
  • /css/selectors/user-valid-user-invalid-multifield-inputs.tentative.html [wpt.fyi]
    • <input type=date> keyboard behavior for :user-valid/:user-invalid.: FAIL
    • <input type=time> keyboard behavior for :user-valid/:user-invalid.: FAIL
    • <input type=datetime-local> keyboard behavior for :user-valid/:user-invalid.: FAIL
  • /css/selectors/user-valid.html [wpt.fyi]
    • Date inputs should match :user-valid after the user types a value into it.: FAIL (Chrome: PASS, Safari: PASS)
  • /css/selectors/invalidation/heading-pseudo-class-in-has.html [wpt.fyi]
    • Append h1 to #ancestor: #has_heading_1: FAIL
    • Append h1 to #ancestor: #has_heading_1_2: FAIL
    • Append h2 to #ancestor: #has_heading_1: FAIL
    • Append h2 to #ancestor: #has_heading_2: FAIL
    • Append h2 to #ancestor: #has_heading_1_2: FAIL
    • Append h3 to #ancestor: #has_heading_1: FAIL
    • Append h3 to #ancestor: #has_heading_2: FAIL
    • Append h3 to #ancestor: #has_heading_3: FAIL
    • Append h3 to #ancestor: #has_heading_1_2: FAIL
    • Remove h1 from #ancestor: #has_heading_2: FAIL
    • Remove h1 from #ancestor: #has_heading_3: FAIL
    • Remove h1 from #ancestor: #has_heading_1_2: FAIL
    • Remove h2 from #ancestor: #has_heading_3: FAIL
    • Insert h1 adjacent to #sibling: #has_adjacent_heading_1: FAIL
    • Insert h1 adjacent to #sibling: #adjacent_heading_1: FAIL
    • Replace div with h1 in #ancestor: #has_heading_1: FAIL
    • Replace div with h1 in #ancestor: #has_heading_1_2: FAIL
  • /css/selectors/invalidation/host-context-pseudo-class-in-has.html [wpt.fyi]
    • After adding 'a' to #host_parent: Check #subject1 color: FAIL
    • After adding 'a' to #host_parent: Check #subject2 color: FAIL
  • /css/selectors/invalidation/host-has-shadow-tree-element-at-nonsubject-position.html [wpt.fyi]
    • Add .descendant to #shadow_child: FAIL
    • Add .descendant to #shadow_descendant: FAIL
    • Add .ancestor to #shadow_child:has(.descendant): FAIL
    • Remove .ancestor from #shadow_child:has(.descendant): FAIL
    • Add .child to #shadow_child:has(.descendant): FAIL
    • Remove .child from #shadow_child:has(.descendant): FAIL
    • Add .child to #shadow_child: FAIL
    • Add .grand_child to #shadow_descendant: FAIL
    • Add .host_context to #host: FAIL
    • Add .descendant to #shadow_descendant.grand_child: FAIL
    • Remove .descendant from #shadow_descendant.grand_child: FAIL
    • Remove .grand_child from #shadow_descendant: FAIL
    • Insert #first_child.descendant to shadow root: FAIL
    • Insert #last_child.descendant to shadow root: FAIL
    • Insert #child_in_middle.descendant before #shadow_child: FAIL
    • Insert #grand_child.descendant before #shadow_descendant: FAIL
  • /css/selectors/invalidation/host-has-shadow-tree-element-at-subject-position.html [wpt.fyi]
    • Add .descendant to #shadow_child: FAIL
    • Add .descendant to #shadow_descendant: FAIL
    • Add .ancestor to #shadow_child:has(.descendant): FAIL
    • Remove .ancestor from #shadow_child:has(.descendant): FAIL
    • Add .child to #shadow_child:has(.descendant): FAIL
    • Remove .child from #shadow_child:has(.descendant): FAIL
    • Add .child to #shadow_child: FAIL
    • Add .grand_child to #shadow_descendant: FAIL
    • Add .host_context to #host: FAIL
    • Add .descendant to #shadow_descendant.grand_child: FAIL
    • Remove .descendant from #shadow_descendant.grand_child: FAIL
    • Remove .grand_child from #shadow_descendant: FAIL
    • Insert #first_child.descendant to shadow root: FAIL
    • Insert #last_child.descendant to shadow root: FAIL
    • Insert #child_in_middle.descendant before #shadow_child: FAIL
    • Insert #grand_child.descendant before #shadow_descendant: FAIL
  • /css/selectors/invalidation/part-lang.html [wpt.fyi]
    • ::part():lang() invalidation: FAIL
    • ::part():lang() invalidation from setAttribute: FAIL
  • /css/selectors/parsing/parse-has-slotted.tentative.html [wpt.fyi]
    • ":has-slotted(bar)" should be a valid selector: FAIL
    • ":has-slotted([attr="foo"])" should be a valid selector: FAIL
    • ":has-slotted(*)" should be a valid selector: FAIL
    • ":has-slotted(.class)" should be a valid selector: FAIL
    • ":has-slotted(#id)" should be a valid selector: FAIL
    • ":has-slotted(:not(foo))" should be a valid selector: FAIL
    • ":has-slotted(:not(:nth-last-of-type(2)):not([slot="foo"]))" should be a valid selector: FAIL
    • ":has-slotted(:first-child)" should be a valid selector: FAIL
    • ":has-slotted(:hover)" should be a valid selector: FAIL
    • ":has-slotted(foo):first-child" should be a valid selector: FAIL
    • ":has-slotted(foo):hover" should be a valid selector: FAIL
    • ":has-slotted(foo):focus" should be a valid selector: FAIL
    • ":has-slotted(foo):lang(en)" should be a valid selector: FAIL
    • ":has-slotted(foo):dir(ltr)" should be a valid selector: FAIL
    • ":has-slotted(foo) + :has-slotted(bar)" should be a valid selector: FAIL
    • ":not(:has-slotted(foo))" should be a valid selector: FAIL
    • ":has-slotted(div + div)" should be a valid selector: FAIL
    • ":has-slotted(div:has(> span))" should be a valid selector: FAIL
  • /css/selectors/remove-hovered-element.html [wpt.fyi]: PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], SKIP [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview]
  • /css/selectors/case-insensitive-parent.html [wpt.fyi]: FAIL
  • /css/selectors/featureless-005.html [wpt.fyi]: FAIL
  • /css/selectors/is-default-ns-003.html [wpt.fyi]: FAIL
  • /css/selectors/is-where-visited.html [wpt.fyi]: FAIL
  • /css/selectors/not-default-ns-003.html [wpt.fyi]: FAIL
  • /css/selectors/i18n/lang-pseudo-class-across-shadow-boundaries.html [wpt.fyi]: FAIL
  • /css/selectors/invalidation/lang-pseudo-class-in-has-multiple-document-elements.html [wpt.fyi]: FAIL [Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]

Tests Disabled in Gecko Infrastructure

  • /css/selectors/remove-hovered-element.html [wpt.fyi]: PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt], SKIP [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview]
Pushed by wptsync@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/4208e8d43cce https://hg.mozilla.org/integration/autoland/rev/0d29b43a3b01 [wpt PR 58275] - Make css selector :user-valid and :user-invalid work for radio buttons, a=testonly
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 150 Branch
You need to log in before you can comment on or make changes to this bug.