Re: [whatwg] SVG cloning elements from HTML5

On 6/18/14, 8:59 AM, Robert O'Callahan wrote:
> For example, SVGIframeElement as specced has two
> "width" attributes.

Which actually means the IDL will fail to be parsed with a conforming 
Web IDL parser.

> "SVGIframeElement implements HTMLIFrameElement" creates a multiple
> inheritance situation that I don't think any engine would really want to
> implement, even if it made sense, which I don't think it does.

For what it's worth, all that line means is "copy all the 
methods/properties from HTMLIframeElement.prototype and its ancestors to 
SVGIframeElement.prototype".  No multiple inheritance involved per se.

Of course in this case both HTMLIframeElement and SVGIframeElement 
ultimately inherit from Element and Node, but as WebIDL is currently 
written I believe all that "implements" statement will do is also copy 
all the Node and Element stuff onto SVGIframeElement.prototype.  This 
will, of course, greatly confuse authors who try to hook things on 
Element.prototype and discover it works for every element except 
SVGIframeElement...

In any case, whether the implementations of those methods/properties 
make sense after the copying is done depends on exactly how they're 
written.  I strongly doubt the HTMLIframeElement ones are all written in 
a generic enough way, so this would definitely need coordination with 
the HTML editor.

Fully agreed on the rest of your mail about this not being the way to 
go, if that wasn't clear.  ;)  And I strongly recommend running any 
draft IDL through an actual conforming IDL parser and not publishing any 
drafts with invalid IDL.

-Boris

Received on Wednesday, 18 June 2014 14:52:15 UTC