Commit Graph

184 Commits

Author SHA1 Message Date
Andrea Marchesini
86d581422b Bug 1440941 - FetchDriver should check if the operation has been already aborted when OnStartRequest is called, r=bkelly 2018-02-26 22:32:15 +01:00
Eric Rahm
3efc420b11 Bug 1437693 - Stop warning about unknown content lengths. r=bkelly
--HG--
extra : rebase_source : 943658882837ad790542231634d2a24c21906094
2018-02-12 14:54:14 -08:00
Eric Rahm
9f798eecf1 Bug 1437188 - Part 1: Remove verbose fetch related warnings. r=bkelly
This removes the most verbose fetch related warnings. Cumulatively these
account for about 11,000 warnings during testing.

--HG--
extra : rebase_source : ee930dec1e18b9a7f34d5c66944dc015be10be69
2018-02-09 14:04:03 -08:00
Andrea Marchesini
8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Andrea Marchesini
7e52540256 Bug 1432963 - Fixing workers headers - part 16 - JSSettings in a workerinternals namespace, r=smaug 2018-01-31 08:24:59 +01:00
Andrea Marchesini
3513d1c407 Bug 1413112 - Renaming Workers.h to WorkerCommon.h, r=bkelly
--HG--
rename : dom/workers/Workers.h => dom/workers/WorkerCommon.h
2018-01-30 10:10:04 +01:00
Andrea Marchesini
c6da271117 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug
* * *
Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me
2018-01-24 17:17:31 +01:00
Brindusan Cristian
368c3d5b6b Backed out 12 changesets (bug 1425458) for mochitest failures on WorkerPrivate.cpp on a CLOSED TREE
Backed out changeset 11997de13778 (bug 1425458)
Backed out changeset 100b9d4f36bc (bug 1425458)
Backed out changeset a29e9dbb8c42 (bug 1425458)
Backed out changeset b96d58fd945c (bug 1425458)
Backed out changeset f140da44ba68 (bug 1425458)
Backed out changeset af56400233d9 (bug 1425458)
Backed out changeset 7034af4332e4 (bug 1425458)
Backed out changeset f70500179140 (bug 1425458)
Backed out changeset 793bbfc23257 (bug 1425458)
Backed out changeset 2efb375a8ffc (bug 1425458)
Backed out changeset 07e781e37451 (bug 1425458)
Backed out changeset e875f3702a5f (bug 1425458)
2018-01-24 20:47:48 +02:00
Andrea Marchesini
6480b95ba3 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug 2018-01-24 17:17:31 +01:00
Andrea Marchesini
f3ba47cb22 Bug 1432713 - PerformanceResouceTiming entries should have initiatorType set to 'fetch' if related to Fetch method requests, r=smaug 2018-01-24 12:45:59 +01:00
Ben Kelly
ede8f70716 Bug 1231211 P14 Make fetch() pass worker ClientInfo and ServiceWorkerDescriptor to NS_NewChannel(). r=asuth 2018-01-23 10:38:54 -05:00
Luke Crouch
30b0ae88f8 Bug 587523: remove branching logic; comment fixups r=valentin
MozReview-Commit-ID: J8LGTUMehZA

--HG--
extra : rebase_source : bd14c0a652c06e6cdb73c6c52034a4fd2f3abbef
2018-01-18 09:57:14 -06:00
Luke Crouch
c95e646b6b Bug 587523: update Fetch API referrer to check for private browsing pref r=valentin
MozReview-Commit-ID: 2DFYcWuXfnn

--HG--
extra : rebase_source : 05bf93b54e25ea7962379a6b6b51c46d73d660b6
2018-01-16 15:26:26 -06:00
Andrew Sutherland
f3a816271e Bug 1416879 - Part 4: FetchDriver needs to propagate write failures. r=baku
In the scenario where a ServiceWorker returns a pass-through fetch via
`evt.respondWith(fetch("underlying"))`, in order for the "underlying"
HTTP channel to be canceled when the outer HTTP channel is canceled,
FetchDriver's OnDataAvailable method needs to return an error when
the output pipe experiences an error.

Unfortunately, the contract for ReadSegments is effectively that it
returns NS_OK regardless of what the rv of the write handler returned,
so relying on the returned rv is insufficient.  And because various
Write*() methods will all fast-path to returning NS_OK if a count of 0
is passed, it's necessary to infer a closed/broken pipe by noticing
that we tried to write more than 0 bytes of data but 0 bytes were
written.  (This is safe because the pipe we write into was created
by FetchDriver::OnStartRequest which explicitly creates an infinite
pipe, so it's not possible for the write to fail due to lack of space
in the pipe.)

