Commit Graph

50 Commits

Author SHA1 Message Date
Nikhil Marathe
a366626964 Bug 1193128 - Fix base64 decoding when fetching data URIs. r=baku
--HG--
extra : commitid : JynL4X6HT8W
extra : rebase_source : e8c021affdcca580887fc4aa6b8eb3465e843108
2015-08-13 13:08:43 -07:00
Ryan VanderMeulen
ad4abd6428 Backed out 7 changesets (bug 1189678, bug 1193128, bug 1189661, bug 1189644, bug 1189675) for various serviceworker mochitest and wpt failures.
Backed out changeset 696463139720 (bug 1189661)
Backed out changeset 7babb5b9d74a (bug 1189644)
Backed out changeset d4fa5cfc4b86 (bug 1189678)
Backed out changeset a7c27770b861 (bug 1189675)
Backed out changeset 471a45b97ce2 (bug 1189644)
Backed out changeset 4d96f2d48077 (bug 1193128)
Backed out changeset a9d5366288ff (bug 1189661)

CLOSED TREE
2015-08-24 18:09:47 -04:00
Nikhil Marathe
a266c8fb39 Bug 1193128 - Fix base64 decoding when fetching data URIs. r=baku
--HG--
extra : commitid : IGLyluSxhi2
extra : rebase_source : db4e929ea0c34db4f0d18db7ac258bcc66d3c3cc
2015-08-13 13:08:43 -07:00
Ehsan Akhgari
05cf773043 Bug 1196524 - Add assertions to enforce that we don't attempt to perform a CORS preflight for fetches of no-cors requests; r=nsm 2015-08-20 13:40:32 -04:00
Antonio de Luna Lopez
f24373495b Bug 1110476 - Stripped url fragment from Request::GetUrl() by calling either nsIURI::SetRef() or workers::URL::SetHash() in Request's url getter utility methods. Stripped url fragment from Response::GetUrl() by adding the method InternalRequest::StripFragmentAndSetUrl() which calls nsIURI::SetRef(). Added a test in dom/tests/mochitest/fetch/test_request.js for Request::GetUrl(). Removed manual url stripping from dom/cache/TypeUtils.cpp. r=bkelly
--HG--
extra : histedit_source : 034dc90148e27780a1f9a512a513ee30f26dce92
2015-08-13 08:22:19 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Nikhil Marathe
b52b66ebf5 Bug 1169044 - Patch 3 - Store and set principal with script URI on ServiceWorkers. r=ehsan
The ServiceWorkerRegistrationInfo's principal is the principal of the document
that called register(). If we create WorkerPrivate instances based off of
this, they have a valid principal in terms of security and same-origin-ness,
but the URI path is wrong. When fetching the script from the network, the
channel's principal is used to update the worker principal. We need to do the
same when the script is loaded from Cache. This patch adds support to store the
channel principal in the cache.

