- From: Cameron McCormack <cam@mcc.id.au>
- Date: Sat, 20 Jun 2009 15:43:23 +1000
- To: Ian Hickson <ian@hixie.ch>
- Cc: WebApps WG <public-webapps@w3.org>
Cameron McCormack: > > Done: > > > > The value of the internal [[Class]] property of a host object is > > determined as follows: > > * If the host object implements a single interface, then the value > > of the internal [[Class]] property MUST be the identifier of > > that interface. Ian Hickson: > I think it would make sense to exclude [NoPrototypeObject] interfaces from > consideration here. I assume you mean [NoInterfaceObject]? Is the reasoning for this that [NoInterfaceObject] inerfaces are nearly always “mixins”, and so shouldn’t affect the [[Class]]? Cameron McCormack: > > Note that this still technically does not mean you can guarantee that > > the NodeList returned by querySelectorAll() has [[Class]] == "NodeList", > > since it could be that that host object implements another interface, > > which might be required by another spec, or perhaps just because the > > implementation wants to. Ian Hickson: > IMHO this is a problem. I don't think that UA extensions should affect the > [[Class]], and I think that other specs should have a way (e.g. > [NoPrototypeObject]) of always making sure they don't affect the [[Class]] > of existing stuff. Do you still think it would be bad to use [ProtoypeRoot] on interfaces like NodeList, to indicate that it is the “main” interface? That would be the way, currently, to require a particular [[Class]] that could not be overridden by having a second interface be implemented. Thanks, Cameron -- Cameron McCormack ≝ http://mcc.id.au/
Received on Saturday, 20 June 2009 05:44:10 UTC