Commit Graph

137 Commits

Author SHA1 Message Date
Valentin Gosu
c7039bca17 Bug 1733356 - Fix non-unified build errors in netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D127407
2021-10-13 19:39:08 +00:00
Cristian Tuns
b97fa80548 Backed out 10 changesets (bug 1733922, bug 1733356) for causing hybrid build bustages on nsAboutProtocolHandler.cpp. CLOSED TREE
Backed out changeset 293ff1a22c98 (bug 1733922)
Backed out changeset b640749ee844 (bug 1733356)
Backed out changeset d2e3dc1b492a (bug 1733356)
Backed out changeset cd6c19829601 (bug 1733356)
Backed out changeset ef8145f88447 (bug 1733356)
Backed out changeset 366e2d375980 (bug 1733356)
Backed out changeset 14563275a25b (bug 1733356)
Backed out changeset 7700cd82bdf2 (bug 1733356)
Backed out changeset 4e198c3d5ef3 (bug 1733356)
Backed out changeset c26481d0f689 (bug 1733356)
2021-10-11 10:02:20 -04:00
Valentin Gosu
640a20152b Bug 1733356 - Fix non-unified build errors in netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D127407
2021-10-11 10:40:08 +00:00
Marian-Vasile Laza
5226ca352c Backed out 3 changesets (bug 1487113) for causing hazard bustages. CLOSED TREE
Backed out changeset 13bf04fc644f (bug 1487113)
Backed out changeset 5b7fe5d564aa (bug 1487113)
Backed out changeset 02236ccd64b4 (bug 1487113)
2021-09-17 22:58:33 +03:00
Yury Delendik
b049c9741a Bug 1487113 - nsICacheInfoChannel.alternativeDataInputStream as attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117360
2021-09-17 12:16:23 +00:00
Cristian Tuns
7430f772bb Backed out 3 changesets (bug 1487113) for causing mochitest failures. CLOSED TREE
Backed out changeset b20e5d76c77e (bug 1487113)
Backed out changeset b0b2b27dcb68 (bug 1487113)
Backed out changeset 9214b396eb84 (bug 1487113)
2021-09-14 17:38:32 -04:00
Yury Delendik
c65323a56c Bug 1487113 - nsICacheInfoChannel.alternativeDataInputStream as attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117360
2021-09-14 20:12:51 +00:00
Julien Wajsberg
dd3a2aa8ee Bug 1697901 - [network markers] Move the START marker slightly later so that we don't add it for canceled requests r=necko-reviewers,dragana
Requests may be canceled before AsyncOpen is even called. In that case
we don't want to add START markers, and we don't want to add CANCEL
markers for these requests that didn't even start yet.

Depends on D123255

Differential Revision: https://phabricator.services.mozilla.com/D123256
2021-08-23 08:56:54 +00:00
Julien Wajsberg
901c98cfa7 Bug 1697901 - [network markers] Support channel cancelation in service workers too r=necko-reviewers,kershaw
Intercepted requests can also be canceled.

Depends on D122111

Differential Revision: https://phabricator.services.mozilla.com/D123254
2021-08-23 08:56:53 +00:00
Eden Chuang
017d28a634 Bug 1693074 - Adding telemetry for evaluating the duration of fetch event dispatching and response synthesizing. r=dom-worker-reviewers,asuth
This patch tries to record the fetch event dispatching time, the response's synthesizing time, and interception resetting time.

Fetch event dispatching time is the time duration between interception starts, which is the time point of InterceptedHttpChannel::AsyncOpenInternal(), and the fetch handler starts. It includes the InterceptedHttpChannel setup time, ServiceWorker launch time, FetchEventOp propagation through IPC, a FetchEvent creation, initialization, and dispatching/scheduling on worker scope.

Response synthesizing time is the time duration between the fetch handler finishes, which is the resolving/rejecting promise of respondWith(), to the finish of pumping the synthesized response to InterceptedHttpChannel, which is the time point of calling InterceptedHttpChannel::OnStopRequest(). It includes the response propagation through IPC, response header and body synthesis, and pumping synthesized response to the channel.