--HG--
extra : rebase_source : e7d527335aa4f0d4ee52e58915c8b0ef4ad26983
2015-06-04 21:39:34 -07:00
Nikhil Marathe
bd1323708a Bug 1169044 - Patch 1 - Refactor setting referrer and referrer policy between fetch and XHR. r=khuey
--HG--
extra : rebase_source : 8b004536dab18706ae4b8c3f0c574f8769c05638
2015-06-04 14:05:00 -07:00
Fernando Jimenez
9d27d75942 Bug 1174078 - Calling "fetch" inside Service Worker's "onfetch" handler in b2g causes "onfetch" again that leads to an infinite loop. r=nsm 2015-06-17 11:50:07 +02:00
Ehsan Akhgari
b7b9afe158 Bug 1170937 - Set the URL on the Response object created from a fetch() properly if the underlying channel gets redirected; r=baku 2015-06-09 20:07:48 -04:00
Wes Kocher
4d5ff3adfe Backed out changeset ec31f39d4df8 (bug 1170937) for mochitest-e10s-4 permafail CLOSED TREE 2015-06-09 15:16:42 -07:00
Ehsan Akhgari
65e7f38303 Bug 1170937 - Set the URL on the Response object created from a fetch() properly if the underlying channel gets redirected; r=baku 2015-06-09 17:17:52 -04:00
Fernando Jimenez
1ef20e0010 Bug 1169613 - Use content type of synthesized response for JAR channel requests if available. Part 2: Set Content-Type for JAR Channel requests on Fetch API responses. r=nsm 2015-06-05 12:53:58 +02:00
Ehsan Akhgari
4017e4028f Bug 1168208 - Refactor the existing logic for syncing the security info between Response and channel objects into a new helper class; r=nsm,jdm,bkelly
--HG--
rename : dom/fetch/InternalResponse.cpp => dom/fetch/ChannelInfo.cpp
rename : dom/fetch/Response.h => dom/fetch/ChannelInfo.h
2015-05-27 14:22:53 -04:00
Carsten "Tomcat" Book
1f0ef48e79 Backed out changeset ae9c77fa58d1 (bug 1168208) for bustage on a CLOSED TREE 2015-05-27 14:50:43 +02:00
Ehsan Akhgari
c66a858d3a Bug 1168208 - Refactor the existing logic for syncing the security info between Response and channel objects into a new helper class; r=nsm,jdm,bkelly
--HG--
rename : dom/fetch/InternalResponse.cpp => dom/fetch/ChannelInfo.cpp
rename : dom/fetch/Response.h => dom/fetch/ChannelInfo.h
2015-05-27 08:25:03 -04:00
Andrea Marchesini
61b9bd0496 Bug 1166231 - Make nsIDOMBlob an empty interface, r=ehsan 2015-05-19 15:36:37 +01:00
Andrea Marchesini
f4538bb921 Bug 1163387 - Rename FileImpl to BlobImpl, r=ehsan
--HG--
rename : dom/base/MultipartFileImpl.cpp => dom/base/MultipartBlobImpl.cpp
rename : dom/base/MultipartFileImpl.h => dom/base/MultipartBlobImpl.h
2015-05-12 13:11:03 +01:00
Wes Kocher
6b003ab737 Backed out changeset 56e4c68dc3da (bug 1163387) for build bustage CLOSED TREE
--HG--
rename : dom/base/MultipartBlobImpl.cpp => dom/base/MultipartFileImpl.cpp
rename : dom/base/MultipartBlobImpl.h => dom/base/MultipartFileImpl.h
2015-05-11 13:17:58 -07:00
Andrea Marchesini
49a0ee6938 Bug 1163387 - Rename FileImpl to BlobImpl, r=ehsan
--HG--
rename : dom/base/MultipartFileImpl.cpp => dom/base/MultipartBlobImpl.cpp
rename : dom/base/MultipartFileImpl.h => dom/base/MultipartBlobImpl.h
2015-05-11 18:50:54 +01:00
Fernando Jimenez
bcad085e95 Bug 1161288 - Support app:// origins on Fetch API. r=baku,nsm 2015-05-07 20:42:07 +02:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Boris Zbarsky
1540774b0c Bug 1157898 part 1. Make code of the form "return rv.ErrorCode();" where rv is an ErrorResult use StealNSResult instead. r=peterv
This patch was generated with the following command:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 's/return ([a-zA-Z0-9]+)\.ErrorCode\(\);/return \1.StealNSResult();/'
2015-04-27 09:18:51 -04:00
Boris Zbarsky
5c1c07ceb9 Bug 1157754 part 2. Convert consumers of ErrorResult::ClearMessage() to the new better APIs we have for suppressing exceptions on ErrorResult. r=bkelly 2015-04-26 22:38:17 -04:00
Ben Kelly
af39e9ec5a Bug 1153484 - Fetch should ignore invalid headers, but still process later headers. r=nsm
--HG--
extra : rebase_source : ec8eebe558a2b32d196658e32722b156855285f8
2015-04-23 10:45:00 -04:00
Boris Zbarsky
9cbb1e7539 Bug 1157451. Make nsCORSListenerProxy::Init take an enum, not a boolean, to indicate what to do with data: URIs. And make it required, not defaulted to disallowing. r=smaug 2015-04-22 20:30:10 -04:00
Andrew Overholt
51804b48fa Bug 1127552 - Add Telemetry to Fetch. r=nsm
Note when the Fetch is coming from the main thread or a worker.  Also
count Requests just passed through a Service Worker.

