From d645d1d04e65c1eb94b6e400fc060cca8b956e6e Mon Sep 17 00:00:00 2001 From: Domenic Denicola Date: Fri, 8 Apr 2016 13:52:30 -0400 Subject: [PATCH] More fixes to element interface, and extends domintro We should include in the eventual commit message: In the process of upstreaming, changes were made to the "element interface" section to nail down underspecified edge cases, and fix https://www.w3.org/Bugs/Public/show_bug.cgi?id=27877. --- source | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/source b/source index 58027724282..f1c984e0c1c 100644 --- a/source +++ b/source @@ -9574,26 +9574,28 @@ interface HTMLUnknownElement : HTMLElement { }; HTML namespace is determined as follows:

    -
  1. If name is blink, bgsound, isindex, +

  2. If name is bgsound, blink, isindex, multicol, nextid, or spacer, return HTMLUnknownElement.

  3. -
  4. If this specification defines an interface appropriate for the element type corresponding - to the local name name, return that interface.

  5. +
  6. If name is acronym, basefont, big, + center, listing, nobr, noembed, + noframes, plaintext, rb, rtc, + strike, tt, or xmp, return + HTMLElement.

  7. -
  8. If this specifications defines the element type corresponding to the local name - name, but not an interface, return HTMLElement.

  9. - +
  10. Otherwise, if this specification defines an interface appropriate for the element + type corresponding to the local name name, return that interface.

  11. -
  12. If other applicable specifications define such an appropriate interface for +

  13. If other applicable specifications define an appropriate interface for name, return the interface they define.

  14. If name is a valid custom element name, return HTMLElement.

    -
  15. Otherwise, return HTMLUnknownElement.

  16. +
  17. Return HTMLUnknownElement.

The use of HTMLElement instead of HTMLUnknownElement in @@ -66874,12 +66876,12 @@ dictionary ElementRegistrationOptions {

window . customElements . define(name, constructor, - { extends: base })
+ { extends: baseLocalName })
Defines a new custom element, mapping the given name to the given constructor as - a type extension for the supplied base element. A - NotSupportedError will be thrown upon trying to extend a custom element - or an unknown element.
+ a type extension for the element type identified by the supplied + baseLocalName. A NotSupportedError will be thrown upon trying to extend a + custom element or an unknown element.

Element definition is a process of adding a custom element definition