--HG--
extra : rebase_source : 0a1f9f7a4c244934ff255a07e78608c8ea6fef0e
extra : source : 8e4fd74e7f5e69df7363bdb560f79dde347ce082
2018-01-04 18:04:55 -05:00
Brindusan Cristian
f42618c99d Backed out 6 changesets (bug 1416879) for bc permafailures on windows on browser_multie10s_update.js r=backout a=backout
Backed out changeset 840a6e04bcea (bug 1416879)
Backed out changeset 994dc643a2ab (bug 1416879)
Backed out changeset 8e4fd74e7f5e (bug 1416879)
Backed out changeset 5453b8a58f0c (bug 1416879)
Backed out changeset d156f6b687e1 (bug 1416879)
Backed out changeset 714d3942fb10 (bug 1416879)
2018-01-07 11:55:44 +02:00
Andrew Sutherland
8da7ba26dd Bug 1416879 - Part 4: FetchDriver needs to propagate write failures. r=baku
In the scenario where a ServiceWorker returns a pass-through fetch via
`evt.respondWith(fetch("underlying"))`, in order for the "underlying"
HTTP channel to be canceled when the outer HTTP channel is canceled,
FetchDriver's OnDataAvailable method needs to return an error when
the output pipe experiences an error.

Unfortunately, the contract for ReadSegments is effectively that it
returns NS_OK regardless of what the rv of the write handler returned,
so relying on the returned rv is insufficient.  And because various
Write*() methods will all fast-path to returning NS_OK if a count of 0
is passed, it's necessary to infer a closed/broken pipe by noticing
that we tried to write more than 0 bytes of data but 0 bytes were
written.  (This is safe because the pipe we write into was created
by FetchDriver::OnStartRequest which explicitly creates an infinite
pipe, so it's not possible for the write to fail due to lack of space
in the pipe.)

--HG--
extra : rebase_source : 788dab679298841fc03bb054458b6f8cc4a0a8d9
2018-01-04 18:04:55 -05:00
Eden Chuang
4dddce09c7 Bug 1350359 - Part 6: Make sure releasing nsICacheInfoChannel of InternalResponse on the main thread. r=bkelly
Using nsMainThreadPtrHandle to hold the nsICacheInfoChannel in the
    InternalResponse.

--HG--
extra : histedit_source : 125f31c63fce1cbd9995d29688e7795efad3a417
2017-12-06 01:13:54 +08:00
Eden Chuang
7f3b4d6b1a Bug 1350359 - Part 4: Fix a crash caused by off-main-thread destruction of a HttpChannelChild. r=bkelly
Setting the InternalResponse's mCacheInfoChannel while needed, to avoid
    keeping unnecessary nsICacheInfoChannel alive.

--HG--
extra : histedit_source : 39f9339b69db52b0278495d5247bc99ffd1d8f79
2017-12-04 14:39:26 +08:00
Eden Chuang
4a65d93564 Bug 1350359 - Part 2: Fetch and save alterntative data to InternalResponse. r=bkelly
Create a new class AlternativeDataStreamListener for alternative data and
    main data overlap loading.
    AlternativeDataStreamListener coorperates with FetchDriver to handle
    following situations
      1. There is no preferred alternative data type in InternalRequest
         Directly using FetchDriver to listen on the opened channel

      2. If preferred alternative data type exists in InternalRequest, but no
         saved data in cache.
         AlternativeDataStreamListener is constructed to listen on the channel,
         but its status would be set as FALLBACK and redirect callbacks to
         FetchDriver.

      3. If preferred alternative data type exists in InternalRequest, and the
         data also exists in the cache.
         AlternativeDataStreamListener is constructed to listen on the channel
         for loading the alternative data. And also open a channel listened by
         FetchDriver for loading the main data when AlternativeDataStreamListener::
         OnStartRequest is called.
         If the cacheEntryId is different between main data channel and
         alternative data channel, we will cancel the alternative data loading.
2017-12-04 14:39:15 +08:00
Edouard Oger
ee0f18811d Bug 1416842 - Allow fetch to reject with nsresult in chrome code. r=bkelly
MozReview-Commit-ID: FD2NUJZtAhT

