Commit Graph

6228 Commits

Author SHA1 Message Date
Edgar Chen
e6da573de1 Bug 1588720 - Part 2: Track number of popup spam through BrowsingContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49276

--HG--
extra : moz-landing-system : lando
2019-10-18 03:04:55 +00:00
Boris Zbarsky
43391c50c0 Bug 1589309. Pass XPCOM strings, not buffer pointers, to notifyJSRunToCompletionStart. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49650

--HG--
extra : moz-landing-system : lando
2019-10-18 02:50:45 +00:00
Olli Pettay
49bb4a7105 Bug 1586793 - [Fission] iframe.contentWindow may be null when it shouldn't be, r=peterv
The other cases when ClearWindowProxy is called seem to be fine.
It is the Unlink case which was causing null .contentWindow with test_mozfiledataurl.html

Fixes bug 1580391 and backs out bug 1581004

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

--HG--
extra : moz-landing-system : lando
2019-10-17 14:56:54 +00:00
Marco Bonardo
de0b357887 Bug 1588756 - Intermittent TV docshell/test/browser/browser_uriFixupIntegration.js. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D49473

--HG--
extra : moz-landing-system : lando
2019-10-17 10:59:56 +00:00
Andrew McCreight
2e32ec2b4b Bug 1589138 - Make addContentEventListener take an options object for the listener. r=Gijs
All but browser_bug744745.js seem to pass even without the fixes I
made, which seems odd.

browser_bug1058164.js is a little odd because it passes in {} instead
of a boolean for the useCapture argument. I think this ends up calling
addEventListener(..., {}, false), which should be the equivalent of
addEventListener(..., {}).

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

--HG--
extra : moz-landing-system : lando
2019-10-16 17:36:44 +00:00
Geoff Brown
c906073cd5 Bug 1585119 - Re-enable many mochitests on android; r=geckoview-reviewers,snorp
Most of these tests have been disabled for a long time; they run well
in the current test environment.
With the additional tests running, task times increase; I have added one
more test chunk for android mochitest-plain.
These tests were identified from a random sampling of mochitest manifests;
I intend to enable more mochitests in future patches.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 15:07:09 +00:00
Nika Layzell
965f006a70 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
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
2019-10-15 16:19:16 +00:00
Junior Hsu
2bf558c130 Bug 1566868 - network error for non empty sandboxing flag and non-null COOP r=valentin
Adjust for new spec change (comment 23)

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

--HG--
extra : moz-landing-system : lando
2019-10-15 06:09:26 +00:00
Marco Bonardo
a06a5b8ccb Bug 1588298 - Ensure CreateFromLoadURIOptions passes the appropriate PRIVATE flag to URIFixup. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D49154

--HG--
extra : moz-landing-system : lando
2019-10-15 08:11:45 +00:00
Paolo Amadini
ee00161634 Bug 1532703 - Redirect "about:config" to the HTML version on all channels for browser builds. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D48960

--HG--
extra : moz-landing-system : lando
2019-10-14 15:58:42 +00:00
Narcis Beleuzu
68337a887d Backed out 3 changesets (bug 1575051) for bc failures on browser_browsingContext-getWindowByName.js . CLOSED TREE
Backed out changeset 67aaf4a157af (bug 1575051)
Backed out changeset e01256038537 (bug 1575051)
Backed out changeset 0c8f70f9328b (bug 1575051)
2019-10-14 19:19:05 +03:00
Andreas Farre
c72a747c1c Bug 1575051 - Part 3: Test that nsWindowWatcher can find windows. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D48977

--HG--
extra : moz-landing-system : lando
2019-10-14 12:07:19 +00:00
Andreas Farre
d6e9e88325 Bug 1575051 - Part 2: Look in chrome browsing context group when docshell is missing. r=kmag
Also some minor cleanup in nsWindowWatcher, as well as a small fix,
where GetWindowByName forgot to addref its return value (as changed in
Part 1).

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

--HG--
extra : moz-landing-system : lando
2019-10-14 12:32:08 +00:00
Andreas Farre
e5c730845d Bug 1575051 - Part 1: Remove nsIDocShellTreeItem.findItemWithName. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46285

--HG--
extra : moz-landing-system : lando
2019-10-14 12:07:14 +00:00
Jorg K
5fb0032a51 Bug 1588065 - Fix namespace issues in nsDocShellLoadState.h. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D49063

--HG--
extra : moz-landing-system : lando
2019-10-13 00:07:50 +00:00
Marco Bonardo
cff612c7b4 Bug 1586681 - Ensure URIFIxup uses the right engine when there's a separate PB engine. r=Standard8,Gijs
Add a new FIXUP_FLAG_PRIVATE_CONTEXT to nsIURIFixup, make it use the default
private search engine when it's set.
Update consumers to pass the new flag when necessary.

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

