Commit Graph

136 Commits

Author SHA1 Message Date
Matt Woodrow
9638778ace Bug 1604447 - Remove channel diversion code. r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D90193
2020-09-18 20:56:54 +00:00
Bogdan Tara
8dede7a88d Backed out changeset 3cb12ccee75a (bug 1604447) for causing build bustage CLOSED TREE 2020-09-18 23:43:46 +03:00
Matt Woodrow
d990dadcc7 Bug 1604447 - Remove channel diversion code. r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D90193
2020-09-18 06:56:38 +00:00
Nika Layzell
2454ade94e Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-07 22:49:06 +00:00
Razvan Maries
7a5b66f9b6 Backed out 5 changesets (bug 1633820) for build bustages at TabContext.cpp. CLOSED TREE
Backed out changeset 0a20dd1935d7 (bug 1633820)
Backed out changeset 626e834293ed (bug 1633820)
Backed out changeset 14cc454a8cbc (bug 1633820)
Backed out changeset 7bbcb9266b87 (bug 1633820)
Backed out changeset ef99672bd2af (bug 1633820)
2020-05-08 00:59:20 +03:00
Nika Layzell
dd35cc6b02 Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-07 17:45:12 +00:00
Bogdan Tara
7fce40912d Backed out 5 changesets (bug 1633820) for bustages complaining about TabContext CLOSED TREE
Backed out changeset 4982d41d5e6b (bug 1633820)
Backed out changeset 9803c41e42f9 (bug 1633820)
Backed out changeset 2475bbab03a8 (bug 1633820)
Backed out changeset 762f0b2c154c (bug 1633820)
Backed out changeset f9ea871a0227 (bug 1633820)
2020-05-06 22:39:46 +03:00
Nika Layzell
da2aae6af5 Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-06 17:42:41 +00:00
Tim Huang
5f67d1c916 Bug 1612378 - Part 7: Remove the ContentBlockingAllowListPrincipal from the nsIHttpChannelInternal. r=dimi,baku
We nolonger need to use the ContentBlockingAllowListPrincipal in the
channel because we move to check the IsOnContentBlockingAllowList in the
CookieJarSettings when we do a content blocking allow list check. Also,
we would potentially expose the cross-origin info through the
ContentBlockingAllowListPrincipal in the channel. Hence, we will remove
it from the channel.

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

--HG--
extra : moz-landing-system : lando
2020-03-25 13:51:05 +00:00
Valentin Gosu
8277bba048 Bug 1613497 - Get rid of URIParams in the predictor code r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D61748

--HG--
extra : moz-landing-system : lando
2020-02-07 10:55:53 +00:00
Narcis Beleuzu
e0d2f84cc3 Backed out 2 changesets (bug 1613497) for build bustages on Predictor.cpp . CLOSED TREE
Backed out changeset 4daf20b37baf (bug 1613497)
Backed out changeset 182a8403e7d0 (bug 1613497)
2020-02-06 12:33:02 +02:00
Valentin Gosu
a728b8c1eb Bug 1613497 - Get rid of URIParams in the predictor code r=dragana
Depends on D61744

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

--HG--
extra : moz-landing-system : lando
2020-02-06 09:22:44 +00:00
Kershaw Chang
a1a7f14884 Bug 1600678 - Use IPDL refcounted for DNSRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D55475

--HG--
extra : moz-landing-system : lando
2019-12-02 18:28:49 +00:00
Byron Campen [:bwc]
fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc]
fbfb9f6754 Bug 1569183: Make proxy config parameters optional in WebrtcTCPSocket to get the NAT simulator working again. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45104

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:37 +00:00
Byron Campen [:bwc]
ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Matt Woodrow
1b5f7c772a Bug 1556489 - P18. Add DocumentChannel and hook it up. r=nika,mayhemer
DocumentChannel acts as a replacement for HttpChannel where redirects are now entirely handled in the DocumentChannelParent. The ContentChild will receive the final nsIChannel once all redirects have been handled.

Differential Revision: https://phabricator.services.mozilla.com/D37490
2019-09-03 10:19:38 +10:00
Nika Layzell
bf4d274ec0 Bug 1570369 - Part 15: Use IPDL refcounted for PHttpChannel, r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40264

