Closed Bug 1738744 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 31445 - [selectmenu] Only allow <option> elements as <selectmenu> option parts

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

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

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

Dan Clark <daniec@microsoft.com> wrote:

[selectmenu] Only allow <option> elements as <selectmenu> option parts

Per OpenUI resolution in https://github.com/openui/open-ui/issues/396,
only allow \<option> elements to be \<selectmenu> parts. That is,
\<div part="option"> and the like will no longer get controller code.

Also fix a bug caught by the updated tests, where clearing the slot
attribute on an element should cause us to rebuild the option parts
list, because it could have caused a valid option to be slotted back
into the default \<slot> under the listbox.

Bug: 1121840
Change-Id: Ie284a7b7cb02e7e49971d5d89abc3a0e8bc03bce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3251854
Reviewed-by: Ionel Popescu \<iopopesc@microsoft.com>
Reviewed-by: Mason Freed \<masonf@chromium.org>
Commit-Queue: Dan Clark \<daniec@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#936957}

Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core

CI Results

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

Total 3 tests and 6 subtests

Status Summary

Firefox

OK : 3
FAIL : 20

Chrome

OK : 3
PASS : 16
FAIL : 4

Safari

OK : 1
FAIL : 6
ERROR: 2

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html
HTMLOptionElements (and not other element types) should receive option controller code: FAIL (Chrome: FAIL)
To receive option part controller code, an option must be a descendant of the listbox part in a flat tree traversal: FAIL (Chrome: FAIL)
To receive button part controller code, an element labeled as a button must not be a descendant of the listbox part in a flat tree traversal: FAIL (Chrome: PASS)
To receive listbox part controller code, an element labeled as a listbox must not be a descendant of the button part in a flat tree traversal: FAIL (Chrome: PASS)
Button controller code should be applied in flat tree traversal order regardless of dynamic insertion order: FAIL (Chrome: PASS)
Listbox controller code should be applied in flat tree traversal order regardless of dynamic insertion order: FAIL (Chrome: PASS)
selected-value controller code should be applied in flat tree traversal order regardless of dynamic insertion order: FAIL (Chrome: PASS)
Ensure that option controller code is updated when listbox changes: FAIL (Chrome: PASS)
Ensure that controller code is applied after updating the slot attribute: FAIL (Chrome: FAIL)
Ensure that controller code is applied when slot and part attributes are different: FAIL (Chrome: PASS)
/html/semantics/forms/the-selectmenu-element/selectmenu-popup.tentative.html
Opening the popup and clicking an option should change the selectmenu's value: FAIL (Chrome: PASS)
With custom button and popup: opening the popup and clicking an option should change the selectmenu's value: FAIL (Chrome: PASS)
Clicking a popup with no listbox part does nothing: FAIL (Chrome: PASS)
Clicking a popup with a listbox that was removed does nothing: FAIL (Chrome: PASS)
/html/semantics/forms/the-selectmenu-element/selectmenu-value.tentative.html
Test that HTMLSelectMenu with no options has empty string for value: FAIL (Chrome: PASS, Safari: FAIL)
Test value with HTMLOptionElement element option parts: FAIL (Chrome: PASS, Safari: FAIL)
Test value with non-HTMLOptionElement elements labeled as parts: FAIL (Chrome: FAIL, Safari: FAIL)
Test that value is updated when options are removed: FAIL (Chrome: PASS, Safari: FAIL)
Test that slotted-in selected-value part is updated to value of selectmenu: FAIL (Chrome: PASS, Safari: FAIL)
Test that option parts in a slotted-in listbox are reflected in the value property: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6af0d39deec0 [wpt PR 31445] - [selectmenu] Only allow <option> elements as <selectmenu> option parts, a=testonly https://hg.mozilla.org/integration/autoland/rev/cf431ce8be3d [wpt PR 31445] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
You need to log in before you can comment on or make changes to this bug.