Commit Graph

73 Commits

Author SHA1 Message Date
Ehsan Akhgari
660887271f Bug 1126819 - Part 2: Persist the Request.cache attribute in DOM Cache; r=bkelly 2015-03-23 15:46:58 -04:00
Ehsan Akhgari
8c4969c729 Bug 1126819 - Part 1: Respect the RequestInit.cache member in Request's constructor; r=nsm 2015-03-23 15:46:57 -04:00
Ben Kelly
3cdff8602d Bug 1110814 P0 Fully initialize Response before resolve Fetch promise. r=nsm 2015-03-22 02:52:12 -04:00
Ehsan Akhgari
33bb32f549 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
Boris Zbarsky
54c64f20a9 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Nikhil Marathe
ab3c49600c 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.
2015-03-17 08:47:04 -07:00
Nikhil Marathe
b3e6fca016 Bug 1143155 - Filtered response stores internal response and allows access to headers. r=bkelly 2015-03-17 08:47:01 -07:00
Nikhil Marathe
8b0d2b2ce4 Bug 1143857 - Add FormData serialize support to Fetch API. r=ehsan 2015-03-17 08:32:04 -07:00
Ehsan Akhgari
6541ca0b6f Bug 1133763 - Part 8: Ensure that FetchEvent.respondWith works correctly on HTTPS requests with a cloned response; r=nsm 2015-03-13 14:37:27 -04:00
Ehsan Akhgari
0cf38d2ae1 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
caca74ccd6 Bug 1140788 - Set headers to immutable. r=bkelly,ehsan 2015-03-07 18:54:41 -08:00
Nikhil Marathe
57039ce2c7 Bug 1133861 - Enable the Fetch API by default. r=jst 2015-02-22 01:52:10 -08:00
Nikhil Marathe
4319fab17e Bug 1133861 - Bustage fix. a=bustage CLOSED TREE 2015-03-05 12:16:18 -08:00
Nikhil Marathe
e87d2bc87e Bug 1139665 - Check content load policy in FetchDriver. r=baku 2014-10-14 16:36:58 -07:00
Honza Bambas
b382a876f2 Bug 1130803 - Use non-blocking input for Fetch synthetization pipe, r=bkelly,ehsan 2015-03-03 10:16:00 +01:00
Ben Kelly
751b31eb4c Bug 940273 -Part 1 - Fetch changes from maple twig to support Service Worker Cache. r=nsm,ehsan 2015-03-02 14:08:00 +01:00
Ben Kelly
29ec96ecff Bug 1073231 Implement Request and Response Clone() methods. r=nsm r=baku 2015-02-19 20:24:24 -05:00
Josh Matthews
be893961ee Bug 1065216 - Dispatch a fetch event to workers when controlled pages initiate a network load. r=baku,mayhemer,smaug 2015-02-18 20:34:29 -05:00
Nikhil Marathe
b88102e5a7 Bug 1126815 - Implement Response.finalURL. r=bkelly,baku
--HG--
extra : rebase_source : 5180d5657c60c7aec33e9f750d24cbee9a2890e2
2015-02-17 10:23:34 -08:00
Ryan VanderMeulen
e41adc7788 Backed out changeset 25f90464e93b (bug 1065216) for Android mochitest failures. 2015-02-18 16:00:33 -05:00
Josh Matthews
c1a7e4eed2 Bug 1065216 - Dispatch a fetch event to workers when controlled pages initiate a network load. r=baku,mayhemer,smaug 2015-02-18 14:10:52 -05:00
Dhi Aurrahman
e0a3d64aa1 Bug 1125766 - Throw proper error types for TextEncoder(), TextDecoder() and TextDecoder.decode(). r=bz 2015-02-04 18:46:26 +07:00
Nikhil Marathe
96a80bcc73 Bug 1124638 - Allow chrome to set Request context. r=baku
--HG--
extra : rebase_source : d47b0304a5558d613ab0a0993dd47da771da5783
2015-01-27 16:02:12 -08:00
Nikhil Marathe
15fdafd322 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
Mike Hommey
824818ee98 Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Nikhil Marathe
77a8cfb540 Bug 1126483 - Added Response.ok. r=baku,bkelly
--HG--
extra : rebase_source : fdff9417d56b06a0556da9a95e0836148d91be0e
2015-01-27 17:34:34 -08:00
Nikhil Marathe
bd0bc01fa2 Bug 1122677 - Disallow request body when method is HEAD/GET.
Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=27846
and :annevk OKed putting the check in the constructor and throwing http://logs.glob.uno/?c=content#c259382