--HG--
extra : moz-landing-system : lando
2019-08-16 10:54:23 +00:00
Nika Layzell
3538174984 Bug 1570369 - Part 13: Use IPDL refcounted for PFileChannel, r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40259

--HG--
extra : moz-landing-system : lando
2019-08-16 10:46:30 +00:00
Nika Layzell
cac925ef9d Bug 1570369 - Part 12: Use IPDL refcounted for PDataChannel, r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40257

--HG--
extra : moz-landing-system : lando
2019-08-16 10:45:57 +00:00
Ehsan Akhgari
575c480fc5 Bug 1572240 - Part 3: Introduce nsIHttpChannelInternal.contentBlockingAllowListPrincipal; r=michal
Differential Revision: https://phabricator.services.mozilla.com/D42204

--HG--
extra : moz-landing-system : lando
2019-08-19 19:38:50 +00:00
Andrea Marchesini
cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Andreea Pavel
14071390d5 Backed out 2 changesets (bug 1567892) for build bustages on a CLOSED TREE
Backed out changeset edcdfaa8a2b1 (bug 1567892)
Backed out changeset 3aef1ee02e9b (bug 1567892)
2019-07-25 08:26:29 +03:00
Andrea Marchesini
00f3ae963f Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-25 04:51:00 +00:00
Bogdan Tara
e50924670e Backed out 2 changesets (bug 1567892) for build bustages complaining about PNecko.ipdl CLOSED TREE
Backed out changeset 18a1d7fe61e0 (bug 1567892)
Backed out changeset b1b922fe6c11 (bug 1567892)
2019-07-24 18:59:39 +03:00
Andrea Marchesini
9876c2f82a Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-24 15:28:56 +00:00
Byron Campen [:bwc]
fd880e95f8 Bug 1545827: Use TabId instead of PBrowserOrId, use LoadInfoArgs to avoid using the system principal on the socket process, and use PSocketProcess for the WebrtcProxyChannel when on the socket process. r=kershaw,mjf
Differential Revision: https://phabricator.services.mozilla.com/D28239

--HG--
extra : moz-landing-system : lando
2019-04-26 14:46:26 +00:00
Sebastian Streich
8ac88db494 Bug 1444503 - Remove the IPC::Principal r=ckerschb,nika
***
Removed IPC References in PCContent
***
Removed IPC References on nsContentPermissionHelper
***
 Remove IPC Principal from PBrowser
***
Remove IPCPrincipal from the PaymentRequest
***
Remove IPCPrincipal from the PPresentation
***
Remove IPC Principal from PNecko

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

--HG--
extra : moz-landing-system : lando
2019-04-25 14:18:11 +00:00
Andrea Marchesini
42688a705f Bug 1535525 - Rename TrackingDummyChannel to ClassifierDummyChannel, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D23616

--HG--
rename : netwerk/protocol/http/TrackingDummyChannel.cpp => netwerk/protocol/http/ClassifierDummyChannel.cpp
rename : netwerk/protocol/http/TrackingDummyChannel.h => netwerk/protocol/http/ClassifierDummyChannel.h
rename : netwerk/protocol/http/TrackingDummyChannelChild.cpp => netwerk/protocol/http/ClassifierDummyChannelChild.cpp
rename : netwerk/protocol/http/TrackingDummyChannelChild.h => netwerk/protocol/http/ClassifierDummyChannelChild.h
rename : netwerk/protocol/http/TrackingDummyChannelParent.cpp => netwerk/protocol/http/ClassifierDummyChannelParent.cpp
rename : netwerk/protocol/http/TrackingDummyChannelParent.h => netwerk/protocol/http/ClassifierDummyChannelParent.h
rename : netwerk/protocol/http/PTrackingDummyChannel.ipdl => netwerk/protocol/http/PClassifierDummyChannel.ipdl
extra : moz-landing-system : lando
2019-03-15 18:55:10 +00:00
Alex Gaynor
dccb3bee8b Bug 1531827 - replace OptionalLoadInfoArgs with LoadInfoArgs? in IPDL; r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D21722

--HG--
extra : moz-landing-system : lando
2019-03-04 06:30:00 +00:00
Boris Zbarsky
9c5da5f234 Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327

