Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Allen Wirfs-Brock wrote: On Aug 10, 2012, at 3:25 PM, Brendan Eich wrote: 4) The declaration instantiation rules relating to pre-existing bindings only consider own properties of the global object. Inherited properties of the global object have no effect upon the processing of function and

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Jonas Sicking wrote: One potential solution that I think we should keep in mind is to declare that WebIDL properties*on global objects* doesn't go on the prototype chain, but rather on the global objects themselves. That seems like it'll reduce a lot of the foot guns since they will behave much

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Jonas Sicking
On Fri, Aug 10, 2012 at 11:17 PM, Brendan Eich bren...@mozilla.org wrote: Jonas Sicking wrote: One potential solution that I think we should keep in mind is to declare that WebIDL properties*on global objects* doesn't go on the prototype chain, but rather on the global objects themselves.

Re: On revoking access to the target of a proxy

2012-08-11 Thread David Bruant
Hi, It's been a couple of days that this thread has had no update and specifically no answer to Mark Miller's question Other than the additional complexity, which is a significant argument against, what other arguments are there against enabling a proxy to drop its target? So I guess we can

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Jonas Sicking wrote: On Fri, Aug 10, 2012 at 11:17 PM, Brendan Eichbren...@mozilla.org wrote: Jonas Sicking wrote: One potential solution that I think we should keep in mind is to declare that WebIDL properties*on global objects* doesn't go on the prototype chain, but rather on the global

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Jonas Sicking
On Sat, Aug 11, 2012 at 8:57 AM, Brendan Eich bren...@mozilla.org wrote: Webkit also puts attributes on objects for non-globals, but I'm not promoting that behavior. Nor do I know of any benefits regarding web compatibility that comes with that behavior. Ok, that's what I was getting at. It

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Allen Wirfs-Brock
On Aug 10, 2012, at 11:14 PM, Brendan Eich wrote: Allen Wirfs-Brock wrote: I don't think there is anything special about the global named undefined. As long as it is a own property of the global object (which is is spec'ed to be) 'var undefined' is fine because redundant var

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Allen Wirfs-Brock
On Aug 10, 2012, at 11:14 PM, Brendan Eich wrote: Allen Wirfs-Brock wrote: On Aug 10, 2012, at 3:25 PM, Brendan Eich wrote: 4) The declaration instantiation rules relating to pre-existing bindings only consider own properties of the global object. Inherited properties of the global

pattern matching in JS

2012-08-11 Thread Nic Volanschi
On Wed Jul 4 08:01:43 PDT 2012 Brendan Eich brendan at mozilla.org wrote: If only JS had pattern matching! [...] On Mon Jul 9 09:19:54 PDT 2012 Russell Leggett russell.leggett at gmail.com wrote: I know that full blown patterns are out of scope (though I'm hoping maybe this discussion might

Re: On revoking access to the target of a proxy

2012-08-11 Thread Brendan Eich
You made a good point, one I thought we had touched on at the last TC39 meeting, but apparently not. Tom is on vacation till 17 August, so expect to hear back from him after. /be David Bruant wrote: Hi, It's been a couple of days that this thread has had no update and specifically no

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Cameron McCormack
Are we talking just about attributes here, and not operations? So Window.prototype.open would still exist and there'd be no own open property on window? ___ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Cameron McCormack
Jonas Sicking: Webkit also puts attributes on objects for non-globals, but I'm not promoting that behavior. Nor do I know of any benefits regarding web compatibility that comes with that behavior. Brendan Eich: Ok, that's what I was getting at. It may be that this is just historical

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
As bz and others point out, the object detection w/ var pattern can arise for operations, e.g. for requestAnimationFrame, using the same var requestAnimationFrame = window.mozRequestAnimationFrame || ... || window.requestAnimationFrame; pattern. So WebIDL operations (JS methods) on the

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Allen Wirfs-Brock
On Aug 11, 2012, at 6:12 PM, Cameron McCormack wrote: Jonas Sicking: Webkit also puts attributes on objects for non-globals, but I'm not promoting that behavior. Nor do I know of any benefits regarding web compatibility that comes with that behavior. Brendan Eich: Ok, that's what I was

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Cameron McCormack
Brendan Eich: As bz and others point out, the object detection w/ var pattern can arise for operations, e.g. for requestAnimationFrame, using the same var requestAnimationFrame = window.mozRequestAnimationFrame || ... || window.requestAnimationFrame; pattern. So WebIDL operations (JS

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Allen Wirfs-Brock
On Aug 11, 2012, at 12:21 PM, Brendan Eich wrote: Allen Wirfs-Brock wrote: On Aug 10, 2012, at 11:14 PM, Brendan Eich wrote: In this case, firing the setter is perhaps what the programmer wanted, even if it is a terrible way to accomplish that end. It's not that bad if you start from the

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Cameron McCormack
Kyle Huey: Can we leave EventTarget's methods on the proto chain and only move the ones on the Window interface itself? Unlike Window, EventTarget isn't changing very much. We could. You're right it's not changing much, but I wouldn't want to box ourselves in to not being able to extend it

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Allen Wirfs-Brock
On Aug 11, 2012, at 6:46 PM, Cameron McCormack wrote: Brendan Eich: As bz and others point out, the object detection w/ var pattern can arise for operations, e.g. for requestAnimationFrame, using the same var requestAnimationFrame = window.mozRequestAnimationFrame || ... ||

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Cameron McCormack wrote: Jonas Sicking: Webkit also puts attributes on objects for non-globals, but I'm not promoting that behavior. Nor do I know of any benefits regarding web compatibility that comes with that behavior. Brendan Eich: Ok, that's what I was getting at. It may be that this is

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Just to clarify: Brendan Eich wrote: Agreed. Jonas and I are talking about an exception for the global object. It's the one on the scope chain. Well, other DOM objects are on scope chains of attribute-expressed event handlers. But such event handlers do not have any problem with var aliasing

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Cameron McCormack wrote: Brendan Eich: As bz and others point out, the object detection w/ var pattern can arise for operations, e.g. for requestAnimationFrame, using the same var requestAnimationFrame = window.mozRequestAnimationFrame || ... || window.requestAnimationFrame; pattern. So

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brendan Eich
Allen Wirfs-Brock wrote: On Aug 11, 2012, at 6:46 PM, Cameron McCormack wrote: 1. If we don't do that auto-forwarding, does Window.prototype still need to exist? What should window.__proto__ be? Requirements on the global object are specified here:

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Cameron McCormack
Brendan Eich: As noted, they started out that way 17 years ago. I think WebIDL and interface-based method definition made onload, e.g., predefined on window objects, or more recently on Window.prototype. Was this useful? Was it intended specifically (for window, not just intended generally due

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Brandon Benvie
Just to note, since it's tangentially related to the topic at hand, that WebKit (Chrome's WebKit?) currently doesn't handle Proxy functions as event targets (in any form) as noted in this bug report: http://code.google.com/p/chromium/issues/detail?id=140160. One issue this illustrates with this

Re: var declarations shadowing properties from Window.prototype

2012-08-11 Thread Jonas Sicking
On Sat, Aug 11, 2012 at 6:04 PM, Cameron McCormack c...@mcc.id.au wrote: Are we talking just about attributes here, and not operations? So Window.prototype.open would still exist and there'd be no own open property on window? I won't speak for anyone else, but I'm only talking about