W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2009

Re: [PrototypeRoot]

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>
Message-ID: <20090620054323.GB12356@arc.mcc.id.au>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:31 GMT