On Sep 15, 2008, at 7:51 PM, Mark S. Miller wrote:

On Mon, Sep 15, 2008 at 6:16 PM, Brendan Eich <[EMAIL PROTECTED]> wrote:
On Sep 16, 2008, at 1:54 AM, Mark S. Miller wrote:

This is also badly incompatible. Global functions are used as methods of their window objects. Calling them via this.func() or otherFrame.func() works, but so do calls to func() from the same window.

Since there's only one window per JS global object (obviously, since they're the same object), all the methods of the window could already be bound to their window,

You're proposing to bind |this| to all window functions in strict mode?

Worse. Since strict mode is only per program-unit, not per global object (frame), it makes no sense for such binding to be specific to strict mode. Rather, I'm proposing/asking whether it would be noticeably incompatible if all browser-provided window functions were bound to their window, period. Note that this need not be implemented or specified in terms of a specific 'bind' operation. It suffices to define all the browser-provided widow functions to refer to their window as 'window' rather than as 'this'.

That would not be compatible with current Safari/WebKit behavior, and it may be a compatibility risk. I think anyone proposing this change should do research to determine the scope of the risk, and our default position should be "no compatibility-breaking changes until proven relatively safe".

Regards,
Maciej

_______________________________________________
Es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to