diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index 894e0a162e..d1af772ba3 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -40,6 +40,7 @@ #include "mozilla/dom/ServiceWorkerContainer.h" #include "mozilla/dom/StorageManager.h" #include "mozilla/dom/TCPSocket.h" +#include "mozilla/dom/URLSearchParams.h" #include "mozilla/dom/workers/RuntimeService.h" #include "mozilla/Hal.h" #include "nsISiteSpecificUserAgent.h" @@ -877,12 +878,12 @@ Navigator::SendBeacon(const nsAString& aUrl, } if (aData.Value().IsBlob()) { - BodyExtractor body(&aData.Value().GetAsBlob()); + BodyExtractor body(&aData.Value().GetAsBlob()); return SendBeaconInternal(aUrl, &body, /* isBlob */ true, aRv); } if (aData.Value().IsFormData()) { - BodyExtractor body(&aData.Value().GetAsFormData()); + BodyExtractor body(&aData.Value().GetAsFormData()); return SendBeaconInternal(aUrl, &body, /* isBlob */ false, aRv); } @@ -892,7 +893,7 @@ Navigator::SendBeacon(const nsAString& aUrl, } if (aData.Value().IsURLSearchParams()) { - BodyExtractor body(&aData.Value().GetAsURLSearchParams()); + BodyExtractor body(&aData.Value().GetAsURLSearchParams()); return SendBeaconInternal(aUrl, &body, /* isBlob */ false, aRv); } diff --git a/dom/fetch/BodyExtractor.cpp b/dom/fetch/BodyExtractor.cpp index 889526314e..89c9c20ddf 100644 --- a/dom/fetch/BodyExtractor.cpp +++ b/dom/fetch/BodyExtractor.cpp @@ -192,36 +192,6 @@ BodyExtractor::GetAsStream(nsIInputStream** aResult, return NS_OK; } -template<> nsresult -BodyExtractor::GetAsStream(nsIInputStream** aResult, - uint64_t* aContentLength, - nsACString& aContentTypeWithCharset, - nsACString& aCharset) const -{ - return mBody->GetSendInfo(aResult, aContentLength, aContentTypeWithCharset, - aCharset); -} - -template<> nsresult -BodyExtractor::GetAsStream(nsIInputStream** aResult, - uint64_t* aContentLength, - nsACString& aContentTypeWithCharset, - nsACString& aCharset) const -{ - return mBody->GetSendInfo(aResult, aContentLength, aContentTypeWithCharset, - aCharset); -} - -template<> nsresult -BodyExtractor::GetAsStream(nsIInputStream** aResult, - uint64_t* aContentLength, - nsACString& aContentTypeWithCharset, - nsACString& aCharset) const -{ - return mBody->GetSendInfo(aResult, aContentLength, aContentTypeWithCharset, - aCharset); -} - template<> nsresult BodyExtractor::GetAsStream(nsIInputStream** aResult, uint64_t* aContentLength, diff --git a/dom/fetch/BodyExtractor.h b/dom/fetch/BodyExtractor.h index 7d4bfd068e..d6b79b0349 100644 --- a/dom/fetch/BodyExtractor.h +++ b/dom/fetch/BodyExtractor.h @@ -24,8 +24,8 @@ public: }; // The implementation versions of this template are: -// ArrayBuffer, ArrayBufferView, Blob, FormData, nsAString, nsIDocument, -// nsIInputStream, nsIXHRSendable, URLSearchParams +// ArrayBuffer, ArrayBufferView, nsIXHRSendable (Blob, FormData, +// URLSearchParams), nsAString, nsIDocument, nsIInputStream template class BodyExtractor final : public BodyExtractorBase { diff --git a/dom/fetch/Fetch.cpp b/dom/fetch/Fetch.cpp index de54b6094e..a831843a96 100644 --- a/dom/fetch/Fetch.cpp +++ b/dom/fetch/Fetch.cpp @@ -746,13 +746,13 @@ ExtractByteStreamFromBody(const OwningArrayBufferOrArrayBufferViewOrBlobOrFormDa } if (aBodyInit.IsBlob()) { Blob& blob = aBodyInit.GetAsBlob(); - BodyExtractor body(&blob); + BodyExtractor body(&blob); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } if (aBodyInit.IsFormData()) { FormData& formData = aBodyInit.GetAsFormData(); - BodyExtractor body(&formData); + BodyExtractor body(&formData); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } @@ -763,7 +763,7 @@ ExtractByteStreamFromBody(const OwningArrayBufferOrArrayBufferViewOrBlobOrFormDa } if (aBodyInit.IsURLSearchParams()) { URLSearchParams& usp = aBodyInit.GetAsURLSearchParams(); - BodyExtractor body(&usp); + BodyExtractor body(&usp); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } @@ -795,14 +795,12 @@ ExtractByteStreamFromBody(const ArrayBufferOrArrayBufferViewOrBlobOrFormDataOrUS charset); } if (aBodyInit.IsBlob()) { - Blob& blob = aBodyInit.GetAsBlob(); - BodyExtractor body(&blob); + BodyExtractor body(&aBodyInit.GetAsBlob()); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } if (aBodyInit.IsFormData()) { - FormData& formData = aBodyInit.GetAsFormData(); - BodyExtractor body(&formData); + BodyExtractor body(&aBodyInit.GetAsFormData()); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } @@ -812,8 +810,7 @@ ExtractByteStreamFromBody(const ArrayBufferOrArrayBufferViewOrBlobOrFormDataOrUS charset); } if (aBodyInit.IsURLSearchParams()) { - URLSearchParams& usp = aBodyInit.GetAsURLSearchParams(); - BodyExtractor body(&usp); + BodyExtractor body(&aBodyInit.GetAsURLSearchParams()); return body.GetAsStream(aStream, &aContentLength, aContentTypeWithCharset, charset); } diff --git a/dom/xhr/XMLHttpRequestMainThread.h b/dom/xhr/XMLHttpRequestMainThread.h index ed02fd1da4..f2145605ef 100644 --- a/dom/xhr/XMLHttpRequestMainThread.h +++ b/dom/xhr/XMLHttpRequestMainThread.h @@ -36,6 +36,9 @@ #include "mozilla/dom/MutableBlobStorage.h" #include "mozilla/dom/BodyExtractor.h" #include "mozilla/dom/TypedArray.h" +#include "mozilla/dom/File.h" +#include "mozilla/dom/FormData.h" +#include "mozilla/dom/URLSearchParams.h" #include "mozilla/dom/XMLHttpRequest.h" #include "mozilla/dom/XMLHttpRequestBinding.h" #include "mozilla/dom/XMLHttpRequestEventTarget.h" @@ -55,11 +58,8 @@ class nsIJSID; namespace mozilla { namespace dom { -class Blob; class BlobSet; class DOMString; -class FormData; -class URLSearchParams; class XMLHttpRequestUpload; struct OriginAttributesDictionary; @@ -325,14 +325,14 @@ public: virtual void Send(JSContext* /*aCx*/, Blob& aBlob, ErrorResult& aRv) override { - BodyExtractor body(&aBlob); + BodyExtractor body(&aBlob); aRv = SendInternal(&body); } virtual void Send(JSContext* /*aCx*/, URLSearchParams& aURLSearchParams, ErrorResult& aRv) override { - BodyExtractor body(&aURLSearchParams); + BodyExtractor body(&aURLSearchParams); aRv = SendInternal(&body); } @@ -357,7 +357,7 @@ public: virtual void Send(JSContext* /*aCx*/, FormData& aFormData, ErrorResult& aRv) override { - BodyExtractor body(&aFormData); + BodyExtractor body(&aFormData); aRv = SendInternal(&body); }