--HG--
extra : rebase_source : cff033ea3d7e9581112392e7725290819fbec18b
2017-11-15 14:53:42 -05:00
Ben Kelly
9d8fb37a12 Bug 1380255 P2 Don't fire FetchDriverObserver::OnDataAvailable() for every FetchDriver ODA callback. r=baku 2017-10-12 19:23:16 -07:00
Catalin Badea
6a9fd06ae6 Bug 1380255 - FetchDriver should have threadsafe refcounting. r=baku 2017-09-26 11:53:00 +01:00
Ben Kelly
47571637f3 Bug 1391693 P4 Don't count internal redirects towards Response.redirected r=tt 2017-10-09 10:03:40 -07:00
Andrea Marchesini
157334f4b0 Bug 1397627 - Fetch API and other components should pass the length of the stream to necko when known, r=smaug 2017-09-08 16:06:26 +02:00
Tom Tung
a1e22fa9e7 Bug 1290481 - P5: Implement a function to generate padding size. r=bkelly
MozReview-Commit-ID: 6poDeyErBjc

--HG--
extra : rebase_source : 982139c536c17a6699d700df7c8b3071939bb3c0
2017-07-10 17:03:24 +08:00
Sebastian Hengst
e2f54c0cd7 merge mozilla-central to autoland. r=merge a=merge 2017-09-01 10:43:32 +02:00
Honza Bambas
8d492fe637 Bug 1395525 - Make all changes landed as part of tracker request tailing preferrable. r=dragana 2017-08-31 06:07:00 -04:00
Tom Tung
f3b0f175ac Bug 1393439 - P2: Correct the variable naming. r=bkelly
MozReview-Commit-ID: 1DblOV82nEd

--HG--
extra : rebase_source : e03fc7b091d7aa4a6076660416f2c9514ad8894b
2017-08-29 16:00:35 +08:00
Tom Tung
85b52e428b Bug 1393439 - P1: Don't return TypeError for no-cors mode and don't check SRI for the hidden opaque body. r=bkelly
MozReview-Commit-ID: 1IspF2IlqqP

--HG--
extra : rebase_source : acee9a04c1be416fa8c779308062d3aebdba8b6a
2017-08-25 16:36:59 +08:00
Honza Bambas
4263c50db2 Bug 1358060 - Allow postponing of unimportant resources opening during page load, class-of-service Tail flag. r=dragana
--HG--
extra : rebase_source : 1ab691fe066e641c948aa5f42827305411579708
2017-08-30 09:32:00 -04:00
Andrea Marchesini
3e5de60a22 Bug 1378342 - AbortSignal/AbortController - part 9 - Request.signal should not be a reference of RequestInit.signal, r=bkelly 2017-08-29 11:31:07 +02:00
Andrea Marchesini
186795d3eb Bug 1378342 - AbortSignal/AbortController - part 2 - Renaming FetchController/FetchSignal, r=bkelly
--HG--
rename : dom/abort/FetchController.cpp => dom/abort/AbortController.cpp
rename : dom/abort/FetchController.h => dom/abort/AbortController.h
rename : dom/abort/FetchSignal.cpp => dom/abort/AbortSignal.cpp
rename : dom/abort/FetchSignal.h => dom/abort/AbortSignal.h
rename : dom/abort/tests/file_fetch_controller.html => dom/abort/tests/file_abort_controller.html
rename : dom/abort/tests/test_fetch_controller.html => dom/abort/tests/test_abort_controller.html
rename : dom/abort/tests/worker_fetch_controller.js => dom/abort/tests/worker_abort_controller.js
rename : dom/webidl/FetchController.webidl => dom/webidl/AbortController.webidl
rename : dom/webidl/FetchSignal.webidl => dom/webidl/AbortSignal.webidl
2017-08-29 11:31:06 +02:00
Sebastian Hengst
ffe4336403 Backed out changeset e5c6f95530f2 (bug 1378342)
--HG--
rename : dom/abort/AbortController.cpp => dom/abort/FetchController.cpp
rename : dom/abort/AbortController.h => dom/abort/FetchController.h
rename : dom/abort/AbortSignal.cpp => dom/abort/FetchSignal.cpp
rename : dom/abort/AbortSignal.h => dom/abort/FetchSignal.h
rename : dom/abort/tests/file_abort_controller.html => dom/abort/tests/file_fetch_controller.html
rename : dom/abort/tests/test_abort_controller.html => dom/abort/tests/test_fetch_controller.html
rename : dom/abort/tests/worker_abort_controller.js => dom/abort/tests/worker_fetch_controller.js
rename : dom/webidl/AbortController.webidl => dom/webidl/FetchController.webidl
rename : dom/webidl/AbortSignal.webidl => dom/webidl/FetchSignal.webidl
2017-08-29 09:17:21 +02:00
Sebastian Hengst
db728bce54 Backed out changeset 4c41e61d6763 (bug 1378342) 2017-08-29 09:16:43 +02:00
Andrea Marchesini
b89d4f379a Bug 1378342 - AbortSignal/AbortController - part 9 - Request.signal should not be a reference of RequestInit.signal, r=bkelly 2017-08-29 07:30:21 +02:00
Andrea Marchesini
9b66f91da8 Bug 1378342 - AbortSignal/AbortController - part 2 - Renaming FetchController/FetchSignal, r=bkelly
--HG--
rename : dom/abort/FetchController.cpp => dom/abort/AbortController.cpp
rename : dom/abort/FetchController.h => dom/abort/AbortController.h
rename : dom/abort/FetchSignal.cpp => dom/abort/AbortSignal.cpp
rename : dom/abort/FetchSignal.h => dom/abort/AbortSignal.h
rename : dom/abort/tests/file_fetch_controller.html => dom/abort/tests/file_abort_controller.html
rename : dom/abort/tests/test_fetch_controller.html => dom/abort/tests/test_abort_controller.html
rename : dom/abort/tests/worker_fetch_controller.js => dom/abort/tests/worker_abort_controller.js
rename : dom/webidl/FetchController.webidl => dom/webidl/AbortController.webidl
rename : dom/webidl/FetchSignal.webidl => dom/webidl/AbortSignal.webidl
2017-08-29 07:30:19 +02:00
Dragana Damjanovic
12f55eee14 Bug 1379631 - Turn off OMT delivery for FetchDriver until bug 1380255 lands. The fix for this bug makes some test fail because of FetchDriver. r=mayhemer
--HG--
extra : rebase_source : f8e24ea564d5783d0ab44832423aac61bbe39354
2017-08-01 15:05:51 -04:00
Andrew Sutherland
9138402fac Bug 1374943 - Fetch needs to handle redirect=error not resulting in NS_FAILED. r=bkelly
The included test crashes without the included fix if run with --disable-e10s.
e10s doesn't crash because HttpChannelChild examines the return value of the
call to the listener's OnStartRequest method and invokes Cancel() if it
NS_FAILED.  This is a divergence between e10s and non-e10s.  See the bug for
more details and discussion.

