Le 24/12/2012 15:50, Brandon Benvie a écrit :
That doesn't seem to be a problem. Host objects may be losing most/all
of their magic but it's certainly reasonable that they have privileged
access to capabilities. I think it makes sense to frame deleting
__proto__ as simply removing access to a capability from the user, but
the capability still theoretically existing if you somehow have
privileged access to use it.
Some may rely on [[Prototype]] not changing to prove JS programs.
If you delete __proto__ and use this knowledge to assume [[Prototype]]
while it changes behind your back, it's not really helpful. While I'm
saying this, I realize that the set of operations which will change
[[Prototype]] is (will be) well-defined and the exact [[Prototype]] it
changes to is not arbitrary. So maybe things are fine.
I think a bigger question is how DOM nodes will handle
non-extensibility. If I Object.preventExtensions a node and then this
scenario happens, which happens to that node? Or do nodes just start
throwing whenever you try to make them non-extensible?
The throwing is what I suggested at www-dom.
David
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss