<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 16, 2013, at 7:25 AM, Mark S. Miller wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Keep in mind that if an object is non-extensible, its [[Prototype]] cannot be changed.</div></blockquote><div><br></div><div>And objects that are implemented using a Proxy don't use their  [[Prototype]] slot (a Proxy they doesn't have one) or necessarily even their target's [[Prototype]] to perform lookup of inherited properties.  They can implement inheritance in come completely different manner and using any internal state they want. The only way I can imagine generalizing what you are describing is to call the [[SetPrototypeOf]] MOP operation on the object and even then there is no general guarantee that the request would be accepted or that it would do what you are imagining.</div><div><br></div><div>Allen</div><div><br></div><div><br></div><div><br></div><blockquote type="cite"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 16, 2013 at 3:54 AM, Anne van Kesteren <span dir="ltr"><<a href="mailto:annevk@annevk.nl" target="_blank">annevk@annevk.nl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">I believe last time this came up here some people hard concerns so I<br>
was wondering whether that was still the case and what alternatives<br>
there might be.<br>
<br>
In <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=20567" target="_blank">https://www.w3.org/Bugs/Public/show_bug.cgi?id=20567</a> we're<br>
considering to define the behavior Gecko exhibits when moving a node<br>
between trees in different global objects.<br>
<br>
Event handlers and custom elements make this somewhat more tricky and<br>
we're discussion how to work with them in the bug.<br>
<br>
The reason we want to change prototypes is to reduce the potential for<br>
memory leaks and give consistent behavior across nodes in a tree. I.e.<br>
they'll always be from the same global.<br>
<br>
(There's also the more complicated document.open() scenario, which we<br>
should discuss separately at some point I think, but for those trying<br>
to figure out how to define multiple realms in ECMAScript that's worth<br>
looking into.)<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
<a href="http://annevankesteren.nl/" target="_blank">http://annevankesteren.nl/</a><br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>    Cheers,<br>    --MarkM
</div>
_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>https://mail.mozilla.org/listinfo/es-discuss<br></blockquote></div><br></body></html>