Oliver Hunt wrote:
On Feb 12, 2012, at 11:28 AM, Brendan Eich wrote:
Heh, I knew that was coming. I'll amend to say "of long standing" after 
"implementations" :-P.

I still have a gut feeling that someone is going to take advantage of the 
setter for bad purposes that will be harder to block than would be the case if 
__proto__ reflected as a data property. But I can't prove this.

I'm not sure about this

Likewise, as noted -- I'm not sure but my gut is unhappy :-P.

  -- the JSC+V8 model for __proto__ was a magic property on the object itself, 
not the prototype, so anything that could access an object could mutate its 
prototype.  Pushing the property onto the prototype doesn't add any more 
restrictions over that (if you can access an object, by definition you can 
access its prototype).

Yes, that's all clear.

   If you pull the setter function off of the prototype you can still only 
apply it to objects you could already access.

The concern (no trolling here) is at least about attack surface. If there's no setter that can be extracted, there's no need for the "frame check" (however phrased). Adding that check adds more machinery to get wrong or have interact in unexpected ways with other moving parts.

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

Reply via email to