Interception resetting time is the time duration between the fetch handler finishes and redirecting InterceptedHttpChannel to a normal HTTP channel.

Since the fetch handler is executed on the process where the service worker spawned, the timestamps related to the fetch handler need to be get on that process. So this patch adds the FetchHandlerStart and FetchHandlerFinish on IPCFetchEventRespondWithResult related types to propagate the timestamps to the parent process.

Depends on D118398

Differential Revision: https://phabricator.services.mozilla.com/D118399
2021-08-22 11:02:18 +00:00
Eden Chuang
802ab4811b Bug 1693074 - Adding telemetry for evaluating whole fetch interception duration. r=dom-worker-reviewers,asuth
Class InterceptionTimeStamps is introduced to help to record fetch-related timing. It is a private class of InterceptedHttpChannel since should use it in InterceptedHttpChannel only.

We are probably not only interested in the resource type, navigation or subresource, but also the final status of fetching, Synthesized, Reset, Canceled, or Redirected. So the fetch's final status also be appended on the sub-key of telemetry.

Depends on D118397

Differential Revision: https://phabricator.services.mozilla.com/D118398
2021-08-22 11:02:18 +00:00
Eden Chuang
260ec773bc Bug 1693074 - Remove child interception telemetries related codes. r=dom-worker-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D118396
2021-08-22 11:02:17 +00:00
Julien Wajsberg
471a33d8b4 Bug 1717047 - [profiler, netwerk] Support all redirections in the parent process r=canaltinova,necko-reviewers,dragana
This moves the adding of the end marker for redirects in nsHttpChannel
to SetupReplacementChannel, so that all redirects are properly caught.
Without that, some requests will show as unfinished in the profiler
frontend.

Some of the redirects are internal and we may be able to flag and ignore
them in the frontend, but that's work for the future.

Because all redirections get a "REDIRECT" end marker, including the
internal redirection to the service worker's intercepted channel, we now
need an additional "START" marker there as well.

All existing profiler tests related to service workers needed to be
updated because there's an extra redirect marker in all these requests,
as well as several pairs of markers that all have the same id.

This also adds a new profiler test for handling the http->https case
that we wouldn't catch before this patch.

Differential Revision: https://phabricator.services.mozilla.com/D118836
2021-07-27 15:12:53 +00:00
Florian Quèze
05b9342bc4 Bug 1720289 - remove MOZ_GECKO_PROFILER ifdefs around network markers, r=necko-reviewers,gerald,kershaw.
Differential Revision: https://phabricator.services.mozilla.com/D119740
2021-07-15 22:04:21 +00:00
Andrew Sutherland
1f78847517 Bug 1503072 - Add mitigation to bypass SW on navigation fault. r=dom-worker-reviewers,necko-reviewers,valentin,edenchuang
We enable this mitigation by default because:
- The alternate UX is about:blank or corrupted content.  That's never good.
- We want to make sure that our test coverage handles this mitigation because
  it's want we want to ship.

However, we do explicitly disable it for all ServiceWorker WPT's via
`__dir__.ini` directive at the root of the service-workers test tree.

This is motivated by the
`/service-workers/service-worker/update-recovery.https.html` test which
intentionally tests a broken ServiceWorker being able to be updated.  It
explicitly tests that the intercepted broken iframe shouldn't successfully
load, but our mitigation makes it load, which breaks the test.

Depends on D111845

Differential Revision: https://phabricator.services.mozilla.com/D111993
2021-07-12 21:10:26 +00:00
Iulian Moraru
16abff8a1d Backed out 3 changesets (bug 1503072) for causing bc failures on browser_navigation_fetch_fault_handling.js. CLOSED TREE
Backed out changeset f8c6503512f5 (bug 1503072)
Backed out changeset c04927c15fd8 (bug 1503072)
Backed out changeset b7550232d4f1 (bug 1503072)
2021-07-12 15:19:09 +03:00
Andrew Sutherland
533fe76595 Bug 1503072 - Add mitigation to bypass SW on navigation fault. r=dom-worker-reviewers,necko-reviewers,valentin,edenchuang
We enable this mitigation by default because:
- The alternate UX is about:blank or corrupted content.  That's never good.
- We want to make sure that our test coverage handles this mitigation because
  it's want we want to ship.

However, we do explicitly disable it for all ServiceWorker WPT's via
`__dir__.ini` directive at the root of the service-workers test tree.

This is motivated by the
`/service-workers/service-worker/update-recovery.https.html` test which
intentionally tests a broken ServiceWorker being able to be updated.  It
explicitly tests that the intercepted broken iframe shouldn't successfully
load, but our mitigation makes it load, which breaks the test.

Depends on D111845

Differential Revision: https://phabricator.services.mozilla.com/D111993
2021-07-12 11:13:35 +00:00
Sandor Molnar
e0b0a9163d Backed out changeset 932f7478dc2a (bug 1717047) for causing bug 1719684. CLOSED TREE 2021-07-08 19:41:24 +03:00
Julien Wajsberg
6acfd734de Bug 1717047 - [profiler, netwerk] Support all redirections in the parent process r=canaltinova,necko-reviewers,dragana
This moves the adding of the end marker for redirects in nsHttpChannel
to SetupReplacementChannel, so that all redirects are properly caught.
Without that, some requests will show as unfinished in the profiler
frontend.

Some of the redirects are internal and we may be able to flag and ignore
them in the frontend, but that's work for the future.

Because all redirections get a "REDIRECT" end marker, including the
internal redirection to the service worker's intercepted channel, we now
need an additional "START" marker there as well.

All existing profiler tests related to service workers needed to be
updated because there's an extra redirect marker in all these requests,
as well as several pairs of markers that all have the same id.

This also adds a new profiler test for handling the http->https case
that we wouldn't catch before this patch.

Differential Revision: https://phabricator.services.mozilla.com/D118836
2021-07-07 14:09:47 +00:00
Julien Wajsberg
43e69e86b4 Bug 1717414 - [profiler, netwerk] Report the new channel id in redirect network markers r=necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D118468
2021-06-23 16:03:50 +00:00
Julien Wajsberg
4f6122d937 Bug 1715321 - [profiler, netwerk] Report the type of redirection in network markers r=necko-reviewers,gerald,valentin
The profiler UI part has been landed in
https://github.com/firefox-devtools/profiler/pull/3350 and
https://github.com/firefox-devtools/profiler/pull/3392.

Differential Revision: https://phabricator.services.mozilla.com/D117682
2021-06-21 07:37:56 +00:00
Julien Wajsberg
a4bea8a9cc Bug 1715321 - [profiler, netwerk] Reorder some parameters of profiler_add_network_marker r=necko-reviewers,gerald,valentin
This moves optional redirect-related parameters to the end, so that it's
easier to use in non-redirect cases.

Differential Revision: https://phabricator.services.mozilla.com/D117680
2021-06-21 07:37:55 +00:00
Julien Wajsberg
b3e16b9eb2 Bug 1567222 - [profiler] Add redirect markers when respondWith isn't called in the service worker's fetch handler r=canaltinova,asuth,necko-reviewers
When `respondWith` isn't called, then we run the "reset interception"
steps, which sets up a new channel and does an internal redirect. We
need a profiler network marker with the "REDIRECT" status to properly
track this.

Differential Revision: https://phabricator.services.mozilla.com/D112216
2021-05-21 09:40:30 +00:00
Julien Wajsberg
a7d43db9b3 Bug 1567222 - [profiler, network] Change how we pass a few properties to the network markers r=valentin,necko-reviewers
This is simplifying how we pass the URI, and this is abstracting how we
pass the size.
In general the goal is to use properties and methods from
HttpBaseChannel, so that maybe in the future we could abstract marker
handling to that parent class.

