Commit graph

54 commits

Author SHA1 Message Date
Andrea Marchesini
8e9ba7560d Bug 1513606 - Remove unused code in Fetch, r=smaug 2018-12-13 17:12:29 +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
Thomas Wisniewski
d23454328e Bug 1491504 - shortcut blob responses from XHR and fetch when the URL is a blob URL; r=baku
shortcut blob responses from XHR and fetch when the URL is a blob URL

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

--HG--
extra : moz-landing-system : lando
2018-10-06 17:34:24 +00:00
Ciure Andrei
47efccbbca Backed out changeset c5ac0cb25238 (bug 1491504) for FetchConsumer.cpp build bustages CLOSED TREE 2018-10-06 02:58:44 +03:00
Thomas Wisniewski
2294c78986 Bug 1491504 - shortcut blob responses from XHR and fetch when the URL is a blob URL; r=baku
shortcut blob responses from XHR and fetch when the URL is a blob URL

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

--HG--
extra : moz-landing-system : lando
2018-10-05 20:23:55 +00:00
Thomas Wisniewski
400093bdb6 Bug 1482752 - Have Fetch bodies use File blobs for local files instead of regular blobs. r=baku
Have Fetch bodies use File blobs for local files instead of regular blobs.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 19:13:15 +00:00
Cosmin Sabou
dc72962df3 Backed out changeset 68805212630a (bug 1482752) for causing build bustages on dom/fetch. CLOSED TREE 2018-09-08 20:46:04 +03:00
Thomas Wisniewski
4d92a94c0d Bug 1482752 - Have Fetch bodies use File blobs for local files instead of regular blobs. r=baku
Have Fetch bodies use File blobs for local files instead of regular blobs.

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

--HG--
extra : moz-landing-system : lando
2018-09-08 14:34:37 +00: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
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
Tom Tung
9321dc629d Bug 1290481 - P1: Make InternalResponse and CacheResponse be able to keep padding size. r=bkelly
MozReview-Commit-ID: LIxkSdfPZtf

--HG--
extra : rebase_source : ff52bdc1cc813ebc4d5ec679b4bac3dfb52550ac
2017-07-10 17:11:29 +08:00
Andrea Marchesini
e44cd2d765 Bug 1128959 - Implement the WHATWG Streams spec - part 9 - FetchStreamReader, r=bkelly 2017-08-10 18:04:55 -07:00
Andrea Marchesini
3a14f6c21f Bug 1128959 - Implement the WHATWG Streams spec - part 7 - Response.body, r=bkelly 2017-08-10 18:04:55 -07:00
Tom Tung
8b030a7e26 Bug 1264178 - Part 2: Change URL's getter function from PassByReference to ReturnByReference. r=bkelly
--HG--
extra : rebase_source : d38a18c5856943b125d4a999091e4532a56934e2
2016-11-07 14:59:00 +08:00
Jonas Sicking
4ab94e9f20 Bug 1263991 part 4: Support response body. r=bkelly 2016-06-07 02:46:03 -07:00
Jonas Sicking
64a8f66145 Bug 1263991 part 3: Support incoming and outgoing requests/responses. r=baku f=bkelly 2016-06-07 02:46:03 -07:00
Carsten "Tomcat" Book
a62eba3cef Backed out changeset 5853ea69f6c4 (bug 1263991) 2016-06-07 12:10:27 +02:00
Carsten "Tomcat" Book
493f097700 Backed out changeset 9be76aad30b1 (bug 1263991) 2016-06-07 12:10:26 +02:00
Jonas Sicking
c867263f70 Bug 1263991 part 4: Support response body. r=bkelly 2016-06-07 02:46:03 -07:00
Jonas Sicking
e6c14cd4ed Bug 1263991 part 3: Support incoming and outgoing requests/responses. r=baku f=bkelly 2016-06-07 02:46:03 -07:00
Jonas Sicking
32162d33c2 Bug 1273279 - Changes in preparation for FlyWeb landing. Change InternalResponse handling to track body size. r=baku f=bkelly
--HG--
extra : amend_source : 257331b8f4b86d6e1c7608ca6866526ce6aa645a
2016-06-01 17:02:29 -04:00
Tom Tung
842431d95a Bug 1243792 - P1 implement response.redirected - Fetch API & Cache API & ServiceWorker changed. r=bkelly, r=baku.
--HG--
extra : rebase_source : 29ec29361738c6d2446b410a98bd4876a689ce99
2016-05-03 09:48:40 +08:00
Carsten "Tomcat" Book
a993b36b4a Backed out changeset dc42de66de8c (bug 1243791) landing with wrong bug number
--HG--
extra : rebase_source : b016defba5a12065b401d0d59b3f03e8b1d7cbe1
2016-05-10 12:50:15 +02:00
Tom Tung
15b89607c6 Bug 1243791 - P1 implement response.redirected - Fetch API & Cache API & ServiceWorker changed. r=bkelly, r=baku. 2016-05-03 09:48:40 +08:00
Ben Kelly
66209204da Bug 1238134 P1 Provide a Response.cloneUnfiltered() method for chrome code to access internal Response state. r=ehsan 2016-01-12 12:15:12 -08:00
Ben Kelly
d7e898d8d0 Bug 1212904 P4 Set channel tainting in FetchEvent.respondWith(). r=ehsan 2015-10-22 11:07:32 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Bobby Holley
73f8a27244 Bug 1189668 - Expose GetUnfilteredUrl on InternalResponse. r=ehsan 2015-09-20 00:32:14 -07:00
Ben Kelly
a5977168ff Bug 1184607 P2 Update Request and Response DOM objects for new redirect model. r=nsm 2015-08-31 14:26:29 -07: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
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
Ben Kelly
a3be126ba9 Bug 1167808 P0 Cache.put() should use internal body of opaque Response. r=nsm 2015-06-12 18:59:01 -07:00
Ehsan Akhgari
3f5c9c69fd Bug 1173029 - Remove mFinalURL from InternalResponse; r=baku a=KWierso 2015-06-09 20:08:09 -04:00
Wes Kocher
08b17ee9a2 Backed out changeset e33db57c3fec (bug 1173029) 2015-06-09 15:16:30 -07:00
Ehsan Akhgari
ed54538c7f Bug 1173029 - Remove mFinalURL from InternalResponse; r=baku a=KWierso 2015-06-09 17:17:59 -04: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
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -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
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
ca6c2ec7d2 Bug 1140788 - Set headers to immutable. r=bkelly,ehsan
--HG--
extra : rebase_source : 2174a7683df99996566299609496c5ae7740bf36
2015-03-07 18:54:41 -08:00
Ben Kelly
e3f6f3f034 Bug 1073231 Implement Request and Response Clone() methods. r=nsm r=baku 2015-02-19 20:24:24 -05: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