- From: Mark S. Miller <erights@google.com>
- Date: Thu, 2 Apr 2015 15:04:00 -0400
- To: Boris Zbarsky <bzbarsky@mit.edu>
- Cc: "public-script-coord@w3.org" <public-script-coord@w3.org>
Received on Thursday, 2 April 2015 19:04:28 UTC
If you initialize [[Writable]] to true, allow assignments, and have the
resulting value be the value assigned, why not have [[DefineOwnProperty]]
also succeed for these cases?
On Thu, Apr 2, 2015 at 2:56 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> Per current Web IDL spec, they are: http://heycam.github.io/
> webidl/#named-properties-object-getownproperty does "Set
> desc.[[Writable]] to false" in step 8.
>
> However, not a single UA implements this. Simple testcase:
>
> <div id="x"></div>
> <script>
> x = 5;
> alert(x);
> </script>
>
> This alerts "5", not "[object HTMLDivElement]" in Firefox, Chrome, Safari,
> IE11, and Presto Opera. Per current spec it should be alerting "[object
> HTMLDivElement]".
>
> I think we should just change the spec here. Specifically, set
> [[Writable]] to true, which will allow shadowing assignments, while
> continuing to return false from [[DefineOwnProperty]] (so if you try to
> actually set the property directly on the named properties object you
> either no-op or throw depending on strict mode and whatnot).
>
> Any objections?
>
> -Boris
>
>
--
Cheers,
--MarkM
Received on Thursday, 2 April 2015 19:04:28 UTC