W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2009

Re: WebIDL extension proposal for [Enumerable] interface attribute

From: Anselm R Garbe <anselm@aplixcorp.com>
Date: Tue, 14 Jul 2009 10:36:59 +0100
Message-ID: <89d1e7b80907140236p376ab6cdp229c3783224584a0@mail.gmail.com>
To: public-webapps@w3.org
2009/7/13 Cameron McCormack <cam@mcc.id.au>:
> Cameron McCormack:
>> >   * Entries in a dictionary interface that don’t correspond to the
>> >     attributes declared on them are also exposed as properties on the
>> >     host object in ES, and are enumerable (unlike corresponding named
>> >     properties for regular interfaces).
> Ian Hickson:
>> Could you elaborate an what this means?
> Corresponding named properties are currently specced to be DontEnum.
> (But corresponding indexed properties are enumerable.)  In the above
> proposal, properties that are reflecting dictionary entries would be
> enumerable.
>> >   * Dictionary interfaces are implicitly [Callable,NoInterfaceObject].
>> >     [OverrideBuiltins] could be used, which would make dictionary
>> >     lookups take precedence over other property lookups, as with
>> >     regular interfaces with getters.
>> What's the difference between a dictionary lookup and other property
>> lookups?
> Sorry, poor choice of wording.  By dictionary lookup I just mean doing
> a normal [[Get]] with a name that is that name of a property that
> corresponds to a dictionary entry.  So there’s no difference from named
> properties, here.

Cameron McCormack:
>> >   * A “dictionary” (an object that implements one or more dictionary
>> >     interfaces) can be designated as “not extensible”, which means
>> >     effectively the same thing as not having a creator on a regular
>> >     interface.

Ian Hickson:
>> In ES, any object has a creator even if it's not explicitly listed, it
>> just doesn't do anything from the host's perspective.
>> Is this different here?

Cameron McCormack:
> Hadn’t thought of that yet.  I suppose I would make it not different
> (i.e., trying to [[Put]] a property that doesn’t exist would succeed and
> not affect the underlying dictionary).

Does "succeed" mean that a sub-sequent [[Get]] for such a property
will return the value?
And does "not affect the underlying dictionary" effect the
enumerability of such properties?

Basically I don't mind how [[Put]] is dealt with, since that's apart
from the use cases I'm trying to solve, but of course it needs to be

Kind regards,
Received on Tuesday, 14 July 2009 09:37:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 20 October 2015 13:55:28 UTC