Commit Graph

52 Commits

Author SHA1 Message Date
Sean Feng
64a91b18e5 Bug 1735644 - Use TimeStamp::Now() as AsyncOpenTime for DocumentChannel r=nika,valentin,necko-reviewers
Currently `AsyncOpenTime` is generated when DocumentChannel is
created, rather than being set in the `AsyncOpen` function. This is
mysterious and the reason for doing it this way is unclear.

I noticed a discrepancy while comparing the test result for
`nav2_test_redirect_server.html`. When I run it locally, the
value of `redirectStart` was 0.05 for me in Firefox and 1.5 in Chrome,
which turned out AsyncOpenTime was being used, and it didn't look like
it was set to the correct value.

I think we should use `TimeStamp::Now()` instead which appeals to be
more accurate.

Differential Revision: https://phabricator.services.mozilla.com/D129549
2021-10-28 00:37:15 +00:00
Masatoshi Kimura
12c9fd0669 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 12:07:16 +00:00
Narcis Beleuzu
30a5f83baa Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 04:04:37 +02:00
Masatoshi Kimura
666d7f8e2b Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 04:02:41 +02:00
Dorel Luca
922d64bb4f Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 02:45:34 +02:00
Masatoshi Kimura
fd94179ca1 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-14 20:44:54 +00:00
Simon Giesecke
5efd1faf25 Bug 1678062 - Remove unnecessary includes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D97467

Depends on D96561
2020-11-23 16:12:02 +00:00
Anny Gakhokidze
497ff8c157 Bug 1589102 - Part 3: Enable about:blank loads to take place via DocumentChannel, r=mattwoodrow
In process selection logic, ensure that we don't use the original URI for
about:blank and instead use the result principal. If the about:blank load has a
null principal, then revert to using the original URI.

Also, remove an extra about:blank load when an nsFrameLoaderOwner is changing
remoteness to prevent races.

Differential Revision: https://phabricator.services.mozilla.com/D85081
2020-08-28 17:20:40 +00:00
Anny Gakhokidze
a7185cba9a Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-28 17:20:30 +00:00
Matt Woodrow
f8a629b909 Bug 1638422 - Remove nsITraceableChannel from DocumentChannel. r=kmag,necko-reviewers
This isn't necessary any more, since we now attach StreamFilters directly to the 'real' channel when we replace DocumentChannel.

Differential Revision: https://phabricator.services.mozilla.com/D83594
2020-08-25 23:17:11 +00:00
Nika Layzell
5ee15f041e Bug 1614524 - Part 1: Add support for process-switching object/embed loads, r=mattwoodrow,smaug,kamidphish
By passing a weak reference back to the DocumentChannelParent into
DocumentLoadListener for object loads, we are able to handle process switching
loads by asking the content process to create a BrowsingContext, and delaying
the real process switch until it becomes available.

The load then completes as it would before, acting as a normal process-switching
subframe load.

Differential Revision: https://phabricator.services.mozilla.com/D86580
2020-08-18 16:49:34 +00:00
Butkovits Atila
7aa3c5898d Backed out 10 changesets (bug 1589102) for failure at browser_saveHeapSnapshot_e10s_01.js CLOSED TREE
Backed out changeset 0d22ad297b19 (bug 1589102)
Backed out changeset 14bcaf2a452c (bug 1589102)
Backed out changeset 20905f91e2bb (bug 1589102)
Backed out changeset 29ee0fbe855f (bug 1589102)
Backed out changeset d1f6185030af (bug 1589102)
Backed out changeset 31949872cc1d (bug 1589102)
Backed out changeset ec04e1a20597 (bug 1589102)
Backed out changeset ffe8da473b91 (bug 1589102)
Backed out changeset 3b92f7306c64 (bug 1589102)
Backed out changeset b187548e258f (bug 1589102)
2020-08-05 21:47:50 +03:00
Anny Gakhokidze
503b013a12 Bug 1589102 - Part 3: Enable about:blank loads to take place via DocumentChannel, r=mattwoodrow
In process selection logic, ensure that we don't use the original URI for
about:blank and instead use the result principal. If the about:blank load has a
null principal, then revert to using the original URI.

