On 9/25/13 5:18 AM, Tom Van Cutsem wrote:
The auto-unwrapping doesn't break membranes, because membranes never
expose direct references to built-in functions (they only expose wrapper
functions, which can still do whatever interposition they want before
calling the actual built-in).

I'd like to clarify this part a bit... What happens when I take a built-in from one realm and .call() it on a proxy which is implementing a cross-realm membrane?

In this situation, I will claim the right behavior is to throw if the cross-realm access is disallowed and to unwrap the proxy otherwise. This is the behavior SpiderMonkey implements or its cross-realm proxies, in fact. But at the moment this is implemented via having a special brand on cross-realm proxies that indicates they're cross-realm proxies and giving cross-realm proxies's handler an extra "is it safe to unwrap your proxies?" hook.

All of which is to say, maybe such a hook is needed in general?

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

Reply via email to