Commit Graph

3295 Commits

Author SHA1 Message Date
Csoregi Natalia
0e78df90ed Backed out 7 changesets (bug 1625615) for multiple failures e.g. /test_windowedhistoryframes.html. CLOSED TREE
Backed out changeset f239d24658c9 (bug 1625615)
Backed out changeset acea7c78db20 (bug 1625615)
Backed out changeset d709f5a72c35 (bug 1625615)
Backed out changeset 4cd231b1f3fb (bug 1625615)
Backed out changeset 45942c8dc380 (bug 1625615)
Backed out changeset 3f03a8703a8a (bug 1625615)
Backed out changeset e9299fc48796 (bug 1625615)
2020-04-16 00:32:16 +03:00
alwu
0ab6ac7a66 Bug 1625615 - part0 : create and set the flag suspendMediaWhenInactive on docShell. r=baku,farre
Implemecurnt a flag `suspendMediaWhenInactive` on the docShell that indicates media in that shell should be suspended when the shell is inactive. Currently, only GeckoView is using this flag.

---

The reason of implementing this flag is because in bug1577890 we remove the old way to suspend/resume the media, and I thought setting docshell to inactive is enough to suspend the media because we already have a mechanism which would suspend/resume media when document becomes inactive/active [1].

However, the active state of document is actually different from what I thought it was. Setting docshell to inactive won't change the document's active state, because that indicates if the document is the current active document for the docshell [2] (docshell can have multiple documents), instead of indicating if the docshell is active or not.

Therefore, we have to add another flag to indicate if the docshell wants to suspend its media when it's inactive, in order to use current mechanism to suspend/resume media.

[1] https://searchfox.org/mozilla-central/rev/4d2a9d5dc8f0e65807ee66e2b04c64596c643b7a/dom/html/HTMLMediaElement.cpp#6453
[2] https://searchfox.org/mozilla-central/rev/4d2a9d5dc8f0e65807ee66e2b04c64596c643b7a/dom/base/Document.h#2627-2633

Differential Revision: https://phabricator.services.mozilla.com/D69669
2020-04-15 18:13:29 +00:00
Anny Gakhokidze
c99c9fc71c Bug 1594529 - Create LoadInfo for subdocuments directly in parent process with DocumentChannel. r=mattwoodrow,nika
Currently, with Fission enabled we are not able to create a proper LoadInfo
object when doing a subdocument load because we do not have access to a loading
context if the load is happening inside of an OOP frame. To solve this problem,
we can create LoadInfo object from scratch in the parent process where we have
all of the required information.

Differential Revision: https://phabricator.services.mozilla.com/D68893
2020-04-15 18:53:06 +00:00
Kris Maglione
e68d532bff Bug 1594529: Infer nsDocShell::IsFrame from BrowsingContext. r=nika
This fixes the content policy type for document loads in these frames, where
the explicit mIsFrame flag was not set, due to DocShell creation taking a
different code path in remote frames than in in-process frames.

Differential Revision: https://phabricator.services.mozilla.com/D52093
2020-04-15 18:53:22 +00:00
Jonathan Kingston
2b11817f21 Bug 1594529 - Adding in asserts for LoadURI to ensure we have the correct contentPolicyType, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D70714
2020-04-15 18:53:22 +00:00
Stefan Hindli
3d33afd897 Backed out 15 changesets (bug 1607984) for causing very frequent reftest faiures CLOSED TREE
Backed out changeset 5497c90b03de (bug 1607984)
Backed out changeset 71dffa590c10 (bug 1607984)
Backed out changeset fdacabac2c54 (bug 1607984)
Backed out changeset 5f9fe17e46b8 (bug 1607984)
Backed out changeset 8f9058eb821d (bug 1607984)
Backed out changeset 025af7792f2a (bug 1607984)
Backed out changeset c7edd070b2f3 (bug 1607984)
Backed out changeset 8e7c95d322e8 (bug 1607984)
Backed out changeset e51f6b7a745c (bug 1607984)
Backed out changeset 979d99eb12d1 (bug 1607984)
Backed out changeset f554d4ce6718 (bug 1607984)
Backed out changeset fe84e5c64b4e (bug 1607984)
Backed out changeset 05d2032060db (bug 1607984)
Backed out changeset 07ce7b11fee9 (bug 1607984)
Backed out changeset 718d89be09d2 (bug 1607984)
2020-04-15 18:33:24 +03:00
Jean-Yves Avenard
c691a3beb9 Bug 1607984 - P12. Start parent load via DocumentChannel. r=mayhemer,nika,mattwoodrow
Add ParentProcessDocumentChannel object. This object is a DocumentChannel that will start a channel load from the parent process via a DocumentChannel.

