зеркало из https://github.com/mozilla/gecko-dev.git
bd8f77645e
Reasons for doing this: * nsXPCWrappedJS has complicated GC behavior and we're seeing some oranges in this area. * Due to the GC/CC complexity, the global stored in nsXPCWrappedJS *must be* the object's global in the root-wrapper (implies non-CCW) case. If we do that, the global is redundant because we can just get it from the object when we need it. * For the CCW case, it probably doesn't matter too much which chrome global we use so we can use the compartment's first global - we now have an API for that. This may also save some memory because it avoids keeping globals alive unnecessarily and matches what we do for WrappedNatives and CCWs now. Furthermore, bug 1478359 comment 12 suggests CCWs can only show up here for in-content XBL and that's in the process of being removed. Differential Revision: https://phabricator.services.mozilla.com/D15096 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
moz.build | ||
mozIJSSubScriptLoader.idl | ||
nsIXPCScriptable.idl | ||
nsIXPConnect.idl | ||
xpcIJSGetFactory.idl | ||
xpcIJSWeakReference.idl | ||
xpccomponents.idl |