--HG--
extra : rebase_source : 9da386b0f1c0b349728170b301f62b0175c2c571
2017-06-21 08:28:34 -04:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Boris Zbarsky
c1c59ec073 Bug 1369619. Use ReadSegments in the SRI case in FetchDriver::OnDataAvailable. r=bkelly
This avoids some buffer copies and is arguably more readble.
2017-06-06 00:49:32 -04:00
Bevis Tseng
b5230ddca8 Bug 1363318 - Part 3: Label FetchDriver. r=baku 2017-05-16 18:27:01 +08:00
Kershaw Chang
8b2e612d40 Bug 1312515 - Part 2: Lower the channel's priority if this Fetch is created from tracking script. r=baku
If the Fetch request is created by a tracking script, we want to lower the priority of the http channel.

--HG--
extra : rebase_source : fc258770a2f58a503777dec8a05fd2aeab2ff889
2017-05-19 01:29:00 -04:00
Tom Tung
b1a0b88c98 Bug 1348050 - Part 1: Mark channel as urgent-start when the Fetch and XHR are triggered by user input events. r=baku,mayhemer
Raise the urgent-start flag in the ClassOfService when the Fetch and XHR are
triggered by user input events. The urgent-start classification will tell the
network requests scheduler to perform it with the highest priority and also
ignoring any parallelism or overall connection limits.

MozReview-Commit-ID: 2YavWbuFaln

--HG--
extra : rebase_source : 40f41d1a4b9e323c0cf5710c6d5f2a1e45e93076
2017-04-21 13:29:31 +08:00
Andrea Marchesini
0ef3f36c49 Bug 1341738 - Implement FetchController and FetObserver - part 5 - Dispatching observer events, r=bkelly 2017-03-22 11:07:27 +01:00
Andrea Marchesini
e6ad00d782 Bug 1341738 - Implement FetchController and FetObserver - part 3 - FetchSignal in Fetch API, r=bkelly 2017-03-22 11:06:08 +01:00
Wei-Cheng Pan
510ba75c20 Bug 1310127 - Part 17: Use MOZ_MUST_USE in netwerk/protocol/http r=smaug
MozReview-Commit-ID: 5gvVZtsa3yS

--HG--
extra : rebase_source : 5e1ab2fc06ae58f18abb8909ac93f9512abbe220
2016-12-20 11:49:32 +08:00