TPE DOM/Custom elements

< TPE DOM
Revision as of 15:06, 29 June 2016 by Hsinyi (talk | contribs) (roadmap)

Introduction

This project is to enable web authors to define and use new types of DOM elements in a document.

References:


Taipei Main Members

Engineers: Edgar Chen, Jocelyn Liu, John Dai

Meeting Minutes

Sync-up minutes

High-level Roadmap

[Stage 1] <We are here!>

  1. Remove support of SVG-based custom element.
  2. Window interface
  3. HTMLElement constructor
    • Support using ES6 classes
    • Construction stack
    • Bug: 1274159
  4. Document interface
    • createElement, createElementNS
    • Bug: 1276579
  5. window.customElements.define

[Stage 2]

  1. custom element reactions stack/queue
    • Callback reaction
    • sProcessingStack
    • EnqueueLifecycleCallback
    • Upgrade reaction
  2. Lifecycle callbacks
    • connectedCallback
    • disconnectedCallback
    • attributeChangedCallback
  3. Algorithm of creating an element

[Stage 3]

  1. Mutation algorithms (Shadow dom)
  2. Web-platform-tests

[Stage 4]

  1. CSS :define

Project Dashboard

Meta Bugs

Full Query
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%);


Ship Bugs

Full Query
ID Summary Status Target milestone Resolution Assigned to Depends on Blocks
1121994 Implement adopted callback for custom elements RESOLVED mozilla58 FIXED John Dai[:jdai] 889230, 1293921
1231265 support custom-element lifecycle callbacks with content from external document RESOLVED --- INVALID Edgar Chen [:edgar] 889230
1253086 Unresolved Pseudo Selector Broken RESOLVED --- INVALID Edgar Chen [:edgar] 889230
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
1287348 Implement construction stack for upgrading an element RESOLVED --- DUPLICATE Edgar Chen [:edgar] 1274159 889230
1288306 Disable custom elements web-platform v0 tests RESOLVED mozilla50 FIXED Edgar Chen [:edgar] 889230, 1396765
1292125 Revert registerElement's web components permission check to support b2g consumers RESOLVED --- WONTFIX John Dai[:jdai] 889230
1294100 TypeError: Argument 2 of Document.createElement can't be converted to a dictionary. VERIFIED mozilla51 FIXED John Dai[:jdai] 889230, 1276579
1299363 Implement custom element v1 upgrade algorithm RESOLVED mozilla57 FIXED John Dai[:jdai] 1325279, 1353647, 1359346 889230, 1301024, 1319342, 1331334, 1378079
1301024 Creating an custom element via createElement/createElementNS should call constructor or run upgrade steps RESOLVED mozilla58 FIXED John Dai[:jdai] 1274159, 1299363, 1354013, 1407669, 1411088 889230, 1331334, 1396761
1309140 Rename CustomElementsRegistry to CustomElementRegistry RESOLVED mozilla52 FIXED John Dai[:jdai] 889230
1309147 Add [CEReactions] to support custom element reactions RESOLVED mozilla55 FIXED John Dai[:jdai] 1347446 889230, 1315885, 1340027
1309176 Add stack-of-queues system for custom element reaction RESOLVED --- DUPLICATE John Dai[:jdai] 889230
1309184 Implement upgrade reaction for custom element reactions RESOLVED mozilla53 FIXED John Dai[:jdai] 889230, 1319342, 1325279
1315885 Implement callback reaction for custom element reactions RESOLVED mozilla56 FIXED John Dai[:jdai] 1309147, 1325279, 1347446 889230, 1293921, 1379573
1319342 Cloning a node runs concept-create-element steps with synchronous-custom-elements-flag unset which enqueues an upgrade reaction RESOLVED mozilla58 FIXED John Dai[:jdai] 1299363, 1309184 889230
1325279 Put the reaction queue in CustomElementData structure instead of using a map RESOLVED mozilla55 FIXED Edgar Chen [:edgar] 1309184, 1359346 889230, 1299363, 1315885
1340027 Add annotation with the [CEReactions] attribute RESOLVED mozilla56 FIXED John Dai[:jdai] 1293921, 1309147 889230
1341693 Crash [@mozilla::dom::WindowBinding::get_customElements] RESOLVED mozilla54 FIXED Edgar Chen [:edgar] 1340565, 889230
1347446 Move custom element reactions stack to DocGroup RESOLVED mozilla55 FIXED John Dai[:jdai] 1350960 889230, 1309147, 1315885
1348220 Crash when custom element lifecycle callback is invoked (dom.webcomponents.customelements.enabled=true) RESOLVED --- INVALID Edgar Chen [:edgar] 889230
1351979 Change CustomElementRegistry::Define code to properly propagate out JS exceptions RESOLVED mozilla55 FIXED Edgar Chen [:edgar] 889230
1352290 Add assertions to CustomElementReactionsStack::Enqueue to ensure upgrade reactions aren't scheduled to BackupQueue RESOLVED mozilla58 FIXED Edgar Chen [:edgar] 889230
1354013 Creating customized built-in elements without relevant definitions registered first shouldn't throw NotFoundError RESOLVED mozilla55 FIXED Edgar Chen [:edgar] 889230, 1301024
1357002 Calling document.createElement() with a second arg that includes "is" should not have noticeable slowdown when custom elements feature is pref-ed off RESOLVED mozilla55 FIXED Edgar Chen [:edgar] 889230
1359346 Implement custom element state RESOLVED mozilla55 FIXED Edgar Chen [:edgar] 889230, 1299363, 1325279
1406297 Document.createElement must report an exception which is user defined thrown by a custom element constructor RESOLVED mozilla58 FIXED John Dai[:jdai] 889230
1406325 Custom element clone node without definition should put into candidate map in order to upgrade later RESOLVED mozilla59 FIXED John Dai[:jdai] 889230
1406825 Enable Custom elements v1 on Nightly by default RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 1433691, 1410536, 1413785, 1419305, 1428244, 1432308, 1439794, 1446144 889230
1407669 Custom element creation hides exceptions from the constructor RESOLVED mozilla59 FIXED John Dai[:jdai] 1407576, 889230, 1301024, 1396761
1410536 Enabling the dom.webcomponents.customelements.enabled pref causes some talos regressions (dromaeo_dom, maybe tabpaint) RESOLVED --- FIXED Edgar Chen [:edgar] 1392974 889230, 1396567, 1406825
1413785 Crash when browsing to nest website with custom elements pref enabled RESOLVED --- DUPLICATE Edgar Chen [:edgar] 889230, 1406825
1414317 Add [CEReactions] to document.createElement and document.createElementNS RESOLVED mozilla58 FIXED Edgar Chen [:edgar] 889230
1415761 Assertion failure while we are invoking custom element reactions in the middle of throwing an exception RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 1393806 1340565, 889230
1419305 https://nest.com/cameras/nest-cam-iq-outdoor/overview/ sometimes isn't displayed correctly with enabling custom elements pref RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 889230, 1406825
1419662 Autonomous custom element get confused if it contains 'is' attribute RESOLVED mozilla59 FIXED John Dai[:jdai] 889230
1425079 Add WPT test for the attributeChangedCallback which is triggered from parser RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 889230, 1428784
1425400 https://santatracker.google.com/village.html seems not be displayed correctly with custom elements enabled RESOLVED --- DUPLICATE Edgar Chen [:edgar] 889230
1428244 The attributeChangedCallback for style attribute is always fired with null as oldValue and empty string as newValue RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 889230, 1406825, 1419308, 1419322
1429967 PolymerElements/app-layout demo4 is missing body content when Custom Elements are enabled RESOLVED --- DUPLICATE Edgar Chen [:edgar] 1430034 889230
1429993 When the Home Assistant sidebar is initially open and then collapsed, the header doesn't reposition itself RESOLVED --- DUPLICATE Edgar Chen [:edgar] 889230
1430034 PolymerElements/iron-ajax demo page is missing contents when Custom Elements are enabled RESOLVED mozilla59 FIXED Edgar Chen [:edgar] 889230, 1429967
1480618 Range APIs do not construct / move trees in tree order (observable by custom elements) RESOLVED mozilla63 FIXED Edgar Chen [:edgar] 889230

49 Total; 0 Open (0%); 48 Resolved (97.96%); 1 Verified (2.04%);