--HG--
extra : moz-landing-system : lando
2019-10-12 12:37:51 +00:00
Kris Maglione
babdf3507e Bug 1586887: Return WindowProxyHolder rather than BrowsingContext from Window WebIDL getters. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D48429

--HG--
extra : moz-landing-system : lando
2019-10-11 19:32:09 +00:00
Kris Maglione
b45bfec73f Bug 1586911: Silence SHEntry assertion after local->remote->local iframe navigation. r=peterv
When we have a parser-created iframe which starts out in-process, transitions
to remote, and then transitions back to in-process, we create separate
DocShells for the first and last in-process loads. Since both are
network-created, and have the same child index, they both try to add
themselves as children to their parent's SHistory at the same index. And since
the entry for the first DocShell already exists at that index when we try to
add the second, that triggers an assertion.

This isn't really ideal, but it is expected given the current state of session
history under Fission. It should hopefully be solved more gracefully when the
Fission-aware session history rewrite is done, but in the mean time, I think
we should just ignore the conflict, since it's expected.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 19:32:02 +00:00
Kris Maglione
96062b8b7d Bug 1586926 - Add necessary caller access checks for cross-process Location navigations. r=nika
We attempt to enforce the same (approximate) access checks to Location-based
navigation that we use for loads that use named targeting (e.g., via
window.open), so that a frame that can't be navigated via, e.g., window.open,
also can't be navigated via, e.g., window.parent[1].location = url. For the
in-process case, this is handled by a somewhat hidden call to
CheckLoadingPermissions() in nsDocShell::InternalLoad, where the former checks
whether the principal of whatever JS context happens to be on the stack
subsumes the principal of the target DocShell or any of its ancestors, and
blocks the load if it doesn't.

Since there is no JS context on the stack when we call into the DocShell
loading code in the cross-process case, the check is simply ignored.

So we need to instead do the check in BrowsingContext::LoadURI, where we
already have an explicit accessor, and can simply use the standard access
checks that we use elsewhere.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 19:36:23 +00:00
Matt Woodrow
fe675abd66 Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:14 +00:00
Matt Woodrow
1acea42856 Bug 1578624 - P5: Add DisplayLoadError to BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44761

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:07 +00:00
Matt Woodrow
70bb7111fa Bug 1578624 - P4: Add an option to set mIsNavigating on the docshell when loading using BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44760

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:05 +00:00
Matt Woodrow
c5b56e636e Bug 1578624 - P3: Move conversion from LoadURIOptions processing into a static constructor for nsDocShellLoadState. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44759

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:03 +00:00
Matt Woodrow
94578c8761 Bug 1578624 - P2: Extend nsDocShellLoadState for the extra options needed to describe front end loads. r=kmag,nika
Differential Revision: https://phabricator.services.mozilla.com/D44758

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:01 +00:00
Nazım Can Altınova
20fc64e558 Bug 1583271 - Part 1: Change profiler page information IDs to BrowsingContextID and InnerWindowID r=gerald,nika
We were keeping nsDocShell::mHistoryId and nsDocShell::mOSHE as keys. They
weren't quite good because:
1. While loading an iframe, they were being registered twice with the same
ids(for about:blank and the real URL) sometimes.
2. It wasn't possible to access to the parent mHistoryId and mOSHE from a child
processes if the parent is in a different process. That may not be the case for
now, but it will be after fission.
So we had to find other IDs to:
1. Determine the Tab of the frames.
2. Determine the URLs of the frames.
For the first use case, we were using nsDocShell::mHistoryId for that purpose
but that was wrong. The closest thing that we can get to a tab ID is
BrowsingContext ID because they don't change after a navigation. But iframes
have different BrowsingContext's, so we still need to create a tree to
construct a tab content. That can be either in the front-end or capture time.
For the second use case, we were using a key pair of mHistoryId and mOSHE. We
now chose to keep inner window IDs for that purpose. Inner window IDs are
unique for each navigation loads because inner window correspond to each JS
window global objects. That's why we can use that without any problem. But one
problem is that we cannot handle `history.pushState` and `history.replaceState`
changes with that change since window global objects won't change during those.
But that was the best thing we can do after fission. So this will be a small
sacrifice for us to keep that functionality working after fission.
In that patch we also remove the registration/unregistration calls. We are
going to add those calls in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 21:25:11 +00:00
Nika Layzell
2f74e2ef0e Bug 1575163 - Dont send PostMessage events to a discarded BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D48418

