- 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