TPE DOM/Custom elements
< TPE DOM
Jump to navigation
Jump to search
Introduction
This project is to enable web authors to define and use new types of DOM elements in a document.
References:
- Custom Elements spec
- whatwg html wiki
- whatwg dom wiki
- blink-dev intent-to-implement
- Blink bugs
- Safari bugs
Taipei Main Members
Engineers: Edgar Chen (main contact), John Dai
Meeting Minutes
Roadmap
[Stage 1]
- Remove support of SVG-based custom element.
- Bug: 1274505
- Window interface
- HTMLElement constructor
- Support using ES6 classes
- Construction stack
- Bug: 1274159
- Document interface
- createElement, createElementNS
- Bug: 1276579
- window.customElements.define
- Bug: 1275835
[Stage 2] <We are here - Target milestone: 2016 Q4 Stage2.1 & 2.2>
- custom element reactions stack/queue
- Callback reaction
- sProcessingStack
- EnqueueLifecycleCallback
- Upgrade reaction
- Algorithm of creating an element
- Spec: https://dom.spec.whatwg.org/#concept-create-element
- Revise consumers (createElement[NS] and HTML parser accordingly
- Lifecycle callbacks
- connectedCallback
- disconnectedCallback
- attributeChangedCallback
[Stage 3]
- Mutation algorithms (Shadow dom)
- Web-platform-tests
[Stage 4]
Project Dashboard
Meta Bugs
| ID | Summary | Priority | Status |
|---|---|---|---|
| 889230 | [meta] Implement Custom Elements (from Web Components) | P3 | RESOLVED |
1 Total; 0 Open (0%); 1 Resolved (100%); 0 Verified (0%);
Stage_2 Bugs & Progress
15 Total; 0 Open (0%); 15 Resolved (100%); 0 Verified (0%);
Stage_1 Bugs & Progress
| ID | Summary | Status | Target milestone | Resolution | Assigned to | Depends on | Blocks |
|---|---|---|---|---|---|---|---|
| 1274159 | Add [HTMLConstructor] to support custom element feature | RESOLVED | mozilla53 | FIXED | Edgar Chen [:edgar] | 1275835 | 889230, 1287348, 1301024, 1317658 |
| 1274505 | Remove support of SVG-based custom element | RESOLVED | mozilla50 | FIXED | John Dai[:jdai] | 889230, 1276579, 1396765 | |
| 1275832 | Implement custom element name validation for custom element | RESOLVED | mozilla52 | FIXED | John Dai[:jdai] | 889230, 1275835, 1275839 | |
| 1275833 | Add CustomElementsRegistry interface for custom element | RESOLVED | mozilla50 | FIXED | John Dai[:jdai] | 1289872 | 889230, 1275835, 1275838, 1275839 |
| 1275835 | Implement CustomElementsRegistry define function | RESOLVED | mozilla51 | FIXED | Edgar Chen [:edgar] | 1275832, 1275833 | 889230, 1274159, 1275838, 1275839 |
| 1275838 | Implement CustomElementsRegistry get function | RESOLVED | mozilla52 | FIXED | John Dai[:jdai] | 1275833, 1275835 | 889230 |
| 1275839 | Implement CustomElementsRegistry whenDefined function | RESOLVED | mozilla52 | FIXED | John Dai[:jdai] | 1275832, 1275833, 1275835 | 889230 |
| 1276579 | Revise document.createElement[NS] for custom elements | RESOLVED | mozilla50 | FIXED | Jocelyn Liu [:jocelyn] [:joliu] | 1274505, 1294100, 1318630, 1338889 | 889230, 1276240 |
| 1288306 | Disable custom elements web-platform v0 tests | RESOLVED | mozilla50 | FIXED | Edgar Chen [:edgar] | 889230, 1396765 | |
| 1294100 | TypeError: Argument 2 of Document.createElement can't be converted to a dictionary. | VERIFIED | mozilla51 | FIXED | John Dai[:jdai] | 889230, 1276579 | |
| 1309140 | Rename CustomElementsRegistry to CustomElementRegistry | RESOLVED | mozilla52 | FIXED | John Dai[:jdai] | 889230 | |
| 1341693 | Crash [@mozilla::dom::WindowBinding::get_customElements] | RESOLVED | mozilla54 | FIXED | Edgar Chen [:edgar] | 1340565, 889230 |
12 Total; 0 Open (0%); 11 Resolved (91.67%); 1 Verified (8.33%);