Re: "var" declarations shadowing properties from Window.prototype

On 10/5/12 7:35 PM, Cameron McCormack wrote:
> I let this thread languish a bit; sorry.
>
> Before I make the spec changes, I wanted to confirm the plan (again):
>
> * All IDL attributes on Window correspond to own properties on the
> window object.  It wasn't clear upon re-reading the thread exactly how
> they should behave.  Do they:
>
>     1. remain accessor properties, and setter-less ones for read only
>        IDL attributes?
>     2. remain accessor properties but gain a setter for read only IDL
>        attributes that either swallows and ignores an assignment, or
>        makes the property effectively [Replaceable]?

I believe they should remain accessor properties.

I think making them all [Replaceable] is likely to cause compat problems.

Apart from that, the only difference betewen #1 and #2 is strict-mode 
behavior, right?

>     3. become data properties, non-writable if they are read only
>        IDL attributes, with special [[GetOwnProperty]] behaviour to
>        implement the property?

I would be opposed to this, since this requires the global itself to be 
a proxy, effectively.  Given that we have no need for magic like this, 
it's better to not drag it in.

>     4. become data properties, writable even if they are read only
>        IDL attributes, with special [[GetOwnProperty]] and
>        [[DefineOwnProperty]] behaviour to implement the property,
>        where the defining behaviour is either to swallow and ignore
>        an assignment, or to make the property effectively
>        [Replaceable]?

As for #3.

> * What was the conclusion on whether properties for IDL operations also
> need to move down to be own properties?

I don't know that we reached one.  I think Brendan wanted to move them 
down.  I don't think I have a strong opinion.  Not sure what Travis 
thinks.  Opera already has them down there, I think.  The Chrome/Safari 
folks are being quiet as usual...

-Boris

Received on Saturday, 6 October 2012 01:33:22 UTC