--HG--
rename : dom/html/test/browser_refresh_wyciwyg_url.js => dom/html/test/browser_refresh_after_document_write.js
rename : dom/html/test/file_refresh_wyciwyg_url.html => dom/html/test/file_refresh_after_document_write.html
extra : moz-landing-system : lando
2019-02-28 01:09:48 +00:00
Alex Gaynor
0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor
984f0333ea Bug 1512990 - Part 3 - remove declarations of Alloc/Dealloc methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Alloc/Dealloc methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:07 +00:00
Alex Gaynor
75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Nika Layzell
be5f88174d Bug 1467223 - Part 1: Move CrossProcessRedirect Message to PContent, r=valentin
This is needed because early in a content process's lifecycle, NeckoParent may
not have been created yet. This leads to issues when trying to redirect into a
fresh process which hasn't performed network loads yet. By sending the message
over PContent, we can be sure the APIs are available.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:27:44 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Valentin Gosu
8e3e7b2a3e Bug 1510715 - Backed out changeset d15f0ac561d9 (bug 1260527) a=backout 2018-11-28 21:40:35 +01:00
Valentin Gosu
a6efc6d0af Bug 1260527 - Change HttpChannelChild to open IPDL earlier than AsyncOpen r=kershaw,dragana
Since we need the loadInfo to set up the IPDL connection, we move the logic to
do so from HttpChannelChild::AsyncOpen to HttpChannelChild::SetLoadInfo
via InitIPCChannel.
It would have been nicer to do so in HttpChannelChild::Init, but
I ran into issues with view-source channels, which required an ugly hack.

Also note that RemoteChannelExists() preserves the existing contract - it is
true between asyncOpen and onStopRequest - but the name is slightly off, as
the channel has already been open by the time we call asyncOpen. We will fix
this in a follow-up.

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

--HG--
extra : moz-landing-system : lando
2018-11-26 17:38:42 +00:00
Paul Vitale
09f4c06235 Bug 1203503 - part 2. replace proxy tunnel with new ipc-based tunnel r+bwc, r+mayhemer
This replaces the tunnel using a new nr_socket implementation.  Proxy detection
code is still done in the peer connction.  However, the result is only used to
detect a proxy.  The result is unused.  Address resolution is done by necko code
in the parent process.  The new socket wraps a WebrtcProxyChannel which uses
necko to handle proxy negotiation.  This has a happy side effect of enabling all
authentication modes that necko already supports for http proxies.

This adds a protocol for Necko to manage, WebrtcProxyChannel.  This new protocol
serves as a pipe for a CONNECT tunnel.  It is only used in WebRtc and not built
in no WebRtc builds.

--HG--
extra : rebase_source : a951841f95eaaa0562886cf76b405b01f1adf70e
extra : intermediate-source : 5c3da21957fc80b07188bc8a405437b858027a22
extra : source : 594a32883463ab051677ba06e22fa6d062b4b4a9
2018-06-05 12:10:16 -05:00
Andrea Marchesini
c78617e1a8 Bug 1499995 - part 2 - TrackingDummyChannel must expose nsIHttpChannelInternal, r=ehsan, r=mayhemer 2018-10-25 10:44:12 +02:00
Andrea Marchesini
dc8ad03720 Bug 1495285 - Introduce TrackingDummyChannel to annotate channels before being intercepted by ServiceWorkers, r=francois, r=mayhemer, f=asuth 2018-10-12 11:40:36 +02:00
Valentin Gosu
a2675e9878 Bug 1476996 - Implement cross process redirection in Http on the parent process r=bagder,nika
This patch builds the foundation for the ability to relocate HTTP channels from one content process to another in order to ensure that origins are properly isolated. This relocation would normally occur when the response to an HTTP request is a redirect to a different origin.
The patch merely adds the mechanism for relocating the channel, rather than the logic of doing so. This will be provided in a follow-up patch by a specialized service. Right now that functionality is mocked in the test.

How this works:
In nsHttpChannel::OnStartRequest we will query the service that decides whether we need to direct the response to another process. If so, it will return a promise that resolves to a TabParent.
When the promise resolves, in HttpChannelParentListener::TriggerCrossProcessRedirect we call NeckoParent::SendCrossProcessRedirect passing along the required information to recreate the channel in the new process. The NeckoChild in the new process will then instantiate a new channel, call ConnectParent() which creates the associated parent channel, and connects it with the existing nsHttpChannel.
A listener in the new process is then notified of the existence of the new channel. It is required to call completeRedirectSetup on the channel, passing an nsIStreamListener to the call.
We then finish the entire operation with a call to HttpChannelChild::SendCrossProcessRedirectDone which causes us to close the old HttpChannelChild in the previous process and to resume the nsHttpChannel in the main process.

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

