In bug 695480, we added code to nuke cross-compartment wrappers to dying scopes. This messed up compartment-per-global, but hopefully only because we now have many system compartments (instead of only one). Bug 695480 was mostly about killing chrome->content memory leaks, so we can hopefully just bail on the chrome->chrome wrapper case. Kyle wrote the patch, which I'll attach and push to try momentarily.
Pushed to try with c-p-g: https://tbpl.mozilla.org/?tree=Try&rev=e0ff4a8c8098
We should consider bailing on the content-to-content case too, if we don't already, since that one would affect web-visible behavior.
We bail in the content->* case already.
Created attachment 619563 [details] [diff] [review] Don't nuke chrome->chrome cross-compartment wrappers.