- From: Cameron McCormack <cam@mcc.id.au>
- Date: Wed, 12 Dec 2012 13:37:30 +1100
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- CC: "public-script-coord@w3.org" <public-script-coord@w3.org>, Anne van Kesteren <annevk@annevk.nl>
On 7/12/12 5:51 PM, Boris Zbarsky wrote: > http://dom.spec.whatwg.org/#xmldocument says: > > interface XMLDocument : Document {}; > > http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-document-object > says: > > [PutForwards=href, Unforgeable] readonly attribute Location? location; > > and http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable says: > > The [Unforgeable] extended attribute [....] also MUST NOT appear on an > attribute on interface A if there exists another interface B that has > A as an inherited interface. > > Per above, XMLDocument has Document as an inherited interface, so the > while thing is not valid WebIDL. > > I'm not sure why WebIDL has the above requirement, but removing it seems > like the simplest way forward here, unless it creates some sort of > security problem I'm missing. Cameron? I think I was concerned about the effect of the attribute (when when annotated with [Unforgeable]) being on the instance "jumping" the intervening interface. If XMLDocument defined its own location attribute, then it would be strange that on the XMLDocument object, getting "location" would get the Document's one. But since it's probably not a good idea anyway to be overriding IDL attributes on inheriting interfaces, I don't see a real problem with lifting the restriction. I've replaced the restriction with a requirement that inheriting interfaces don't declare an attribute with the same identifier: http://dev.w3.org/cvsweb/2006/webapi/WebIDL/Overview.xml.diff?r1=1.589;r2=1.590;f=h
Received on Wednesday, 12 December 2012 02:38:04 UTC