--HG--
extra : moz-landing-system : lando
2019-10-09 14:20:23 +00:00
Brindusan Cristian
ef3c975bc9 Backed out 11 changesets (bug 1578624) for build bustages. CLOSED TREE
Backed out changeset b22733eb880f (bug 1578624)
Backed out changeset cb5e15489635 (bug 1578624)
Backed out changeset f1746b2f9dec (bug 1578624)
Backed out changeset d08a099a22ff (bug 1578624)
Backed out changeset 8ebd563c72a8 (bug 1578624)
Backed out changeset d8bfec2dc9b6 (bug 1578624)
Backed out changeset 591664928bce (bug 1578624)
Backed out changeset 63f5a619b9ef (bug 1578624)
Backed out changeset ff67cc13cdf3 (bug 1578624)
Backed out changeset 43556c937a09 (bug 1578624)
Backed out changeset 49065a55694d (bug 1578624)
2019-10-09 11:50:37 +03:00
Matt Woodrow
31a0796cdc Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:51 +00:00
Matt Woodrow
44c59ca2d5 Bug 1578624 - P5: Add DisplayLoadError to BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44761

--HG--
extra : moz-landing-system : lando
2019-10-09 06:58:34 +00:00
Matt Woodrow
a48a476531 Bug 1578624 - P4: Add an option to set mIsNavigating on the docshell when loading using BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44760

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:50 +00:00
Matt Woodrow
a0e75a0df9 Bug 1578624 - P3: Move conversion from LoadURIOptions processing into a static constructor for nsDocShellLoadState. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44759

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:50 +00:00
Matt Woodrow
2b3ffb9596 Bug 1578624 - P2: Extend nsDocShellLoadState for the extra options needed to describe front end loads. r=kmag,nika
Differential Revision: https://phabricator.services.mozilla.com/D44758

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:50 +00:00
Narcis Beleuzu
3429292547 Backed out 11 changesets (bug 1578624) for bustages on WindowGlobalChild.h . CLOSED TREE
Backed out changeset 478897956ee0 (bug 1578624)
Backed out changeset ab9c09164df0 (bug 1578624)
Backed out changeset f461f10efa46 (bug 1578624)
Backed out changeset 9b958693a003 (bug 1578624)
Backed out changeset 3b8220a15051 (bug 1578624)
Backed out changeset 180407dc57a8 (bug 1578624)
Backed out changeset bb11892e2171 (bug 1578624)
Backed out changeset 4f5c28244290 (bug 1578624)
Backed out changeset 6c02bbe5c1c5 (bug 1578624)
Backed out changeset 1d762fdce921 (bug 1578624)
Backed out changeset 818bc6e20c7d (bug 1578624)

--HG--
extra : histedit_source : ea22e628bf35425402009e9af274602f342a7476
2019-10-09 08:52:25 +03:00
Matt Woodrow
1fc44c3bea Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-09 04:34:40 +00:00
Matt Woodrow
f964e50c40 Bug 1578624 - P5: Add DisplayLoadError to BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44761

--HG--
extra : moz-landing-system : lando
2019-10-09 04:34:12 +00:00
Matt Woodrow
1696b97a9f Bug 1578624 - P4: Add an option to set mIsNavigating on the docshell when loading using BrowsingContext. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44760

--HG--
extra : moz-landing-system : lando
2019-10-09 04:50:16 +00:00
Matt Woodrow
cf962d7a54 Bug 1578624 - P3: Move conversion from LoadURIOptions processing into a static constructor for nsDocShellLoadState. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44759

--HG--
extra : moz-landing-system : lando
2019-10-09 04:53:39 +00:00
Matt Woodrow
4a351e1a82 Bug 1578624 - P2: Extend nsDocShellLoadState for the extra options needed to describe front end loads. r=kmag,nika
Differential Revision: https://phabricator.services.mozilla.com/D44758

--HG--
extra : moz-landing-system : lando
2019-10-09 04:53:06 +00:00
Brendan Dahl
237d762715 Bug 1510785 - Skip all XBL related tests when XBL is disabled. r=bzbarsky
XBL will be disabled on android, so these tests must be skipped. Where possible
tests are copied to create shadow DOM tests.

Depends on D45615

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

