зеркало из https://github.com/mozilla/gecko-dev.git
f55d088ec3
This flips the direction in which the BrowserBridge actor is generally created such that it is generally created in the parent and sent down to a child process. This is done by making the decision about what kind of switch to perform in the parent, and sending messages down to child processes async to orchestrate these process changes. Process launching is changed to use an async `MozPromise`-returning API in this patch, though the actual process launching still occurs synchronously. A future patch will enable performing async process launching through the NewOrUsedBrowserProcess mechanism. I know of at least a few timing issues which exist with the new logic, especially around the state of the BrowsingContext during the process transition. I decided to not try to fix all of these issues in this patch, as many are complex and will require changing how we manage the lifecycle of BrowsingContext substantially. I do, however, think that the new logic is more reliable and has fewer timing issues than the previous logic. Differential Revision: https://phabricator.services.mozilla.com/D47310 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
base | ||
build | ||
resources/content | ||
shistory | ||
test | ||
moz.build |