- From: <bugzilla@jessica.w3.org>
- Date: Mon, 24 Mar 2014 16:56:47 +0000
- To: public-webapps@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25139 Bug ID: 25139 Summary: [Custom]: Bogus createElement/createElementNS IDL Product: WebAppsWG Version: unspecified Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Component Model Assignee: dglazkov@chromium.org Reporter: bzbarsky@mit.edu QA Contact: public-webapps-bugzilla@w3.org CC: mike@w3.org, mrbkap@gmail.com, public-webapps@w3.org, wchen@mozilla.com Blocks: 14968 http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate says: partial interface Document { Element createElement(DOMString localName, optional DOMString typeExtension); Element createElementNS(DOMString? namespace, DOMString qualifiedName, optional DOMString typeExtension); }; This will fail in a conformant WebIDL implementation, because for example it creates two overloads of createElement: [NewObject] Element createElement(DOMString localName); Element createElement(DOMString localName, optional DOMString typeExtension); but WebIDL says: If there is more than one entry in an effective overload set that has a given type list length, then for those entries there MUST be an index i such that for each pair of entries the types at index i are distinguishable. and in this case the overload set for type list length == 1 has two entries which are identical. In practice, Gecko instead has this IDL: partial interface Document { [NewObject] Element createElement(DOMString localName, DOMString typeExtension); [NewObject] Element createElementNS(DOMString? namespace, DOMString qualifiedName, DOMString typeExtension); }; (note lack of "optional", which is key); I'm sorry that we didn't provide feedback on this when we implemented something different from the spec. That said Blink's IDL here is: [CustomElementCallbacks, PerWorldBindings, ActivityLogging=ForIsolatedWorlds, RaisesException] Element createElement(DOMString localName, [TreatNullAs=NullString] DOMString typeExtension); which also has a non-optional typeExtension.... -- You are receiving this mail because: You are on the CC list for the bug.
Received on Monday, 24 March 2014 16:56:49 UTC