Differential Revision: https://phabricator.services.mozilla.com/D112212
2021-05-21 09:40:29 +00:00
Valentin Gosu
1924456526 Bug 1694662 - Remove nsIHttpChannelInternal.setupFallbackChannel r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D106433
2021-04-30 07:20:15 +00:00
Tom Tung
a798dbea47 Bug 1696111 - ORB core Implementation; r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102448
2021-03-30 00:52:30 +00:00
Butkovits Atila
eaa725a4a6 Backed out 12 changesets (bug 1683131, bug 1696111, bug 1695987) for causing crashes(Bug 1701151). a=backout
Backed out changeset 8ffef57e27d2 (bug 1683131)
Backed out changeset c02d5dc72abb (bug 1695987)
Backed out changeset 276f016ddc67 (bug 1683131)
Backed out changeset 2c7a45e20b50 (bug 1683131)
Backed out changeset 11fdb503d537 (bug 1696111)
Backed out changeset 2946eff1e9c8 (bug 1696111)
Backed out changeset e4d01b88e517 (bug 1696111)
Backed out changeset fab7f4cd445d (bug 1696111)
Backed out changeset d60c38f8939a (bug 1696111)
Backed out changeset 3fdc8089a46f (bug 1696111)
Backed out changeset 51a16dfabc98 (bug 1696111)
Backed out changeset 642bdd52fd57 (bug 1696111)
2021-03-26 11:30:28 +02:00
Tom Tung
2be195fc50 Bug 1696111 - ORB core Implementation; r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102448
2021-03-25 12:09:39 +00:00
Julien Wajsberg
31840d5e05 Bug 1567222 - Add a LOAD_STOP marker when a request goes through a service worker r=asuth,necko-reviewers,valentin,gerald
Differential Revision: https://phabricator.services.mozilla.com/D107714
2021-03-11 14:31:11 +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
Henri Sivonen
7ca6606f37 Bug 1647310 - Stop storing charset on cache entries. r=necko-reviewers,dragana
Storing the charset on cache entries makes the code path uselessly different
when loading from cache relative to uncached loads. Also, for future
telemetry purposes, caching the charset obscures its original source.

Differential Revision: https://phabricator.services.mozilla.com/D101570
2021-01-15 09:35:56 +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
Alexis Beingessner
12746f497c Bug 1614697 - Make HttpBaseChannel and its children use MOZ_ATOMIC_BITFIELDS. r=valentin,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D99306
2020-12-14 17:26:29 +00:00
Simon Giesecke
fbb9c742c8 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00
Kershaw Chang
1d8715ca34 Bug 1671787 - Don't release the listeners if the redirected cahnnel is not opened sucesfully r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D94998
2020-10-29 18:29:27 +00:00
Andrew Sutherland
e7943f134a Bug 1669355 - Refactor MIME type warnings into base class. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D93906
2020-10-28 12:15:23 +00:00
Mihai Alexandru Michis
a66b17b6a4 Backed out changeset 989a13996999 (bug 1669355) for causing mochitest failures in test_fetch_event.html
CLOSED TREE
2020-10-20 17:13:25 +03:00
Andrew Sutherland
119a650ab8 Bug 1669355 - Refactor MIME type warnings into base class. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D93906
2020-10-19 07:00:41 +00:00
Christoph Kerschbaumer
9d5c6608ea Bug 1665062: HTTPS-Only: Upgraded website creating HTTP auth prompt gets interrupted by error-page r=necko-reviewers,dragana,JulianWels
Differential Revision: https://phabricator.services.mozilla.com/D91908
2020-10-13 14:06:28 +00:00
Razvan Maries
7e5654b922 Backed out changeset aaf5c5213d8d (bug 1665062) for perma failures on test_http_background_auth_request.html. CLOSED TREE 2020-10-07 17:51:55 +03:00
Christoph Kerschbaumer
47f5677eec Bug 1665062: HTTPS-Only: Upgraded website creating HTTP auth prompt gets interrupted by error-page r=necko-reviewers,dragana,JulianWels
Differential Revision: https://phabricator.services.mozilla.com/D91908
2020-10-07 11:47:07 +00:00
Simon Giesecke
ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Matt Woodrow
c2d23fa0d2 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
d71d2d5f69 Backed out changeset 3cb12ccee75a (bug 1604447) for causing build bustage CLOSED TREE 2020-09-18 23:43:46 +03:00
Matt Woodrow
61ac2461b8 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
Sonia Singla
031ef8acbe Bug 1528649 - Remove the context parameter from nsInputStreamPump::AsyncRead. r=valentin,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D85154
2020-08-05 11:21:51 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00