Commit graph

141 commits

Author SHA1 Message Date
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
Ryan Hunt
d6509bb237 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

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

--HG--
rename : dom/base/InProcessTabChildMessageManager.cpp => dom/base/InProcessBrowserChildMessageManager.cpp
rename : dom/base/InProcessTabChildMessageManager.h => dom/base/InProcessBrowserChildMessageManager.h
rename : dom/ipc/TabChild.cpp => dom/ipc/BrowserChild.cpp
rename : dom/ipc/TabChild.h => dom/ipc/BrowserChild.h
extra : rebase_source : e7fcfb845a971a2760e73d517e24da18ce2551b5
extra : histedit_source : d1991334ccb107fe56e478865f22fd97b041a317
2019-04-09 17:39:01 -05: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
Byron Campen [:bwc]
8b6cc6a51f Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-25 21:50:42 +00:00
Gurzau Raul
e6740c75fc Backed out 10 changesets (bug 1521879) for causing bug 1530107. a=backout
Backed out changeset f597a73a6eac (bug 1521879)
Backed out changeset 0bb76534f207 (bug 1521879)
Backed out changeset abcb8be12adf (bug 1521879)
Backed out changeset ed6c8d3bbfde (bug 1521879)
Backed out changeset 1addf1e15b55 (bug 1521879)
Backed out changeset 6b709cd9a479 (bug 1521879)
Backed out changeset 07747027c59c (bug 1521879)
Backed out changeset a6105ccc188c (bug 1521879)
Backed out changeset 48c9c643e7bb (bug 1521879)
Backed out changeset d4004105a04a (bug 1521879)
2019-02-25 12:12:15 +02:00
Byron Campen [:bwc]
7ab14bdf2c Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 20:24:54 +00:00
Brindusan Cristian
136394135f Backed out 9 changesets (bug 1521879) for flake failures at /transforms/tests.py. CLOSED TREE
Backed out changeset baac167868b3 (bug 1521879)
Backed out changeset 54ac1b47b736 (bug 1521879)
Backed out changeset 94b62c6f22e2 (bug 1521879)
Backed out changeset d44f15fd4529 (bug 1521879)
Backed out changeset 761fca0514fb (bug 1521879)
Backed out changeset 0b85b1a7c1ce (bug 1521879)
Backed out changeset 5dc76e863a02 (bug 1521879)
Backed out changeset 604b9a007fe5 (bug 1521879)
Backed out changeset c414d82a5325 (bug 1521879)
2019-02-21 19:32:31 +02:00
Byron Campen [:bwc]
4604113749 Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 16:42:12 +00:00
Nika Layzell
53c6040388 Bug 1467223 - Part 3: Support uncached resources by using a redirectTo-like API for process swaps in necko, r=valentin,mayhemer
With the old process selector service implementation, non-cached loads
would skip the call into the process selector.

This implementation piggybacks atop the existing 'redirectTo' mechanism.
This is unfortunately not the perfect system for catching these loads,
as it doesn't provide an opportunity for performing a final process
switch before redirecting to a non-http channel. In addition, it doesn't
provide indication that a redirect is going to happen, causing
potentially unnecessary process switches.

Not all places where 'redirectTo' is supported use this mechanism. This
process switching mechanism is only checked in situations after
http-on-examine-response.

Potential future changes include:

 1. Moving these checks closer to the real 'OnStartRequest' call (e.g.
    in ContinueProcessNormal + ContinueOnStartRequest3). This would mean
    that loads other than the final load will not cause process swaps.

 2. Adding a callback before a redirect is performed, passing in the new
    channel, and allowing modifications to be made. This would allow
    performing a process swap before redirecting to a non-http(s)
    channel.

Depends on D15609

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:19:39 +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
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01: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
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07: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
Nika Layzell
ff8b5bd178 Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug
These were originally exposed directly as static methods on nsGlobalWindow, but
as they are clearly associated with either the inner or outer window, it makes
more sense for them to be called as such.

MozReview-Commit-ID: LFq8EfnhDlo
2017-11-09 10:44:47 -05:00
Nika Layzell
3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05: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
Sylvestre Ledru
4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Kershaw Chang
b59d3c86ec Bug 1343747 - Part 2: Label runnables in WebSocketEventListenerChild. r=mayhemer
Use inner window id to get the window's event target and use it to label runnables.
2017-06-13 20:15:00 -04:00
Kershaw Chang
f903c2a340 Bug 1343743 - Part5: Label PAltDataOutputStreamChild, r=mayhemer
Use neckoTarget in HttpChannelChild to label PAltDataOutputStreamChild actor.
2017-06-12 00:24:00 +02:00
Kershaw Chang
56e1084587 Bug 1343743 - Part3: Set event target for TCPSocketChild and TCPServerSocketChild, r=jdm
Add an event target parameter in constructor, so we can call gNeckoChild->SetEventTargetForActor before sending constructor message to parent.
2017-06-12 00:22:00 +02:00
Kershaw Chang
e592661572 Bug 1343743 - Part2: Set event target for WyciwygChannelChild, r=mayhemer
We should not directly use MainThreadChannelEvent in WyciwygChannelChild, instead, using NeckoTargetChannelEvent.
2017-06-12 00:21:00 +02:00
Junior Hsu
6f1e15db21 Bug 1363659 - Ensure not sending necko IPC constructor when shutting down, r=valentin 2017-05-26 03:06:00 +02:00
Nicholas Hurley
861e6a501e Bug 1345094 - make http redirects to file:// uris work under e10s. r=mayhemer
MozReview-Commit-ID: J4IheswoeMZ