Also, remove an extra about:blank load when an nsFrameLoaderOwner is changing
remoteness to prevent races.

Differential Revision: https://phabricator.services.mozilla.com/D85081
2020-08-05 16:44:11 +00:00
Anny Gakhokidze
d0d9ae5dc4 Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-05 16:44:01 +00:00
Anny Gakhokidze
5612ec521f Bug 1654922 - Part 1: Remove DocumentChannel pref usage from tests and document navigation code, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85483
2020-08-01 16:36:12 +00:00
Dan Glastonbury
117e9cada1 Bug 1654764: Reduce DocumentChannel::GetContentType() crash to error. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85100
2020-07-29 03:13:31 +00:00
Dan Glastonbury
23f70228fe Bug 1646899 - P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya
Pass internal content policy type to DLL and switch behavior depending on type
being loaded. This implementation immediately redirects channel back to the
content process for further handling.



Depends on D80406

Differential Revision: https://phabricator.services.mozilla.com/D80407
2020-07-21 01:01:05 +00:00
Dan Glastonbury
0cbe9e3810 Bug 1646899 - P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow
Allows checking if DocumentChannel can be used with out creating an
nsDocShellLoadState object.



Depends on D80405

Differential Revision: https://phabricator.services.mozilla.com/D80406
2020-07-21 01:01:03 +00:00
Narcis Beleuzu
84c2303e03 Backed out 5 changesets (bug 1646899) for mochitest failures on DocumentLoadListener.cpp . CLOSED TREE
Backed out changeset f41ac122a801 (bug 1646899)
Backed out changeset 86a5e0827050 (bug 1646899)
Backed out changeset d2fd0f955e24 (bug 1646899)
Backed out changeset 7a7194146fe1 (bug 1646899)
Backed out changeset 4731d76dae88 (bug 1646899)
2020-07-13 05:43:30 +03:00
Dan Glastonbury
88f5bd0463 Bug 1646899 - P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya
Pass internal content policy type to DLL and switch behavior depending on type
being loaded. This implementation immediately redirects channel back to the
content process for further handling.

Differential Revision: https://phabricator.services.mozilla.com/D80407
2020-07-13 00:48:57 +00:00
Dan Glastonbury
8cc0ad8e59 Bug 1646899 - P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow
Allows checking if DocumentChannel can be used with out creating an
nsDocShellLoadState object.

Differential Revision: https://phabricator.services.mozilla.com/D80406
2020-07-13 00:48:54 +00:00
Dan Glastonbury
1ae7a4a374 Bug 1637783 - Relax SetLoadFlags hard assert to soft assert. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D75215
2020-05-13 22:49:01 +00:00
Dan Glastonbury
e625b20079 Bug 1623565 - P3: Remove mLoadFlags from DocumentChannelCreationArgs. r=mattwoodrow,jya
Differential Revision: https://phabricator.services.mozilla.com/D67799
2020-04-27 05:38:15 +00:00
Jean-Yves Avenard
0dc86f25d6 Bug 1607984 - P17. Put ParentProcessDocumentChannel behind a pref. r=necko-reviewers,mattwoodrow
We disable it for now, until some remaining failures are sorted out.

Differential Revision: https://phabricator.services.mozilla.com/D71875
2020-04-24 01:46:25 +00:00
Jean-Yves Avenard
31f1e6e50c Bug 1607984 - P12-4. Start parent load via DocumentChannel. r=mayhemer,nika,mattwoodrow,necko-reviewers
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-24 01:58:23 +00:00
Jean-Yves Avenard
5ed9e02da8 Bug 1607984 - P12-3. Let DocumentChannel decides when it can be used. r=mattwoodrow
Depends on D72272

Differential Revision: https://phabricator.services.mozilla.com/D72273
2020-04-24 02:22:58 +00:00
Jean-Yves Avenard
a6a92e1630 Bug 1607984 - P12-1. Move methods to base class. r=mattwoodrow
Move DocumentChannelChild methods to the base class as they will be needed with the ParentProcessDocumentChannel

Depends on D70008

Differential Revision: https://phabricator.services.mozilla.com/D72271
2020-04-24 02:21:01 +00:00
Jean-Yves Avenard
9283d6e484 Bug 1607984 - P5. Add missing nsIIdentChannel interface. r=mattwoodrow
Regressiong from bug 1607987. This prevented from QueryInterface(Ci.nsIIdentChannel) in JS on the channel.

Differential Revision: https://phabricator.services.mozilla.com/D70002
2020-04-24 01:44:59 +00:00
Csoregi Natalia
7a63433d70 Backed out 16 changesets (bug 1607984) for leaks on browser_ext_webRequest.js. CLOSED TREE
Backed out changeset 6c6ffa908c06 (bug 1607984)
Backed out changeset e973911e67e6 (bug 1607984)
Backed out changeset 28af6418ac16 (bug 1607984)
Backed out changeset 9a15a605f91a (bug 1607984)
Backed out changeset 52566b3564ba (bug 1607984)
Backed out changeset 142148a95181 (bug 1607984)
Backed out changeset 108e2cb6b2a9 (bug 1607984)
Backed out changeset 77fda525ee12 (bug 1607984)
Backed out changeset 980067f3ac1d (bug 1607984)
Backed out changeset 12b82a39c910 (bug 1607984)
Backed out changeset 7657023a763b (bug 1607984)
Backed out changeset 1ab8758802a6 (bug 1607984)
Backed out changeset 35f22d0817e1 (bug 1607984)
Backed out changeset b8c6277207d8 (bug 1607984)
Backed out changeset 244d3cb006be (bug 1607984)
Backed out changeset 9fc1a237829c (bug 1607984)
2020-04-23 11:49:51 +03:00
Jean-Yves Avenard
d3729e5fed Bug 1607984 - P17. Put ParentProcessDocumentChannel behind a pref. r=necko-reviewers,mattwoodrow
We disable it for now, until some remaining failures are sorted out.

Differential Revision: https://phabricator.services.mozilla.com/D71875
2020-04-23 06:33:37 +00:00
Jean-Yves Avenard
2683a485a6 Bug 1607984 - P12. Start parent load via DocumentChannel. r=mayhemer,nika,mattwoodrow,necko-reviewers
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-23 03:29:22 +00:00
Jean-Yves Avenard
b6f0ef9788 Bug 1607984 - P5. Add missing nsIIdentChannel interface. r=mattwoodrow
Regressiong from bug 1607987. This prevented from QueryInterface(Ci.nsIIdentChannel) in JS on the channel.

Differential Revision: https://phabricator.services.mozilla.com/D70002
2020-04-23 03:16:50 +00:00
Andreea Pavel
cbb895be44 Backed out 16 changesets (bug 1607984) for multiple test failures e.g test timeouts on a CLOSED TREE
Backed out changeset 4509808243f5 (bug 1607984)
Backed out changeset 0cb21bedf65f (bug 1607984)
Backed out changeset 4e5d89f68293 (bug 1607984)
Backed out changeset 0c0169ed4f04 (bug 1607984)
Backed out changeset ce527a6ffba4 (bug 1607984)
Backed out changeset 63175f596762 (bug 1607984)
Backed out changeset 107be8f3737d (bug 1607984)
Backed out changeset d7600d4d3528 (bug 1607984)
Backed out changeset e11b1b0ecfbf (bug 1607984)
Backed out changeset bed3f6bee79e (bug 1607984)
Backed out changeset abe692da4556 (bug 1607984)
Backed out changeset e02b12515d60 (bug 1607984)
Backed out changeset 7a2ef225a41e (bug 1607984)
Backed out changeset c173bde5106b (bug 1607984)
Backed out changeset dc8b37e10dc7 (bug 1607984)
Backed out changeset 09a651daf344 (bug 1607984)
2020-04-23 03:47:24 +03:00
Jean-Yves Avenard
72be07aed4 Bug 1607984 - P17. Put ParentProcessDocumentChannel behind a pref. r=necko-reviewers,mattwoodrow
We disable it on Android for now due to unexplained reftest start failures.

Differential Revision: https://phabricator.services.mozilla.com/D71875
2020-04-22 23:49:38 +00:00
Jean-Yves Avenard
066d0c7f14 Bug 1607984 - P12. Start parent load via DocumentChannel. r=mayhemer,nika,mattwoodrow,necko-reviewers
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-22 10:27:11 +00:00
Jean-Yves Avenard
71762f9917 Bug 1607984 - P5. Add missing nsIIdentChannel interface. r=mattwoodrow
Regressiong from bug 1607987. This prevented from QueryInterface(Ci.nsIIdentChannel) in JS on the channel.

Differential Revision: https://phabricator.services.mozilla.com/D70002
2020-04-15 15:37:23 +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
Jean-Yves Avenard
15a0a35011 Bug 1607984 - P5. Add missing nsIIdentChannel interface. r=mattwoodrow
Regressiong from bug 1607987. This prevented from QueryInterface(Ci.nsIIdentChannel) in JS on the channel.

Differential Revision: https://phabricator.services.mozilla.com/D70002
2020-04-15 08:57:28 +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
Jean-Yves Avenard
8ce0fcd83f Bug 1607984 - P5. Add missing nsIIdentChannel interface. r=mattwoodrow
Regressiong from bug 1607987. This prevented from QueryInterface(Ci.nsIIdentChannel) in JS on the channel.

Differential Revision: https://phabricator.services.mozilla.com/D70002
2020-04-15 06:02:56 +00:00
Dan Glastonbury
04d5facbcb Bug 1620119 - Remove isActive from DocumentChannelCreationArgs. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D65444
2020-03-10 00:44:01 +00:00
Dan Glastonbury
bf5666cbf6 Bug 1620107 - P3: Remove isTopLevelDoc from DocumentChannelCreationArgs. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D65433
2020-03-10 00:43:58 +00:00
Dan Glastonbury
cc7453039d Bug 1620107 - P2: Remove loadType from DocumentChannelCreationArgs. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D65432
2020-03-10 00:43:56 +00:00
Dan Glastonbury
adb527dd5a Bug 1620107 - P1: Remove hasNonEmptySandboxingFlags from DocumentChannelCreationArgs. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D65431
2020-03-10 00:43:49 +00:00
Matt Woodrow
45a7a13d7b Bug 1612683 - Remove assertions around QI'ing DocumentChannel, since they're no longer adding value. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D63280
2020-02-26 04:50:44 +00:00
Dan Glastonbury
98cd5d2e09 Bug 1616171 - P3: Move initatorType from DocumentChannelCreationArgs to BC. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D63452
2020-02-25 23:17:56 +00:00
Emilio Cobos Álvarez
1c221fea7d Bug 1614208 - Stop including AccessibleCaretEventHub and PresShell.h from Selection.h. r=TYLin
And fix a bunch of fallout as we now don't include nsDocShell.h everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D62169
2020-02-11 01:22:29 +00:00
Matt Woodrow
9ea8c6570f Bug 1607987 - Split DocumentChannelChild into two classes. r=jya
This shouldn't have any functional changes, and adds some new comments to explain the purpose of the classes a bit better.

Differential Revision: https://phabricator.services.mozilla.com/D59265
2020-01-13 00:28:13 +00:00