> I'm still reluctant to give up on the unknownPrivateSymbol trap, because > doing so means giving up on mediation for one case. > In this case, we were able to capture every single private symbol passed > back and forth, but in another situation, maybe we didn't create A and B. > Someone else created them and just shared with each the same private > symbol and then handed off access to A and B so you can work with them. > You share an object through a membrane, they cooperate to do what you > ask them to (without using their shared secret), then, you'd like to cut > the communication? You revoke the membranes. But sharing a common object > (or a least different proxies to a common target) is all they need to > continue communicate since they have a private symbol you're oblivious > to, so they can still communicate. > In that scenario, the only way to actually cut the communication is the > unknownPrivateSymbol trap (admittedly, the scenario has been crafted to > that end, but is realistic anyway)
Is this scenario unique to private symbols? Can't I replace the word "private symbol" in your scenario above with "WeakMap" (or really just any object) and you have the same problem? If A and B are created by someone else, and both A and B are given a shared WeakMap and then they are passed off to a membrane which tries to cut communication, can't A and B continue to communicate behind the scenes through their shared WeakMap? I think if A and B are known directly to anyone before the membrane, they can build a backdoor to communicate, `unknownPrivateSymbol` trap or not. Nathan _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss