Skip to content

Commit

Permalink
Large custom element spec rewrite to implement some F2F decisions
Browse files Browse the repository at this point in the history
Notable changes:

- Implemented HTMLElement constructor using @rniwa's algorithm from #403.
- Rewrote element upgrading to use @rniwa's algorithm from #403, and incorporated it into the rest of the upgrading considerations.
- Got rid of the ability to extend SVGElement, thus allowing us to remove most mentions of namespaces from the spec.
- Removed createdCallback.
- Rewrote "registering elements":
  - Uses defineElement instead of registerElement
  - Preserves the constructor instead of grabbing the .prototype property and synthesizing a new constructor
  - No longer spread out over four separate algorithms plus registerElement; everything is now inline under defineElement
  - More precise about exactly how to get the custom element prototype and callbacks
- Rewrote createElement and createElementNS to be replacements instead of patches, and to call the author-supplied constructor.
- Removed the "All Algorithms in One Diagram" section since so many algorithms changed or were inlined into their callers.
- Removed the "Custom Elements and ECMAScript 6" section since it is very obsolete and does not reflect our current thinking.
- New and rewritten algorithms do not use the unorthodox INPUTS/OUTPUTS blocks, or capitalized variable names. This is kind of a nice marker of new vs. old content.

Notable things *not* substantially changed:

- Parser changes are not specced still, besides to say that they should construct the element using its constructor.
- Lifecycle callbacks were not changed, except for removing createdCallback.
- Type extensions were not removed (yet?); it seems better to have a modernized version of them that we atomically remove.
- Registries were not made available everywhere.

Closes #403. Closes #365. Closes #283. Closes #185. Closes #170. Closes #169. Closes #167. Closes #163. Closes #162. Closes #161. Closes #158. Closes #137 (modulo the fact that #165 is still open). Closes #134. Closes #133.
  • Loading branch information
domenic committed Mar 1, 2016
1 parent ac70a46 commit 584421a
Show file tree
Hide file tree
Showing 3 changed files with 281 additions and 608 deletions.
1 change: 0 additions & 1 deletion spec/custom/W3CTRMANIFEST
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
index.html?specStatus=WD;shortName=custom-elements;useExperimentalStyles=false respec
custom-elements-whole-world.svg
246 changes: 0 additions & 246 deletions spec/custom/custom-elements-whole-world.svg

This file was deleted.

Loading

0 comments on commit 584421a

Please sign in to comment.