gecko-dev/js
Andrew McCreight 85f5946629 Bug 1510760, part 5 - Support local-to-remote window proxy transplanting. r=tcampbell,peterv
When a BrowsingContext changes from being local to remote, we have to
change all window proxies from being local to remote, using
transplanting. The actual window proxy becomes a remote window
proxy. Cross compartment wrappers (CCWs) to the window proxy also
become remote window proxies in their respective compartments, rather
than CCWs to a remote proxy in the old compartment of the window
proxy, because the window is no longer actually in that
compartment. This also avoids having to figure out what Xray behavior
for remote window proxies should be.

This patch uses the transplanting support I added to
GetRemoteOuterWindowProxy() in the previous patch to ensure that the
remote proxy map holds the correct value after transplanting finishes.

It drops the requirement that both arguments to JS_TransplantObject
have the same class, because we need to transplant a window proxy with
a remote window proxy. It also deals with this by not adding origobj
to the wrapper map unless it is a CCW, to handle transplanting to a
remote proxy.

The core design here, with the remote window proxies in every
compartment, is taken from a patch by peterv.

Differential Revision: https://phabricator.services.mozilla.com/D35730

--HG--
extra : moz-landing-system : lando
2019-07-18 15:02:59 +00:00
..
ductwork/debugger
examples
ipc Bug 1289211 - Rename InfallibleTArray to nsTArray in js/ r=tcampbell 2019-07-10 03:31:42 +00:00
public Bug 1565720 - Use Maybe instead of manual allocations in MemoryMetrics.h. r=jwalden 2019-07-18 13:17:10 +00:00
rust Bug 1564349 part 1 - Convert Baseline/Ion/NativeRegExp prefs from ContextOptions to JitOptions. r=nbp,smaug 2019-07-10 09:43:39 +00:00
src Bug 1510760, part 5 - Support local-to-remote window proxy transplanting. r=tcampbell,peterv 2019-07-18 15:02:59 +00:00
xpconnect Bug 1510760, part 5 - Support local-to-remote window proxy transplanting. r=tcampbell,peterv 2019-07-18 15:02:59 +00:00
app.mozbuild Bug 1549954 - Link in-tree brotli library if BinAST is enabled. r=glandium 2019-05-21 20:35:25 +00:00
ffi.configure
moz.build
moz.configure Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester 2019-06-12 22:30:46 +00:00
sub.configure