--HG--
extra : rebase_source : 5ab71144821a97f0ec1874d467da68f4fd171705
2015-03-27 06:47:00 -04:00
Ben Kelly
e4e847d142 Bug 1110814 P0 Fully initialize Response before resolve Fetch promise. r=nsm 2015-03-22 02:52:12 -04:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nikhil Marathe
f01e92414c Bug 1144249 - fix fetch no-cors mode. r=bkelly
A no-cors mode request should not go through a nsCORSProxyListener, which can only handle same-origin and cors mode.

The test for no-cors was passing allowOrigin, which was converting it into a CORS request, which is why it was passing.

I also realized that it is port 8888 and not 8000, so fixed that in some of the redirect tests.

--HG--
extra : rebase_source : a959877e9fc65ae177dfd480258d164d7b2e6af5
2015-03-17 08:47:04 -07:00
Nikhil Marathe
011987e024 Bug 1143155 - Filtered response stores internal response and allows access to headers. r=bkelly
--HG--
extra : rebase_source : 3fcc1d7de76e679f5055382af1159f004dd5372c
2015-03-17 08:47:01 -07:00
Ehsan Akhgari
08a57b8a9e Bug 1133763 - Part 1: Remember the security info associated with HTTP fetches and record it inside InternalResponse; r=nsm 2015-03-13 14:37:14 -04:00
Nikhil Marathe
0d98f28d93 Bug 1133861 - Bustage fix. a=bustage CLOSED TREE
--HG--
extra : amend_source : 1d8fb16c11df16569d02e746cf43e0c6bbf717fe
extra : transplant_source : %5C%16%00%88%FBM%01%7D%C5%C9%0C%C97%0E%07%29%81%3E%07L
2015-03-05 12:16:18 -08:00
Nikhil Marathe
bb3a858a03 Bug 1139665 - Check content load policy in FetchDriver. r=baku
--HG--
extra : rebase_source : 134db04670b090ae98d584ba190300773d9148f2
2014-10-14 16:36:58 -07:00
Honza Bambas
b013cc108a Bug 1130803 - Use non-blocking input for Fetch synthetization pipe, r=bkelly,ehsan
--HG--
extra : rebase_source : 9e668e214efe646548c290b4348985caf35a0883
2015-03-03 10:16:00 +01:00
Nikhil Marathe
302ff75d63 Bug 1126815 - Implement Response.finalURL. r=bkelly,baku
--HG--
extra : rebase_source : 5180d5657c60c7aec33e9f750d24cbee9a2890e2
2015-02-17 10:23:34 -08:00
Nikhil Marathe
b53e5f1ae8 Bug 1119037 - Add context attribute to Request. r=baku
--HG--
extra : transplant_source : p%1Cr%13%ED%F8%B1%B8D%9B%DC5%C6%EFEQD%CC%A2l
2015-01-27 15:43:09 -08:00
Nikhil Marathe
ee8771017b Bug 1122258 - Fetch API: Set anonymous flag on channel if no credentials are to be passed.
--HG--
extra : rebase_source : d61f26886eda2c0495b75b00cdb66a997ad8de59
2015-01-15 14:28:14 -08:00
Nikhil Marathe
ebb4d89793 Bug 1119026 - Respect skip serviceworker flag. r=baku,bkelly
--HG--
extra : rebase_source : 569b51af36fd8c19b59c5d01b88dadddc84d4153
2014-12-24 02:08:41 -08:00
Nikhil Marathe
bf76a3c4e1 Bug 1112922 - Implement request referrer correctly in Fetch API. r=bkelly
--HG--
extra : rebase_source : 226756fee8b777ed30b07cce0f3c5879d66ccf80
2014-12-23 07:56:19 -08:00
Nikhil Marathe
fe2215618d Bug 1119021 - Implement fetch() redirects correctly. r=bkelly
--HG--
extra : rebase_source : 763d1052fae35a101a6859548b9cb137066dd1c6
2015-01-07 13:47:18 -08:00
Nikhil Marathe
3dec526aa5 Bug 1119021 - CORS credentials tests. r=bkelly
Allow request to continue when useCredentials is set.