--HG--
rename : netwerk/test/browser/browser_cookie_sync_across_tabs.js => netwerk/test/browser/browser_cross_process_redirect.js
rename : dom/media/test/redirect.sjs => netwerk/test/browser/redirect.sjs
extra : moz-landing-system : lando
2018-09-04 20:45:22 +00:00
Gurzau Raul
dfbefcc19f Backed out changeset 45605798ecfe (bug 1476996) for build bustage at netwerk/protocol/http/HttpChannelParentListener.cpp on a CLOSED TREE 2018-09-04 20:31:33 +03:00
Valentin Gosu
98ff61cc44 Bug 1476996 - Implement cross process redirection in Http on the parent process r=bagder,nika
This patch builds the foundation for the ability to relocate HTTP channels from one content process to another in order to ensure that origins are properly isolated. This relocation would normally occur when the response to an HTTP request is a redirect to a different origin.
The patch merely adds the mechanism for relocating the channel, rather than the logic of doing so. This will be provided in a follow-up patch by a specialized service. Right now that functionality is mocked in the test.

How this works:
In nsHttpChannel::OnStartRequest we will query the service that decides whether we need to direct the response to another process. If so, it will return a promise that resolves to a TabParent.
When the promise resolves, in HttpChannelParentListener::TriggerCrossProcessRedirect we call NeckoParent::SendCrossProcessRedirect passing along the required information to recreate the channel in the new process. The NeckoChild in the new process will then instantiate a new channel, call ConnectParent() which creates the associated parent channel, and connects it with the existing nsHttpChannel.
A listener in the new process is then notified of the existence of the new channel. It is required to call completeRedirectSetup on the channel, passing an nsIStreamListener to the call.
We then finish the entire operation with a call to HttpChannelChild::SendCrossProcessRedirectDone which causes us to close the old HttpChannelChild in the previous process and to resume the nsHttpChannel in the main process.

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

--HG--
rename : netwerk/test/browser/browser_cookie_sync_across_tabs.js => netwerk/test/browser/browser_cross_process_redirect.js
rename : dom/media/test/redirect.sjs => netwerk/test/browser/redirect.sjs
extra : moz-landing-system : lando
2018-09-04 16:40:57 +00:00
Honza Bambas
8a9d38fe70 Bug 1442178 - Do a busy wait of socket poll() shortly after network change detection, r=dragana 2018-05-30 17:36:42 +03:00
Patrick McManus
f18aa94399 Bug 1462357 - remove the channel and socket interface id r=bagder,baku
the id was a b2g feature only settable via chrome privd xhr and is no
longer active in the code base

MozReview-Commit-ID: 84GPNvhvjNb

--HG--
extra : rebase_source : ab5c2229b98e1407b8b74ef2ee00dcfea45e046a
2018-05-16 16:05:03 -04:00
Andi-Bogdan Postelnicu
3f2298c2f6 Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin
MozReview-Commit-ID: 666LNaHyiuQ

--HG--
extra : rebase_source : f3a24e0342d8dcdf9020dd473bc6b1045cbc533b
2018-04-30 19:46:04 +03:00
Michal Novotny
ee8f43208a Bug 1448476 - Cache entry corruption after writing the alternate data. r=honzab
When writing to alt-data output stream fails for whatever reason, we now try to
truncate alternative data and keep the original data instead of dooming the
whole entry. The patch also changes how is the predicted size passed to the
cache. Instead of a dedicated method it's now an argument of openOutputStream
and openAlternativeOutputStream methods which fail in case the entry would
exceed the allowed limit.
2018-04-25 07:01:00 +03:00
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
Shane Caraveo
824d3d0d57 Bug 1380186 implement SimpleChannel Parent/Child IPC, r=kmag,mayhemer
MozReview-Commit-ID: 8zgF2MLwdu2

--HG--
extra : rebase_source : a5adcddb0119b8308a7beef74df998263dc8b620
2017-07-27 13:34:54 -07:00