Open
Bug 1563415
(de-xul-elements)
Opened 5 years ago
Updated 1 year ago
[meta] Start using HTML elements to replace XUL elements
Categories
(Toolkit :: XUL Widgets, task)
Toolkit
XUL Widgets
Tracking
()
NEW
People
(Reporter: ntim, Unassigned)
References
(Depends on 29 open bugs)
Details
(Keywords: meta)
After the De-XBL project is done, most custom elements that replace XBL bindings are XUL custom elements. It would be nice to start using HTML elements so XULElement
can be removed completely.
I've started doing this with the textbox de-XBL conversions:
- bug 1547372 uses HTML inputs for simple textboxes
- bug 1437641 converts HTML number textboxes to <input type=number>
- bug 1513343 converts XUL multiline textboxes to HTML textareas
- bug 1534455 converts autocomplete textboxes to customized HTML input elements
Here are a few learnings from the bugs above:
- Some styling will need to be adapted to target HTML elements too
- The
flex="1"
attribute doesn't work on HTML elements (they were replaced with either inline styles, or CSS in stylesheets) - There's some slight behaviour change that happened involving popups after converting XUL multiline textboxes, see bug 1546367
- From what I see, we seem to have 4 different types of elements:
- elements with direct/almost direct HTML replacements (eg. textbox, textbox type=number, multiline textbox)
- elements with based on HTML elements (eg. bug 1534455), those should be replaceable with customized built-in HTML elements (note: XUL buttons, while they have an HTML equivalent, the fact that they contain child markup means that they belong in the next category)
- other elements, notably the ones involving child markup, it might be possible to use normal HTML CEs, but I haven't really tried, so I can't tell.
- some special cases like XUL trees
- It's possible to simplify some elements to move them from category 3 to 2, like bug 1556561 that removes the child markup from autocomplete textboxes
Haven't come across this so far, but it might be worth looking out for:
- Some platform code (a11y for example) might be checking explicitly for the XUL namespace
- The BaseControl/BaseText/etc. base classes, which seem tied to XUL interfaces. I think it'd be nice to get rid of them, especially BaseControl that doesn't seem to add much value.
Reporter | ||
Updated•5 years ago
|
Depends on: replace-text-link
Reporter | ||
Comment 1•5 years ago
|
||
Those projects are independent: bug 1540278 plans to convert XUL docs to XHTML docs, which doesn't depend on this project.
No longer blocks: 1540278
Right, I thought it said “burn down the number of XUL elements in tree”.
Updated•5 years ago
|
Depends on: war-on-xbl
Reporter | ||
Updated•5 years ago
|
Alias: de-xul-elements
Updated•5 years ago
|
Depends on: align-xul-elements-with-html
Updated•2 years ago
|
Severity: normal → S3
Updated•1 year ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•