--HG--
extra : rebase_source : 4af1354af026fc9be255ed2ef92164d5575f1d5d
2017-04-12 11:43:50 -07:00
Michael Froman
31e4ce10aa Bug 1350055 - fix --disable-webrtc build with new PStunAddrsRequest.ipdl r=jduell
MozReview-Commit-ID: 5oxJtUppHWC

--HG--
extra : rebase_source : 7cfbddb1168711439530b3ead47bd35bec70ab80
2017-03-23 20:04:41 -05:00
Michael Froman
f0c929ff2d Bug 1345511 - pt 2 - add IPC mechanism for getting stun addrs on main process. r=bwc
PStunAddrsRequest.ipdl defines the new IPC protocol to get stun
  addrs on the main process.
StunAddrsRequestChild requests the stun addrs from the parent.
StunAddrsRequestParent uses a static method on NrIceCtx to get the
  stun addrs from the STS thead and sends the addrs back to the
  child process.
NrIceStunAddr (nricestunaddr.{cpp|h}) wraps nr_local_addr and makes
  it easier to serialize/deserialize over IPC.
NrIceStunAddrMessageUtils follows the pattern used by other Necko
  IPC classes to define top-level serialization/deserialization
  calls used by the IPC framework.

Modifications under netwerk/ipc are to connect the new IPC
protocol to get stun addrs to PNecko since it is a network
related IPC protocol.

MozReview-Commit-ID: GyEapBe5krl

--HG--
extra : rebase_source : c650d6aa4f7928bcae6032424303869074a755d4
2017-03-21 19:59:05 -05:00
Tim Huang
defed589eb Bug 1337893 - Part 2: Making the DNS cache be aware of originAttributes. r=valentin
MozReview-Commit-ID: EroJiwwkGHa

--HG--
extra : rebase_source : 409730ef008b02373cc547a890224371806fbf4c
2017-02-14 12:25:35 +08:00
Tomislav Jurin
348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Kan-Ru Chen
f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Valentin Gosu
32a883b619 Bug 1307467 - Remove RemoteFileOpen, and all app:// related code from JAR channels. r=bagder
Removes things added in bug 815523

MozReview-Commit-ID: FuXQceHGLhf

--HG--
extra : rebase_source : 048132627fb1e7ef00a061c3173fdd049724936c
2016-10-21 00:08:57 +02:00
Valentin Gosu
d746e122c8 Bug 1307491 - (Part 1) Remove support for per-app-offline in netwerk/ [nukeb2g] r=bagder
* * *
Bug 1307491 - Remove support for per-app-offline [nukeb2g] r=bagder

MozReview-Commit-ID: FoweWBv9QyE

--HG--
extra : rebase_source : 0f6e0f0d19f108c3aef8b25cb6d605ecd338ee2b
2016-10-17 03:54:46 +02:00
Valentin Gosu
76d2cd8b5d Bug 1231565 - (Part 2) Allow storing alternate data in the HTTP cache r=honzab
* Add PAltDataOutputStream.ipdl to be able to open an OutputStream to the cache entry in the child process
* AltDataOutputStreamChild/Parent are Main Thread only for now.
* Adds methods for reading and writing alt-data to nsICacheInfoChannel.idl
* Keep a ref of the cache entry after OnStopRequest in case the consumer tries to open the alt-data output stream

MozReview-Commit-ID: jlraDI97Hg
2016-04-11 05:17:02 +02:00
Nicholas Nethercote
37301e25ad Bug 1297300 - Add missing checks to GetSpec() calls in netwerk/. r=hurley,dragana.
--HG--
extra : rebase_source : 961a82fb6e723688837e5250f57121c14ca958cb
2016-08-26 16:40:57 +10:00
Jonas Sicking
add35a6bd8 Bug 1263991 part 6: Add e10s support for incoming websocket connections to FlyWebPublishedServer. r=baku,michal 2016-06-07 02:46:03 -07:00
Carsten "Tomcat" Book
5a4b7e506f Backed out changeset 64fb728c174a (bug 1263991) 2016-06-07 12:10:23 +02:00