CustomElement: Type extension on custom tag

Is it legal to register a type extension on top of an existing custom tag?

  <x-button is="x-submit-button"></x-button>

  var ButtonPrototype = Object.create(HTMLElement.prototype)
  document.registerElement("x-button", {prototype: ButtonPrototype})

  var SubmitButtonPrototype = Object.create(ButtonPrototype)
  document.registerElement("x-submit-button", {extends: "x-button",
prototype: SubmitButtonPrototype})


Chrome's native registerElement doesn't seem to like this. It throws
the following error.

  DOMException: Failed to execute 'registerElement' on 'Document':
Registration failed for type 'x-submit-button'. The tag name specified
in 'extends' is a custom element name. Use inheritance instead.


The current Custom Element spec doesn't say any specific about this
situation. Is Chrome wrong? Or is this something the spec should
explicitly disallow?

Received on Thursday, 16 October 2014 22:36:31 UTC