Closed Bug 1472558 Opened 6 years ago Closed 6 years ago

Convert "richlistbox" to Custom Element

Categories

(Toolkit :: XUL Widgets, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox63 --- wontfix
firefox64 --- wontfix
firefox65 --- wontfix
firefox66 --- fixed

People

(Reporter: Paolo, Assigned: Paolo)

References

Details

Attachments

(1 file)

The following changes allow converting "richlistbox" to Custom Element easily: - Removing the other "listbox" bindings in bug 1472555 - Removing the "scrollbox" anonymous element in bug 1472557 - Removing the implements="nsIDOMXULMultiSelectControlElement"
Also, since there are a few inherited bindings, we probably have to convert the entire binding hierarchy at the same time.
Depends on: 1516448
Depends on: 1516876
Assignee: nobody → paolo.mozmail
Status: NEW → ASSIGNED
Priority: P3 → P1
There are a handful of bindings that extend richlistbox for TB: https://searchfox.org/comm-central/search?q=%23richlistbox&case=false&regexp=false&path=. When this changes to a Custom Element (currently waiting on a couple of other bugs to land, but this should happen fairly soon), you'll either need to: 1: extend `MozRichListBox` (which we could export onto MozElements if needed) to turn those instances into customized built-ins, then change callers to use [is="my-richlistbox-class"]. We do something similar with `customElements.define("printpreview-toolbar", class PrintPreviewToolbar extends MozXULElement { ... }, { extends: "toolbar" }` and then `document.createXULElement("toolbar", { is: "printpreview-toolbar" }`: https://searchfox.org/mozilla-central/rev/bcc0fe1081dc4f84fc5fdfebe0d2de8c075a4e2c/toolkit/components/printing/content/printPreviewToolbar.js#10. 2: "flatten" those bindings such that they only use the normal richlistbox and move their logic up into callers. This is what is being done in Bug 1516448 and Bug 1516876. 3: fork out the current richlistbox implementation and then do (1) or (2) later on. The problem with (3) is that we will be registering the CE on the `richlistbox` tag name, so you'd also have to rewrite all richlistboxes using the forked XBL binding to use a new tag name instead. (2) might be the easiest option for some of the simple ones like https://searchfox.org/comm-central/source/calendar/base/content/dialogs/calendar-invitations-list.xml#15 but others like https://searchfox.org/comm-central/source/calendar/base/content/dialogs/calendar-event-dialog-attendees.xml#15 look pretty complex - (1) might be a better option for those.
Flags: needinfo?(jorgk)
Flags: needinfo?(arshdkhn1)
Depends on: 1517040
Thanks, I filed bug 1517040. (Do you never rest? It's New Years Eve.)
Flags: needinfo?(jorgk)
Flags: needinfo?(arshdkhn1)
Any ETA for this? This week we're short-staffed.
(In reply to Jorg K (GMT+1) (urgent reviews and bustage fix only, Dec 22nd to Jan 1st) from comment #6) > Any ETA for this? This week we're short-staffed. We're waiting for the blockers to land, and I won't have a chance to review this patch until at least Wednesday. So earliest would likely be near the end of this week, else I'd expect sometime next week.
Pushed by paolo.mozmail@amadzone.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/ff84fa856102 Convert "richlistbox" to Custom Element. r=bgrins
I'm a bit surprised by the notable tresize improvements...
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Type: enhancement → task
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: