Commit Graph

6181 Commits

Author SHA1 Message Date
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
Nika Layzell
a2f5a15e2f Bug 1584467 - Don't clear EmbedderInnerWindowId when destroying frame, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D47633

--HG--
extra : moz-landing-system : lando
2019-10-01 08:48:25 +00:00
Gabriele Svelto
10d41866a5 Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D47678

--HG--
extra : moz-landing-system : lando
2019-09-30 22:06:47 +00:00
Matt Woodrow
259109be31 Bug 1584374 - Unblock parent load events for OOP iframes that don't send an actual load event. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47353

--HG--
extra : moz-landing-system : lando
2019-09-29 23:51:59 +00:00
Christoph Kerschbaumer
30285b4a58 Bug 1499354: Add object-src 'none' to the CSP of all about: pages. r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D46950

--HG--
extra : moz-landing-system : lando
2019-09-26 16:22:41 +00:00
Nika Layzell
08192838cd Bug 1582237 - Expose embedder inner window ID on BrowsingContext in all processes, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D46802

--HG--
extra : moz-landing-system : lando
2019-09-26 16:16:32 +00:00
Brindusan Cristian
203fbcd6c8 Backed out 2 changesets (bug 1582716, bug 1575051) for gv-junit failures, new exception. CLOSED TREE
Backed out changeset b5aa3ac4483e (bug 1582716)
Backed out changeset c385531b4ee3 (bug 1575051)
2019-09-24 19:47:00 +03:00
Andreas Farre
d2c1ccbf9e Bug 1582716 - Remove nsDocShell::GetIsOnlyToplevelInTabGroup. r=nika
We can remove isOnlyToplevelInTabGroup entirely since we have
BrowsingContext/BrowsingContextGroup exposed through
chrome-webidl. Checking if a browsing context is the only top level
(auxilliary or otherwise) is only a matter of checking that there
isn't a parent, and that the size of the browsing context group is 1.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 14:29:18 +00:00
shindli
2791eb6f31 Backed out changeset db132849d960 (bug 1582716) for causing linting failures in /builds/worker/checkouts/gecko/toolkit/modules/E10SUtils.jsm CLOSED TREE 2019-09-24 17:09:06 +03:00
Andreas Farre
b9c17edc95 Bug 1582716 - Remove nsDocShell::GetIsOnlyToplevelInTabGroup. r=nika
We can remove isOnlyToplevelInTabGroup entirely since we have
BrowsingContext/BrowsingContextGroup exposed through
chrome-webidl. Checking if a browsing context is the only top level
(auxilliary or otherwise) is only a matter of checking that there
isn't a parent, and that the size of the browsing context group is 1.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:22:47 +00:00
Andreas Farre
3977fe175d Bug 1575051 - Remove nsIDocShellTreeItem.findItemWithName. r=kmag
This also allows us to remove TabGroup::FindItemWithName, which is a
big step towards removing TabGroup entirely.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:16:26 +00:00
Brindusan Cristian
52d6534a82 Backed out changeset 0ebd1612a4ae (bug 1575051) for gv-junit crashes and bc failures on browser_browsingContext-02.js. CLOSED TREE 2019-09-24 15:08:41 +03:00
Andreas Farre
3238beb123 Bug 1575051 - Remove nsIDocShellTreeItem.findWithName. r=kmag
This also allows us to remove TabGroup::FindItemWithName, which is a
big step towards removing TabGroup entirely.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 10:58:47 +00:00
Geoff Brown
b0e5901c93 Bug 1582884 - Enable some crashtests on Android; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D46784

--HG--
extra : moz-landing-system : lando
2019-09-24 01:12:09 +00:00
Emilio Cobos Álvarez
678c18063d Bug 1583203 - Annotate nsINode::OwnerDoc() as MOZ_NONNULL_RETURN. r=smaug
People keep adding useless null-checks and it was not clear what the consensus
was from bug 1441165, but this should be unobjectionable I guess.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 18:12:19 +00:00
Emilio Cobos Álvarez
2e05768081 Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 10:16:44 +00:00
Bogdan Tara
8675cadd18 Backed out changeset d984fd004e7e (bug 1578379) for ES lint failure on browser_tab_replace_while_loading.js CLOSED TREE 2019-09-23 13:00:56 +03:00
Emilio Cobos Álvarez
10fa3b178f Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 09:36:59 +00:00
arthur.iakab
b6a627c094 Merge inbound to mozilla-central. a=merge
--HG--
extra : amend_source : 39c72a7f01f9afa5abf7587d732d1e63969cc9da
2019-09-21 13:00:40 +03:00
Dorel Luca
f5e74811ca Merge mozilla-central to mozilla-inbound 2019-09-21 00:58:45 +03:00
Kris Maglione
685d91c901 Bug 1553804: Part 6 - Fix chrome mochitests which open chrome windows with content openers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45828

MANUAL PUSH: Cannot update reopened Phabricator revisions.

--HG--
extra : source : 86b3d469b4ff9f22e5757f83450b956a4c769785
extra : histedit_source : 2bf945343632b15eb79cf6b2ddd3ce097ddf70de%2Caec93d9f11bc1c802b63793cd5818530b64e9b4b
2019-09-20 10:18:15 -07:00
Kris Maglione
99714a4e22 Bug 1553804: Part 4 - Make some evil tests less evil/failing. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45329

--HG--
extra : source : acff4a6636719d9302d1a893e1f3ca392c8f99e5
extra : histedit_source : c727f4637a48f89ecb29233dba0a4aba0ed9ffd9%2Cfd70bbd8400e8aba9a4dc57956bfc9f1320e20db
2019-09-20 04:43:48 +00:00
Kris Maglione
b5a265b609 Bug 1553804: Part 3 - Assert we never create chrome BrowsingContexts in/send them to child processes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45328

--HG--
extra : source : 1574aecf31775e67f4810595207f3e807b4a0e4e
2019-09-20 04:43:46 +00:00
Kris Maglione
f153f423d4 Bug 1553804: Part 2 - Assert opener BrowsingContext type always matches its own type. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45327

--HG--
extra : source : 3acf056e792ec386ff9c534237c4f8025dcb747c
2019-09-20 04:43:39 +00:00
Edgar Chen
a159f19187 Bug 1578355 - Part 3: Add the ability to consume transient user activation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45353

--HG--
extra : moz-landing-system : lando
2019-09-20 11:10:13 +00:00
Edgar Chen
6fd87e8695 Bug 1578355 - Part 2: Introduce UserActivation::State; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45344

--HG--
extra : moz-landing-system : lando
2019-09-20 11:10:13 +00:00
Edgar Chen
5bc0854d2b Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 20:51:25 +00:00
Kashav Madan
596682e758 Bug 1582156 - Fix docshell/test/navigation/browser_test-content-chromeflags.js to work with Fission, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46298

--HG--
extra : moz-landing-system : lando
2019-09-19 17:49:39 +00:00
Kris Maglione
5092322d3b Bug 1580355: Run findWithName checks in the correct process and update to expect access checks. r=farre
BrowsingContext.findWithName is required to do access checks based on the
requestor, which can only be done in the process which owns it. This change
also alters the behavior of the existing CanAccess origin checks, which
typically treat any item as same-origin, but only when the docshells are
actually same process.

Removing the exemption fixes the behavior discrepancy between Fission and
non-Fission runs, but also requires that the test be updated to expect proper
access checks. Which is the situation we really want to test, anyway.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 11:33:53 +00:00
Agi Sferro
ebe6d184ab Bug 1570115 - Move LoadURIDelegate to Actor. r=kmag,snorp
Differential Revision: https://phabricator.services.mozilla.com/D44051

--HG--
extra : moz-landing-system : lando
2019-09-20 18:15:25 +00:00
Daniel Varga
bc19cdb06d Backed out 3 changesets (bug 1578355) for build bustage at build/src/dom/base/nsSyncLoadService.h:48:21. On a CLOSED TREE
Backed out changeset d50ad759f129 (bug 1578355)
Backed out changeset 339ab54ca471 (bug 1578355)
Backed out changeset 284299dac42c (bug 1578355)
2019-09-20 14:05:12 +03:00
Edgar Chen
288ff16a76 Bug 1578355 - Part 3: Add the ability to consume transient user activation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45353

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:59 +00:00
Edgar Chen
d2f9c11eb5 Bug 1578355 - Part 2: Introduce UserActivation::State; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45344

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:57 +00:00
Edgar Chen
5b6fe53148 Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:55 +00:00
Daniel Varga
f0411a344a Backed out 6 changesets (bug 1553804) for browser-chrome failure at browser/base/content/test/general/browser_fullscreen-window-open.js. On a CLOSED TREE
Backed out changeset 86b3d469b4ff (bug 1553804)
Backed out changeset 301e0d883a5f (bug 1553804)
Backed out changeset acff4a663671 (bug 1553804)
Backed out changeset 1574aecf3177 (bug 1553804)
Backed out changeset 3acf056e792e (bug 1553804)
Backed out changeset 1ed250faeb2e (bug 1553804)
2019-09-20 10:09:54 +03:00
Kris Maglione
136131d397 Bug 1553804: Part 6 - Fix chrome mochitests which open chrome windows with content openers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45828

--HG--
extra : moz-landing-system : lando
2019-09-20 04:44:02 +00:00
Kris Maglione
b79b2c3aa0 Bug 1553804: Part 4 - Make some evil tests less evil/failing. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45329

--HG--
extra : moz-landing-system : lando
2019-09-20 04:43:48 +00:00
Kris Maglione
ee6efe5868 Bug 1553804: Part 3 - Assert we never create chrome BrowsingContexts in/send them to child processes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45328

--HG--
extra : moz-landing-system : lando
2019-09-20 04:43:46 +00:00
Kris Maglione
87221e9e7d Bug 1553804: Part 2 - Assert opener BrowsingContext type always matches its own type. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45327

--HG--
extra : moz-landing-system : lando
2019-09-20 04:43:39 +00:00
Jonathan Watt
d88a4a0a4b Bug 1559841. Make the 'load' event wait for OOP-iframes to load. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D41953

--HG--
extra : moz-landing-system : lando
2019-09-19 00:00:44 +00:00
James Willcox
ae039b23a6 Bug 1540065 - Guard about:config access with 'general.aboutConfig.enable' pref r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D36608

--HG--
extra : moz-landing-system : lando
2019-09-18 15:25:35 +00:00
Jean-Yves Avenard
6d82c4d307 Bug 1581470 - Check for CSP navigate-to during ConfigureChannel so that it runs in the parent process. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D45985

--HG--
extra : moz-landing-system : lando
2019-09-18 04:36:51 +00:00
Marco Bonardo
fdfb9d4446 Bug 1578856 - browser.fixup.dns_first_for_single_words and the keyword-uri-fixup UI are broken. r=adw
In the Quantum Bar it's usually the urlbar code that decides whether a search
string should be visited or searched. if dns_first_for_single_words is set,
we can't make a final decision, because that depends on a dns lookup. For now
we don't want to duplicate the docshell code, also because we must keep the
old behavior functioning for cases where the urlbar value is set without input.

Similarly, when the docshell decides to search for a single word host, and a
dns lookup resolves it, it also shows a prompt asking the user if he meant to
visit it instead of searching. Because the urlbar skips the docshell decision
making, we must manually call the fixup prompt code from the urlbar.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 16:46:34 +00:00
Ehsan Akhgari
e8b78f99fc Bug 1580617 - Make nsDocShell::GetContentBlockingLog() reject its returned promise when there's no content viewer; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D45587

--HG--
extra : moz-landing-system : lando
2019-09-15 13:06:28 +00:00
Matt Woodrow
9c28cd3c32 Bug 1579765 - Copy mResultPrincipalURI across when serializing nsDocShellLoadState. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D45148

--HG--
extra : moz-landing-system : lando
2019-09-16 07:24:32 +00:00
Junior Hsu
fcaa80da0d Bug 1579012 - use COOP in top-levl browsing context of opener for iframe r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D45582

--HG--
extra : moz-landing-system : lando
2019-09-12 14:44:16 +00:00
Kris Maglione
d7eecef1e9 Bug 1574593: Silently ignore load attempt on/from discarded BrowsingContext. r=nika
The (non-normative) window.open spec does not specify what should happen when
window.open is called on a window with a null/discarded browsing context, but
in general the lookup and creation rules do not make sense when the window has
no BC. It does, however, specify that we should return null when a target BC
cannot be found or created, and gives us broad discretion over when we decide
to ignore a load request and return null. Since we can't trigger a
cross-process load from a discarded BC, simply aborting in that case seems
like the logical solution.

For Location objects, the spec is more specific, and requires that we ignore
load attempts on Location objects whose documents are null, which in our
implementation corresponds to a discarded BrowsingContext.
LocationBase::SetURI already enforces this, but a second check in
BrowsingContext::LoadURI is probably a good idea as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 11:37:01 +00:00
Andreas Farre
3adee23f00 Bug 1560110 - Cache children of detached browsing contexts. r=nika
To be able to reach all BrowsingContexts in
BrowsingContextGroup::EnsureSubscribed we need to make sure that if a
BrowsingContext is detached, we need to cache all of its children in
case we call BrowsingContextGroup::EnsureSubscribed before the
children in turn are detached.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 15:37:54 +00:00