Partial conclusions on WindowProxy and ES5 invariants

David Bruant bruant.d at gmail.com
Thu Dec 20 02:36:00 PST 2012


Le 19/12/2012 17:52, David Bruant a écrit :
> (...)
> 3) WindowProxy objects reflect [Unforgeable] properties as own 
> configurable getters (properties like 'location' which are also 
> [PutForward] also have a setter)
A different solution is suggested [1] and has a lot of support. With 
this solution, the couple of WindowProxy [Unforgeable] getters/setters 
would be deeply frozen (the function is frozen and all objects reachable 
from this function through properties, [[Prototype]], etc. are frozen too).
Because it involves Function.prototype and Object.prototype and these 
can't be frozen, getter/setter would have their own deeply frozen 
version of Function.prototype and Object.prototype.

> 3.1) It does NOT change the semantics of [Unforgeable] for other 
> objects (maybe 2 different annotations should be defined to 
> differenciate the 2 cases)
This still applies. Regardless if configurable:true or deeply frozen 
getters/setters is chosen, there will be a need for 2 annotations to 
distinguish WindowProxy [Unforgeable] and other [Unforgeable].

David

[1] https://mail.mozilla.org/pipermail/es-discuss/2012-December/027194.html


More information about the es-discuss mailing list