TPE DOM/Custom elements: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Roadmap: Stage 3 target schedule)
(→‎Roadmap: backlog update)
 
(7 intermediate revisions by the same user not shown)
Line 22: Line 22:


== Roadmap ==
== Roadmap ==
[Stage 1]
=== Summary ===
We are now at Stage 4, working on performance work, especially on the [https://bugzilla.mozilla.org/show_bug.cgi?id=1392974 critical blocker] from enabling this feature on Nightly.
* Estimated nightly version: 59
* Firefox dev-platform [https://groups.google.com/d/msg/mozilla.dev.platform/BI3I0U7TDw0/6-W39tXpBAAJ intent-to-implement]
 
=== Details ===
[Stage 1] (completed)
# Remove support of SVG-based custom element.
# Remove support of SVG-based custom element.
#* Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1274505 1274505]
#* Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1274505 1274505]
Line 38: Line 44:
#window.customElements.define
#window.customElements.define
#*Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1275835 1275835]
#*Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1275835 1275835]
<u> '''[Stage 2] <We are here - Target milestone: 2017 Q2 Stage2.1 & 2.2>''' </u>
[Stage 2] (completed)
#custom element upgrade reactions stack/queue
#custom element upgrade reactions stack/queue
#*Upgrade reaction
#*Upgrade reaction
Line 45: Line 51:
#*Revise consumers (createElement[NS] and HTML parser accordingly
#*Revise consumers (createElement[NS] and HTML parser accordingly
#**HTML parser: https://dxr.mozilla.org/mozilla-central/source/parser/html/nsHtml5TreeOperation.cpp#335
#**HTML parser: https://dxr.mozilla.org/mozilla-central/source/parser/html/nsHtml5TreeOperation.cpp#335
[Stage 3]  
[Stage 3] (completed)
#Callback reaction queue
#Callback reaction queue
#Lifecycle callbacks
#Lifecycle callbacks
Line 53: Line 59:
#*disconnectedCallback
#*disconnectedCallback
#*attributeChangedCallback
#*attributeChangedCallback
#CSS :define
[Stage 4] (WE'RE HERE)
# Target schedule: 2017 Oct.
# Performance work
 
# Enable on Nightly (estimated target 59)
[Stage 4]
[Stage 5]
# Ride to train
[Stage 6 - Backlog]  
#Mutation algorithms (Shadow dom)
#Mutation algorithms (Shadow dom)
#*Spec:
#*Spec:
#**https://dom.spec.whatwg.org/#mutation-algorithms  
#**https://dom.spec.whatwg.org/#mutation-algorithms  
#**https://w3c.github.io/webcomponents/spec/custom/#dom-mutation-algorithms  
#**https://w3c.github.io/webcomponents/spec/custom/#dom-mutation-algorithms  
#Web-platform-tests
#[https://bugzilla.mozilla.org/show_bug.cgi?id=1331334 CSS :define]
#*https://bugzilla.mozilla.org/show_bug.cgi?id=1234886
#Performance
#[https://bugzilla.mozilla.org/show_bug.cgi?id=1419295 Web-platform-tests]


== Project Dashboard ==
== Project Dashboard ==
Line 72: Line 81:
</bugzilla>
</bugzilla>


=== Stage_2 Bugs & Progress (IN PROGRESS)===
 
=== 1st Impl. Shipping Blocker: Performance issues (INPROGRESS) ===
<bugzilla>
    {
        "blocks":["1396567"],
        "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
        "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
    }
</bugzilla>
 
=== Post 1st Ship: Stage_4 Bugs & Progress (BACKLOG) ===
<bugzilla>
<bugzilla>
     {
     {
         "blocks":["889230"],
         "blocks":["889230"],
         "whiteboard":["dom-ce-m2"],
         "whiteboard":["dom-ce-m4"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
Line 82: Line 101:
</bugzilla>
</bugzilla>


=== Stage_3 Bugs & Progress (BACKLOG) ===
=== What Have Been DONE ===
==== 1st Impl. Shipping Blocker: Stage_1 Bugs & Progress (DONE) ====
<bugzilla>
<bugzilla>
     {
     {
         "blocks":["889230"],
         "blocks":["889230"],
         "whiteboard":["dom-ce-m3"],
         "whiteboard":["dom-ce-m1"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
Line 92: Line 112:
</bugzilla>
</bugzilla>


=== Stage_4 Bugs & Progress (BACKLOG) ===
=== 1st Impl. Shipping Blocker: Stage_2 Bugs & Progress (IN PROGRESS)===
<bugzilla>
<bugzilla>
     {
     {
         "blocks":["889230"],
         "blocks":["889230"],
         "whiteboard":["dom-ce-m4"],
         "whiteboard":["dom-ce-m2"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
Line 102: Line 122:
</bugzilla>
</bugzilla>


 
==== 1st Impl. Shipping Blocker: Stage_3 Bugs & Progress (DONE) ====
=== Stage_1 Bugs & Progress (DONE) ===
<bugzilla>
<bugzilla>
     {
     {
         "blocks":["889230"],
         "blocks":["889230"],
         "whiteboard":["dom-ce-m1"],
         "whiteboard":["dom-ce-m3"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "status":["NEW","REOPENED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
         "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks"
     }
     }
</bugzilla>
</bugzilla>

Latest revision as of 03:37, 4 December 2017

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 (main contact), John Dai

Meeting Minutes

Sync-up minutes

Roadmap

Summary

We are now at Stage 4, working on performance work, especially on the critical blocker from enabling this feature on Nightly.

Details

[Stage 1] (completed)

  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] (completed)

  1. custom element upgrade reactions stack/queue
    • Upgrade reaction
  2. Algorithm of creating an element

[Stage 3] (completed)

  1. Callback reaction queue
  2. Lifecycle callbacks
      • sProcessingStack
      • EnqueueLifecycleCallback
    • connectedCallback
    • disconnectedCallback
    • attributeChangedCallback

[Stage 4] (WE'RE HERE)

  1. Performance work
  2. Enable on Nightly (estimated target 59)

[Stage 5]

  1. Ride to train

[Stage 6 - Backlog]

  1. Mutation algorithms (Shadow dom)
  2. CSS :define
  3. Performance
  4. Web-platform-tests

Project Dashboard

Meta Bugs

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


1st Impl. Shipping Blocker: Performance issues (INPROGRESS)

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


Post 1st Ship: Stage_4 Bugs & Progress (BACKLOG)

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


What Have Been DONE

1st Impl. Shipping Blocker: Stage_1 Bugs & Progress (DONE)

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


1st Impl. Shipping Blocker: Stage_2 Bugs & Progress (IN PROGRESS)

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


1st Impl. Shipping Blocker: Stage_3 Bugs & Progress (DONE)

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1