--HG--
extra : rebase_source : 224da5d5f19387ffd95fc42c38a99b0e25427551
2015-01-16 13:08:19 -08:00
Nikhil Marathe
d6a0e70844 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
67312f8fcf Bug 1109742 - Fix Body.json() error rejection. r=baku
--HG--
extra : rebase_source : f76f97258fd09ce6391f70487ea8bd6ec76edce5
2014-12-04 14:06:45 -08:00
Nikhil Marathe
5bf20c02ef Bug 1121682 - fetch() should reject with TypeError
--HG--
extra : rebase_source : 9e8d5e193695b856280c769dccc128c4ce4797d3
2015-01-14 13:43:27 -08:00
Ehsan Akhgari
b60dd5b6bc Bug 1125178 - Mark some functions in dom as override; r=baku 2015-01-23 14:27:12 -05:00
Nikhil Marathe
610be35159 Bug 1122194 - Follow method validation rules when constructing Request. r=baku,bkelly
--HG--
extra : amend_source : 78950befd29e5aff54956b3399993ade769a21c5
extra : transplant_source : c%B3%E0%87%E7Zdx%03%A6%AA%0A%1C%5E%A8%EF%95%FF%3D%86
2015-01-15 12:11:12 -08:00
Nikhil Marathe
d6b5272fdf Bug 1119026 - Respect skip serviceworker flag. r=baku,bkelly
--HG--
extra : rebase_source : 569b51af36fd8c19b59c5d01b88dadddc84d4153
2014-12-24 02:08:41 -08:00
Nikhil Marathe
8b4744909f Bug 1112922 - Implement request referrer correctly in Fetch API. r=bkelly
--HG--
extra : rebase_source : 226756fee8b777ed30b07cce0f3c5879d66ccf80
2014-12-23 07:56:19 -08:00
Tejas Srinivasan
ad4fb80e6a Bug 1120652 - Remove MainThreadFetchResolver::OnResponseEnd() and provide an empty definition in the parent class FetchDriverObserver. r=nsm 2015-01-14 23:59:00 -05:00
Nikhil Marathe
42cca6e8e5 Bug 1119021 - Implement fetch() redirects correctly. r=bkelly
--HG--
extra : rebase_source : 763d1052fae35a101a6859548b9cb137066dd1c6
2015-01-07 13:47:18 -08:00
Nikhil Marathe
57a71b17f1 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
d9e1145f1c 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
28357981b4 Bug 1112073 - Linux non-unified build bustage fix. a=bustage 2015-01-14 14:01:02 -08:00
Nikhil Marathe
60d4b5d56f Bug 1112073 - Implement Response.redirect. r=baku,bkelly
--HG--
extra : rebase_source : b84a118d61103227e3e021d0efe344f709115fc9
2014-12-26 09:44:09 -08:00
Nikhil Marathe
9fc52a9946 Bug 1119044 - Fetch API WebIDL Fixes. r=bkelly,baku
Add various [SameObject]/[NewObject] annotations.
Adds RequestCache enum.
Ensures that cors-with-forced-preflight is translated to cors in getter.
Reject cors-with-forced-preflight as a valid mode value in Request constructor.

--HG--
extra : rebase_source : 3a70d53965def8fe02deec307367b9fda3458935
2015-01-07 16:24:40 -08:00
Ryan VanderMeulen
6a478380c4 Backed out changeset 88970726eb6b (bug 1119044) for Werror bustage. 2015-01-13 13:26:52 -05:00
Nikhil Marathe
b64f2f9031 Bug 1119044 - Fetch API WebIDL Fixes. r=bkelly,baku
Add various [SameObject]/[NewObject] annotations.
Adds RequestCache enum.
Ensures that cors-with-forced-preflight is translated to cors in getter.
Reject cors-with-forced-preflight as a valid mode value in Request constructor.

--HG--
extra : rebase_source : 0b621e13dc5cdbf740fb7d380f96f1380cd5a3eb
extra : amend_source : 7ced6d36ed7212271163c6aa1baacc7d5ca39647
2015-01-07 16:24:40 -08:00
Nikhil Marathe
fe3cd21f51 Bug 1115214 - Fetch API: Always consume body asynchronously. r=baku
--HG--
extra : rebase_source : a6957286f500278ab5a55770b453a21244e9befa
extra : amend_source : aaaff1a0af422a046b4b3a116593a911cbcacef9
2014-12-23 21:47:17 -08:00
Nikhil Marathe
7b7c33434e Bug 1109574 - Check for null body before setting bodyUsed in Request constructor. r=bkelly
--HG--
extra : transplant_source : %07%B8%B0%D1%ED%D4%C6N%09%09%86%04g%BD%ECs%B2%C6%09%18
2014-12-23 02:25:17 -08:00
Nikhil Marathe
d88565fb07 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
34908745f3 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
a4cda06007 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
Ehsan Akhgari
b6e35bb4b4 Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
d0cf9acfdd Bug 1118430 - Mark virtual overridden functions as MOZ_OVERRIDE in dom/fetch; r=baku 2015-01-06 16:35:24 -05:00