A DOM use case that can't be emulated with direct proxies

Mark S. Miller erights at google.com
Wed Dec 12 15:51:56 PST 2012

On Wed, Dec 12, 2012 at 11:19 AM, David Bruant <bruant.d at gmail.com> wrote:
> * change the behavior of WindowProxy instances when it comes to doing things
> that would commit them to eternal invariants to throw instead of forwarding.
> This solution may still be possible, because it's unlikely that
> Object.defineProperty is widely used in web content today. But this change
> should happen pretty fast before content relies on it.

I think this is the only viable solution. The current behavior
violates ES5 in an unintended way[1]. As you say, to remain viable, it
must be done quickly. From previous experience, I suggest that there's
exactly one way to get quick universal deployment: add a test to
test262 that fails when a browser's WindowProxy object violates this
normative part of the ES5 spec.

[1]  The Window vs WindowProxy hack in html5 also violates ES5 in an
intended but unrelated way. That violation cannot be fixed, but does
not bear on this one.


More information about the es-discuss mailing list