Closed Bug 1974276 Opened 1 year ago Closed 2 months ago

Implement parsing & constructing of selectedcontent element

Categories

(Core :: DOM: Core & HTML, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
152 Branch
Tracking Status
firefox152 --- fixed

People

(Reporter: keithamus, Assigned: jjaschke)

References

(Blocks 1 open bug, )

Details

(Keywords: dev-doc-complete)

Attachments

(1 file, 10 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
No description provided.
Depends on: 1974781
No longer depends on: 1974781
Keywords: dev-doc-needed

Right, but the related browser compatibility data still needs to be updated once <selectedcontent> is implemented. So the dev-doc-needed flag should be kept for that.

Sebastian

Assignee: nobody → jjaschke
Status: NEW → ASSIGNED

Comment on attachment 9536614 [details]
Bug 1974276, part 1 - Customizable Select: Add pref. r=keithamus!

Revision D278469 was moved to bug 2017595. Setting attachment 9536614 [details] to obsolete.

Attachment #9536614 - Attachment is obsolete: true

Implement the selectedcontent element's insertion steps (disabled logic,
ancestor walk) and post-connection steps (synchronous update from nearest
ancestor select). Add the core update algorithms on HTMLSelectElement:
UpdateDescendantSelectedContentElements, UpdateSelectedContentElement,
CloneOptionIntoSelectedContent, and GetEnabledSelectedContent.

Call UpdateDescendantSelectedContentElements from SetSelectedIndex, SetValue,
UserFinishedInteracting (send select update notifications), BeforeSetAttr
(multiple attribute change), RestoreStateTo, and Reset.

When an option element is popped off the stack of open elements, clone its
contents into the select's descendant selectedcontent elements if the option
is selected.

Implement the selectedness setting algorithm from whatwg/html#12263: a
single-pass loop that skips options whose cached nearest ancestor select is
null, deselects all but the last selected option, auto-selects the first
enabled option if none selected, and synchronously updates descendant
selectedcontent elements.

Add cached nearest ancestor select pointer to HTMLOptionElement (per
whatwg/html#11790). Hook into BindToTree/UnbindFromTree as option
insertion/removal steps. Replace CheckSelectSomething in
InsertOptionsIntoList, RemoveOptionsFromList, and select's DoneAddingChildren
with RunSelectednessSettingAlgorithm when the customizable select pref is
enabled.

Attachment #9559396 - Attachment description: WIP: Bug 1974276, part 1 - Customizable Select: Implement stub for the selectedcontent element. r=#dom-core,keithamus → Bug 1974276, part 1 - Customizable Select: Implement stub for the selectedcontent element. r=#dom-core,keithamus,emilio
Attachment #9559397 - Attachment description: WIP: Bug 1974276, part 2 - Customizable Select: Implement selectedcontent lifecycle hooks and update algorithms. r=#dom-core,keithamus → Bug 1974276, part 2 - Customizable Select: Implement selectedcontent update machinery. r=#dom-core,keithamus,emilio!
Attachment #9559398 - Attachment description: WIP: Bug 1974276, part 3 - Customizable Select: Update selectedcontent on selection changes. r=#dom-core,keithamus → Bug 1974276, part 3 - Customizable Select: Support options inside wrapper elements. r=#dom-core,keithamus,emilio!
Attachment #9559399 - Attachment is obsolete: true
Attachment #9559400 - Attachment is obsolete: true
Attachment #9536615 - Attachment is obsolete: true
Attachment #9536616 - Attachment is obsolete: true
Attachment #9536617 - Attachment is obsolete: true
Attachment #9536618 - Attachment is obsolete: true
Depends on: 2034055
Summary: Implement the selectedcontent element → Implement parsing & constructing of selectedcontent element
Blocks: 2038588
Attachment #9559396 - Attachment description: Bug 1974276, part 1 - Customizable Select: Implement stub for the selectedcontent element. r=#dom-core,keithamus,emilio → Bug 1974276 - Customizable Select: Implement stub for the selectedcontent element. r=#dom-core,keithamus,emilio
Pushed by jjaschke@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/10781ef5fa27 https://hg.mozilla.org/integration/autoland/rev/7b099714577c Customizable Select: Implement stub for the selectedcontent element. r=keithamus,emilio,dom-core,webidl,hsivonen
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 152 Branch

Comment on attachment 9559397 [details]
Bug 1974276, part 2 - Customizable Select: Implement selectedcontent update machinery. r=#dom-core,keithamus,emilio!

Revision D290554 was moved to bug 2038588. Setting attachment 9559397 [details] to obsolete.

Attachment #9559397 - Attachment is obsolete: true

Comment on attachment 9559398 [details]
Bug 1974276, part 3 - Customizable Select: Support options inside wrapper elements. r=#dom-core,keithamus,emilio!

Revision D290555 was moved to bug 1974784. Setting attachment 9559398 [details] to obsolete.

Attachment #9559398 - Attachment is obsolete: true
QA Whiteboard: [qa-triage-done-c153/b152]
Attachment #9568335 - Attachment is obsolete: true

Marked as Dev-Doc-Complete, as this feature is sufficiently documented, even though at present this does not do anything.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: