I definitely agree that something like "preventAccidentalExtensions" (disallows 
new properties through [[Put]] but not [[DefineOwnProperty]]) has more common 
uses cases than preventExtensions, and for the precise reasons that David said. 
The security is against bugs usually, not attackers. PreventExtensions is a 
clumsy tool for managing capabilities because it leaves no room for giving 
*some* code permission while preventing other code, which is exactly what we 
want when the clueful *me* of now is writing code to manage the clueless *I* of 
the future.

On Feb 15, 2013, at 6:31 AM, medikoo <medikoo+mozilla....@medikoo.com> wrote:

> David, that's great clarification, and indeed it looks a bit different from
> that perspective.
> 
> Still the only use case I see for freezing/sealing whole object (the way it
> works now) is when we expose some constant dictionary object on which each
> property counts, and that's very rare use case.
> I don't see much good in disallowing extensions to prototypes we expose.
> it's not JS way. We can prevent accidental modifications of *existing* API's
> but disallowing custom extensions is too restrictive and not friendly in my
> opinion.
> 
> 
> 
> 
> --
> View this message in context: 
> http://mozilla.6506.n7.nabble.com/A-case-for-removing-the-seal-freeze-isSealed-isFrozen-traps-tp272443p272674.html
> Sent from the Mozilla - ECMAScript 4 discussion mailing list archive at 
> Nabble.com.
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to