The aim of this task is two-fold.
1- Be consistent on how we handle redirects before continuing the load on the final channel.
2- Prepare to initiate a process switch when needed without having to go via an intermediary content process, saving a process switch. This task will be done in a follow-up task.

The behaviour of the ParentProcessDocumentChannel is similar in logic to the DocumentChannelChild/DocumentChannelParent pair.
The ParentProcessDocumentChannel sets up a DocumentLoadListener, have it handle the redirects and upon completion continue the load on the final channel.

Differential Revision: https://phabricator.services.mozilla.com/D70009
2020-04-15 08:57:30 +00:00
Andreea Pavel
f4db938b0e Backed out 12 changesets (bug 1607984) for failing test_bug1339722.html on a CLOSED TREE
Backed out changeset 69c73391e8fc (bug 1607984)
Backed out changeset a3a28be516f9 (bug 1607984)
Backed out changeset 9f216e9bd32e (bug 1607984)
Backed out changeset 0b71b61415d5 (bug 1607984)
Backed out changeset 0fa85c9199a9 (bug 1607984)
Backed out changeset 4c661ed81cf2 (bug 1607984)
Backed out changeset 47beda24613f (bug 1607984)
Backed out changeset 348da0a8dd00 (bug 1607984)
Backed out changeset 3d6824e92c38 (bug 1607984)
Backed out changeset 1cfc8aad978c (bug 1607984)
Backed out changeset e11f4d334dc7 (bug 1607984)
Backed out changeset c499fa55d0f2 (bug 1607984)
2020-04-15 11:53:11 +03:00
Jean-Yves Avenard
ef78beffd6 Bug 1607984 - P12. Start parent load via DocumentChannel. r=mayhemer,nika,mattwoodrow
Add ParentProcessDocumentChannel object. This object is a DocumentChannel that will start a channel load from the parent process via a DocumentChannel.

The aim of this task is two-fold.
1- Be consistent on how we handle redirects before continuing the load on the final channel.
2- Prepare to initiate a process switch when needed without having to go via an intermediary content process, saving a process switch. This task will be done in a follow-up task.

The behaviour of the ParentProcessDocumentChannel is similar in logic to the DocumentChannelChild/DocumentChannelParent pair.
The ParentProcessDocumentChannel sets up a DocumentLoadListener, have it handle the redirects and upon completion continue the load on the final channel.

Differential Revision: https://phabricator.services.mozilla.com/D70009
2020-04-15 07:07:06 +00:00
Stefan Hindli
e3733c4146 Backed out changeset 16bfa5c1f2ca (bug 1594529) for mochitest permafailures in builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp CLOSED TREE 2020-04-15 09:28:56 +03:00
Stefan Hindli
2337657bba Backed out 2 changesets (bug 1594529) for causing perma wpt2 with ValueError: badly formed hexadecimal UUID string in /cookies/samesite/iframe-reload.https.html CLOSED TREE
Backed out changeset fbf55a44d7fb (bug 1594529)
Backed out changeset 4ba9a230586a (bug 1594529)
2020-04-15 08:41:10 +03:00
Jonathan Kingston
cacea59db0 Bug 1594529 - Adding in asserts for LoadURI to ensure we have the correct contentPolicyType, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D70714
2020-04-14 19:13:15 +00:00
Anny Gakhokidze
8a9c2d50e4 Bug 1594529 - Create LoadInfo for subdocuments directly in parent process with DocumentChannel. r=mattwoodrow,nika
Currently, with Fission enabled we are not able to create a proper LoadInfo
object when doing a subdocument load because we do not have access to a loading
context if the load is happening inside of an OOP frame. To solve this problem,
we can create LoadInfo object from scratch in the parent process where we have
all of the required information.

Differential Revision: https://phabricator.services.mozilla.com/D68893
2020-04-13 23:00:43 +00:00
Kris Maglione
f577dcdd40 Bug 1594529: Infer nsDocShell::IsFrame from BrowsingContext. r=nika
This fixes the content policy type for document loads in these frames, where
the explicit mIsFrame flag was not set, due to DocShell creation taking a
different code path in remote frames than in in-process frames.

Differential Revision: https://phabricator.services.mozilla.com/D52093
2020-04-13 22:41:37 +00:00
Tetsuharu OHZEKI
e50d31d8c4 Bug 1594283 - part 2: Rename nsIDocShell::GetSameTypeParentIgnoreBrowserBoundaries to nsIDocShell::GetSameTypeInProcessParentIgnoreBrowserBoundaries. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D70549
2020-04-14 19:17:21 +00:00
Tetsuharu OHZEKI
c288a0c2f2 Bug 1594283 - part 1: Remove nsIDocShell::GetSameTypeRootTreeItemIgnoreBrowserBoundaries(). r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D67352
2020-04-10 18:33:18 +00:00
Csoregi Natalia
a3c8408007 Backed out 5 changesets (bug 1615588) for browser-chrome failures e.g. browser_beforeunload_duplicate_dialogs.js. CLOSED TREE
Backed out changeset 751cca7566a8 (bug 1615588)
Backed out changeset 474aca043834 (bug 1615588)
Backed out changeset 7839b95ef76c (bug 1615588)
Backed out changeset 32bb87f48b13 (bug 1615588)
Backed out changeset 264e642042b1 (bug 1615588)
2020-04-10 21:19:15 +03:00
pbz
79ef17c4dc Bug 1615588 - Extended nsIPromptService to support tab modal prompts. r=johannh,MattN
This patch introduces a new tab modal system prompt type. It can be opened via the nsIPromptService
with a destination BrowsingContext. These tab system prompts overlap slightly with the upper
chrome UI to differentiate them from content prompts (previously called tab prompts).

- Extended nsIPromptService and nsIPrompt to accept 3 types of modal prompts:
  - Window prompts
  - Tab (system) prompts
  - Content prompts (the old tab prompts)
- Removed prompt code from Prompter.jsm, always call PromptParent window actor instead
- Added PromptChild window actor to forward pagehide events to parent actor
- Created additional prompt methods in nsIPromptService to prompt by browsingContext and modalType
- Backwards compatibility is maintained, consumers can still open content prompts calling nsIPrompt with a content window

Differential Revision: https://phabricator.services.mozilla.com/D66446
2020-04-10 16:47:00 +00:00
Dylan Roeh
0045eeabfc Bug 1619798 - Move GeckoView onLoadRequest calls to DocumentLoadListener.cpp r=snorp,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D69594
2020-04-10 16:38:48 +00:00
Kris Maglione
40be55160b Bug 1626404: Part 4 - Remove now-redundant accessor args from BrowsingContext load methods. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69421
2020-04-08 19:04:47 +00:00
Kris Maglione
02c2ca6f0a Bug 1626404: Part 3 - Do sandbox flag checks at both ends of cross-process loads. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69420
2020-04-04 02:42:39 +00:00
Kris Maglione
7e58125538 Bug 1626404: Part 2a - Store source BrowsingContext rather than DocShell in LoadState. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69418
2020-04-04 02:42:44 +00:00
Kris Maglione
f0e8681c10 Bug 1626404: Part 1 - Move IsSandboxedFrom to BrowsingContext. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69417
2020-04-04 02:42:30 +00:00
Bogdan Tara
9f2284c826 Backed out 6 changesets (bug 1626404) for frequent timeouts on test_postMessage_onOther.html CLOSED TREE
Backed out changeset 453b858f4462 (bug 1626404)
Backed out changeset f54ce6a36c75 (bug 1626404)
Backed out changeset ec63b18da4b9 (bug 1626404)
Backed out changeset b0d4b213b819 (bug 1626404)
Backed out changeset af763de00e9d (bug 1626404)
Backed out changeset 45b68d43bdbb (bug 1626404)
2020-04-09 11:07:40 +03:00
Matt Woodrow
3dd12ef035 Bug 1597159 - Defer creating DocumentLoadListener's stream filter until after we process switch. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D64698
2020-04-09 07:03:49 +00:00
Brindusan Cristian
8e1d87b0cf Backed out 3 changesets (bug 1597159) for build bustages on netwerk/ipc/target-objects. CLOSED TREE
Backed out changeset 2dd2598b3edb (bug 1597159)
Backed out changeset 0ad16f200740 (bug 1597159)
Backed out changeset 927e82a323c6 (bug 1597159)
2020-04-09 07:12:47 +03:00
Matt Woodrow
2e25f1906d Bug 1597159 - Defer creating DocumentLoadListener's stream filter until after we process switch. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D64698
2020-04-09 02:55:17 +00:00
Kris Maglione
496dd4cf93 Bug 1626404: Part 4 - Remove now-redundant accessor args from BrowsingContext load methods. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69421
2020-04-08 19:04:47 +00:00
Kris Maglione
1b80f6b7fc Bug 1626404: Part 3 - Do sandbox flag checks at both ends of cross-process loads. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69420
2020-04-04 02:42:39 +00:00
Kris Maglione
535b46c73a Bug 1626404: Part 2a - Store source BrowsingContext rather than DocShell in LoadState. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69418
2020-04-04 02:42:44 +00:00
Kris Maglione
35503e3f6f Bug 1626404: Part 1 - Move IsSandboxedFrom to BrowsingContext. r=nika CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D69417
2020-04-04 02:42:30 +00:00
Oana Pop Rus
2e479d6d2e Backed out 6 changesets (bug 1626404) for mochitest failures in BrowsingContext.cpp on a CLOSED TREE
Backed out changeset 4a3b391e08c4 (bug 1626404)
Backed out changeset 1a5a559ec6d5 (bug 1626404)
Backed out changeset 2ffdab0072e7 (bug 1626404)
Backed out changeset 6fb384961b99 (bug 1626404)
Backed out changeset c0c2e85e33da (bug 1626404)
Backed out changeset bf32b30efa49 (bug 1626404)
2020-04-09 00:22:49 +03:00
Kris Maglione
1465a5be2f Bug 1626404: Part 4 - Remove now-redundant accessor args from BrowsingContext load methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69421
2020-04-08 19:04:47 +00:00
Kris Maglione
0a3ac7ea55 Bug 1626404: Part 3 - Do sandbox flag checks at both ends of cross-process loads. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69420
2020-04-04 02:42:39 +00:00
Kris Maglione
8cf3ee1e11 Bug 1626404: Part 2a - Store source BrowsingContext rather than DocShell in LoadState. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69418
2020-04-04 02:42:44 +00:00
Kris Maglione
90013ea51d Bug 1626404: Part 1 - Move IsSandboxedFrom to BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69417
2020-04-04 02:42:30 +00:00
Peter Van der Beken
a2d0ade9f0 Bug 1628282 - Inline nsDocShell::OnLoadingSite into its only caller. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D70179
2020-04-08 11:48:56 +00:00
Marco Bonardo
bee013f896 Bug 1496578 - convert nsDefaultURIFixup to URIFixup.jsm. r=Gijs,farre
Differential Revision: https://phabricator.services.mozilla.com/D66579
2020-04-08 11:30:14 +00:00
Nika Layzell
2b076e179b Bug 1616353 - Part 7.7: Remove window initialization properties which are redundant with nsOpenWindowInfo, r=kmag
These properties used to be passed to newly created content windows in many
different ways, but are now unified under nsOpenWindowInfo. This patch cleans up
the remaining properties.

Differential Revision: https://phabricator.services.mozilla.com/D67056
2020-04-07 21:39:44 +00:00
Nika Layzell
63bd4e74fb Bug 1616353 - Part 6.2: Remove setOriginAttributesBeforeLoading API, r=smaug
This API is no longer possible to implement, as it will always try to set the
OriginAttributes on a content BrowsingContext after it has been attached, and JS
can never observe a detached BrowsingContext.

Users of this API are instead changed to perform assertions that
originAttributes have already been set correctly.

Differential Revision: https://phabricator.services.mozilla.com/D67046
2020-04-07 21:39:14 +00:00
Nika Layzell
ea10ffb31a Bug 1616353 - Part 6.1: Implement nsILoadContext on BrowsingContext, r=smaug
This also moves nsDocShell's implementation of nsILoadContext to be based on its
BrowsingContext.

This patch does not, by itself, fix all places which try to mutate
`nsILoadContext`. Those are fixed by the other parts of this patch stack.

Differential Revision: https://phabricator.services.mozilla.com/D67045
2020-04-07 21:39:12 +00:00
Razvan Maries
2229957d40 Backed out changeset b86e8f2cc5db (bug 1496578) for build bustages on nsDocShell.cpp. CLOSED TREE 2020-04-08 01:16:33 +03:00
Marco Bonardo
47b3ead8af Bug 1496578 - convert nsDefaultURIFixup to URIFixup.jsm. r=Gijs,farre
Differential Revision: https://phabricator.services.mozilla.com/D66579
2020-04-07 21:55:24 +00:00
Andreas Farre
9509fc894a Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

Differential Revision: https://phabricator.services.mozilla.com/D65936
2020-04-07 15:17:47 +00:00
Andreas Farre
4ca438fe5b Bug 1620594 - Part 3: Use default target for timers using SystemGroup. r=nika
Depends on D67632

Differential Revision: https://phabricator.services.mozilla.com/D67633
2020-04-07 15:16:46 +00:00
Emilio Cobos Álvarez
46f64ba715 Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

Differential Revision: https://phabricator.services.mozilla.com/D69828
2020-04-06 18:57:36 +00:00
Cosmin Sabou
8ca4dd2b6f Backed out 3 changesets (bug 1627707) for build bustages @ mozilla::net::LoadInfo.
Backed out changeset 65d6a90651ce (bug 1627707)
Backed out changeset 378ec30d9979 (bug 1627707)
Backed out changeset 058a19e11b06 (bug 1627707)
2020-04-06 20:07:04 +03:00
Cosmin Sabou
357a0887a1 Backed out 24 changesets (bug 1616353) for fission assertion failures nsGlobalWindowOuter.cpp.
Backed out changeset 3a43210e4900 (bug 1616353)
Backed out changeset cb77e9149cf8 (bug 1616353)
Backed out changeset 3aacc7cfe33f (bug 1616353)
Backed out changeset c026b06063a5 (bug 1616353)
Backed out changeset 580e790c5d17 (bug 1616353)
Backed out changeset 6f09bc1c476d (bug 1616353)
Backed out changeset 6955906262c0 (bug 1616353)
Backed out changeset a7700472807a (bug 1616353)
Backed out changeset a4735096e01b (bug 1616353)
Backed out changeset bd1706c57d91 (bug 1616353)
Backed out changeset 363c13296fda (bug 1616353)
Backed out changeset e414df387524 (bug 1616353)
Backed out changeset 765d3364cca0 (bug 1616353)
Backed out changeset 8a13355b4ac4 (bug 1616353)
Backed out changeset ada17fb8fca7 (bug 1616353)
Backed out changeset 6b6b99af186d (bug 1616353)
Backed out changeset ea966e78b296 (bug 1616353)
Backed out changeset cb88e0bbb3b9 (bug 1616353)
Backed out changeset f89a89015114 (bug 1616353)
Backed out changeset ae6058552969 (bug 1616353)
Backed out changeset f42bb5b48c1b (bug 1616353)
Backed out changeset 1ab9d22c73bb (bug 1616353)
Backed out changeset 2692c2c1396b (bug 1616353)
Backed out changeset 11a279c8da08 (bug 1616353)
2020-04-06 20:03:02 +03:00
Emilio Cobos Álvarez
d828790f70 Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

Differential Revision: https://phabricator.services.mozilla.com/D69828
2020-04-06 16:00:43 +00:00
Nika Layzell
fd1843d5af Bug 1616353 - Part 7.7: Remove window initialization properties which are redundant with nsOpenWindowInfo, r=kmag
These properties used to be passed to newly created content windows in many
different ways, but are now unified under nsOpenWindowInfo. This patch cleans up
the remaining properties.

Differential Revision: https://phabricator.services.mozilla.com/D67056
2020-04-06 14:30:19 +00:00