--HG--
extra : rebase_source : c39f6a4ebbf779e91f2bf380e4410fe1cf25daa1
2015-01-05 15:43:54 -08:00
Nikhil Marathe
dbe1b78cc2 Bug 1119021 - CORS support. r=baku,bkelly
Use nsCrossSiteListenerProxy.h helpers to implement CORS support.
Several CORS fixes and lots of CORS tests.

Fixes:
Use empty string stream if response has no stream.
Parse Access-Control-Expose-Headers correctly.
Copy over remaining InternalRequest constructor attributes and set unsafe request flag.
Call FailWithNetworkError() in more cases.
Add non-simple Request headers to unsafeHeaders list for CORS check.
Do not AsyncOpen channel directly when CORS preflight is required.
Fix check for simple request method (was checking the opposite condition).

--HG--
extra : rebase_source : 4b08f6a5959e470394c88249b39464b3b7d20948
2015-01-07 15:50:54 -08:00
Nikhil Marathe
824a826c42 Bug 1039846 - Patch 7: Create channel with a loadgroup. r=baku,bkelly
--HG--
extra : rebase_source : 2d2eb74428a28dac2cda779cc48dae1ed1367f26
2015-01-08 08:55:05 -08:00
Nikhil Marathe
53a141db68 Bug 1039846 - Patch 5.1: Set request upload stream and headers. r=baku,bkelly
--HG--
extra : rebase_source : 2ae652d0c1da9b59accfa5990361f7a62187456c
2014-12-09 22:35:22 -08:00
Nikhil Marathe
b1aa271f55 Bug 1039846 - Patch 5: FetchDriver basic HTTP fetch support. r=baku,bkelly
This patch has the following big pieces:
HTTP support in FetchDriver, which requires the principal of the caller to be passed.
Managing worker lifetime when a fetch() call is in progress.
Managing worker lifetime when a Response body is being read.
Using nsIPipe to link network streams to Request/Response body streams.
Using nsIInputStreamPump to convert Request/Response body streams into respective types.

Folded:
Bug 1039846 - Fetch API: Use a pipe to immediately start writing HTTP body data to InternalResponse.
Bug 1039846 - Assert bodystream can be set only once
Bug 1039846 - Add feature when handling fetch responses on workers
Bug 1039846 - Try to retarget http fetch delivery off main thread.
Bug 1039846 - Safely consume body using nsIInputStreamPump on workers and main thread.
Bug 1039846 - Retarget body reading to stream transport service.

--HG--
extra : rebase_source : 809c4e799835ad6fd153b673cad70109d257ab6c
2014-12-10 00:51:59 -08:00
Nikhil Marathe
f559eb4a4b Bug 1039846 - Fix morebustage. r=bustage CLOSED TREE 2014-10-20 13:59:01 -07:00
Nikhil Marathe
0927af9189 Bug 1039846 - Fix bustage. r=bustage CLOSED TREE
--HG--
extra : amend_source : b68f2c23ae47c334e4caedf5f74b4a82bbc90df2
2014-10-20 13:25:56 -07:00
Nikhil Marathe
36db9eff13 Bug 1039846 - Patch 4: FetchDriver with about:, blob: and data: fetching. r=baku
--HG--
extra : transplant_source : o%29%0E%5D%90%11%FA%1ExO%26%7E%9D_%F2%E7%0B%FE%21%B2
2014-10-06 11:01:20 -07:00