--HG--
rename : layout/inspector/tests/test_bug522601.xhtml => layout/inspector/tests/test_bug522601-shadow.xhtml
rename : layout/inspector/tests/test_bug609549.xhtml => layout/inspector/tests/test_bug609549-shadow.xhtml
rename : layout/reftests/bugs/334829-1a.xhtml => layout/reftests/bugs/334829-1a-shadow.xhtml
rename : layout/reftests/bugs/334829-1b.xhtml => layout/reftests/bugs/334829-1b-shadow.xhtml
rename : layout/reftests/bugs/386310-1b.html => layout/reftests/bugs/386310-1b-shadow.html
rename : layout/reftests/bugs/386310-1c.html => layout/reftests/bugs/386310-1c-shadow.html
rename : layout/reftests/bugs/386310-1d.html => layout/reftests/bugs/386310-1d-shadow.html
rename : layout/reftests/bugs/482592-1a.xhtml => layout/reftests/bugs/482592-1a-shadow.xhtml
rename : layout/reftests/bugs/482592-1b.xhtml => layout/reftests/bugs/482592-1b-shadow.xhtml
rename : layout/reftests/css-selectors/sibling-combinators-on-anon-content-1.xhtml => layout/reftests/css-selectors/sibling-combinators-on-anon-content-1-shadow.xhtml
rename : layout/reftests/css-selectors/sibling-combinators-on-anon-content-2.xhtml => layout/reftests/css-selectors/sibling-combinators-on-anon-content-2-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-appendmultiple.xhtml => layout/reftests/dom/multipleinsertionpoints-appendmultiple-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-appendsingle-1.xhtml => layout/reftests/dom/multipleinsertionpoints-appendsingle-1-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-appendsingle-2.xhtml => layout/reftests/dom/multipleinsertionpoints-appendsingle-2-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-insertmultiple.xhtml => layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-insertsingle-1.xhtml => layout/reftests/dom/multipleinsertionpoints-insertsingle-1-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-insertsingle-2.xhtml => layout/reftests/dom/multipleinsertionpoints-insertsingle-2-shadow.xhtml
rename : layout/reftests/dom/multipleinsertionpoints-ref2.xhtml => layout/reftests/dom/multipleinsertionpoints-ref2-shadow.xhtml
rename : layout/reftests/ib-split/insert-into-split-inline-5.html => layout/reftests/ib-split/insert-into-split-inline-5-shadow.html
extra : moz-landing-system : lando
2019-10-08 23:52:46 +00:00
Dylan Roeh
1657764793 Bug 1563343 - Do not search for OS protocol handlers in GV; just let Gecko return ERROR_UNKNOWN_PROTOCOL. r=snorp,geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D46311

--HG--
extra : moz-landing-system : lando
2019-10-08 19:05:09 +00:00
Sylvestre Ledru
1235ca8c28 Bug 1586674 - Simplify 'static inline uint32_t PRTimeToSeconds(PRTime aTimeUsec)' r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D48303

--HG--
extra : moz-landing-system : lando
2019-10-07 10:27:11 +00:00
Sylvestre Ledru
f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +00:00
Kris Maglione
1be547aab5 Bug 1586119: Part 3 - Enable some tests which appear to work under Fission. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D48222

--HG--
extra : moz-landing-system : lando
2019-10-04 21:50:32 +00:00
Kris Maglione
147f1b5141 Bug 1586119: Part 2 - Fix some more tests to almost work under Fission. r=mccr8
These still fail or timeout because of missing platform features, but at least
the tests will pass once those platform features are fixed after this.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 21:50:34 +00:00
Kris Maglione
b8a4406b8e Bug 1586119: Part 1 - Fix a couple of tests to work under Fission. r=mccr8
The key change here is to use SpecialPowers.spawn to access `location.href`
and `location.reload()` for remote windows in the correct proceses. The
remaining changes are refactorings to make it easier to encorporate async
operations like `SpecialPowers.spawn` in the test logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 21:55:07 +00:00
Csoregi Natalia
8768a4f5e3 Backed out 7 changesets (bug 1576714) for fission permafailures on test_bug590812.html. a=backout
Backed out changeset d0c49f00eb91 (bug 1576714)
Backed out changeset faecc9f35b49 (bug 1576714)
Backed out changeset 2e156655c31e (bug 1576714)
Backed out changeset eece722082c7 (bug 1576714)
Backed out changeset ebda40f96884 (bug 1576714)
Backed out changeset 7dce423417d8 (bug 1576714)
Backed out changeset 9a5072019168 (bug 1576714)
2019-10-05 00:08:33 +03:00
Nika Layzell
89b22d83ef Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
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
2019-10-03 21:40:24 +00:00
Geoff Brown
b5dcc6d775 Bug 1584562 - Re-disable crashtest 914521.html on Android; r=geckoview-reviewers,snorp
This test was skipped on Android for a long time, then recently enabled by
bug 1582884. Current failures are infrequent, but let's avoid them anyway.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 15:10:37 +00:00
Brindusan Cristian
950e03660b Backed out 6 changesets (bug 1576714) for build bustages at nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset 083967e704d2 (bug 1576714)
Backed out changeset b3467f1bdde7 (bug 1576714)
Backed out changeset 88e3b4b7fbaf (bug 1576714)
Backed out changeset b91221da32c7 (bug 1576714)
Backed out changeset 6996b7705f06 (bug 1576714)
Backed out changeset a303fc193f60 (bug 1576714)
2019-10-02 04:14:53 +03:00
Nika Layzell
f55d088ec3 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
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
2019-10-01 18:09:03 +00:00