From fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:14:29 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- dom/xhr/XMLHttpRequest.h | 85 +++++++++++----------- dom/xhr/XMLHttpRequestMainThread.cpp | 80 +++++++++++++------- dom/xhr/XMLHttpRequestMainThread.h | 11 ++- dom/xhr/XMLHttpRequestWorker.cpp | 3 +- dom/xhr/tests/file_XHRResponseURL.js | 12 +-- .../file_sync_xhr_document_write_with_iframe.html | 2 +- dom/xhr/tests/relativeLoad_worker.js | 2 +- dom/xhr/tests/temporaryFileBlob.sjs | 4 +- dom/xhr/tests/terminateSyncXHR_worker.js | 2 +- dom/xhr/tests/test_XHR.js | 3 + dom/xhr/tests/test_XHRDocURI.html | 40 +++++----- dom/xhr/tests/test_XHR_timeout.js | 2 + dom/xhr/tests/test_bug1752863_worker.js | 2 +- dom/xhr/tests/test_worker_xhr_responseURL.html | 2 +- dom/xhr/tests/test_worker_xhr_system.js | 4 +- dom/xhr/tests/test_xhr_progressevents.html | 2 +- dom/xhr/tests/worker_temporaryFileBlob.js | 3 + dom/xhr/tests/worker_terminateSyncXHR_frame.html | 2 +- dom/xhr/tests/xhrAbort_worker.js | 4 +- dom/xhr/tests/xhr_worker.js | 18 ++--- 20 files changed, 162 insertions(+), 121 deletions(-) (limited to 'dom/xhr') diff --git a/dom/xhr/XMLHttpRequest.h b/dom/xhr/XMLHttpRequest.h index 0d82f8c035..a7c4c0550c 100644 --- a/dom/xhr/XMLHttpRequest.h +++ b/dom/xhr/XMLHttpRequest.h @@ -29,9 +29,12 @@ class XMLHttpRequest : public XMLHttpRequestEventTarget { const char* cStr; const char16_t* str; - EventType(const char* name, const char16_t* uname) + constexpr EventType(const char* name, const char16_t* uname) : cStr(name), str(uname) {} + constexpr EventType(const EventType& other) + : cStr(other.cStr), str(other.str) {} + operator const nsDependentString() const { return nsDependentString(str); } friend bool operator==(const EventType& a, const EventType& b) { @@ -56,55 +59,26 @@ class XMLHttpRequest : public XMLHttpRequestEventTarget { }; struct ProgressEventType : public EventType { - ProgressEventType(const char* name, const char16_t* uname) + constexpr ProgressEventType(const char* name, const char16_t* uname) : EventType(name, uname) {} }; struct ErrorProgressEventType : public ProgressEventType { const nsresult errorCode; - - ErrorProgressEventType(const char* name, const char16_t* uname, - const nsresult code) + constexpr ErrorProgressEventType(const char* name, const char16_t* uname, + const nsresult code) : ProgressEventType(name, uname), errorCode(code) {} }; -#define DECL_EVENT(NAME) \ - static inline const EventType NAME = EventType(#NAME, u## #NAME); - -#define DECL_PROGRESSEVENT(NAME) \ - static inline const ProgressEventType NAME = \ - ProgressEventType(#NAME, u## #NAME); - -#define DECL_ERRORPROGRESSEVENT(NAME, ERR) \ - static inline const ErrorProgressEventType NAME = \ - ErrorProgressEventType(#NAME, u## #NAME, ERR); - - struct Events { - DECL_EVENT(readystatechange); - DECL_PROGRESSEVENT(loadstart); - DECL_PROGRESSEVENT(progress); - DECL_ERRORPROGRESSEVENT(error, NS_ERROR_DOM_NETWORK_ERR); - DECL_ERRORPROGRESSEVENT(abort, NS_ERROR_DOM_ABORT_ERR); - DECL_ERRORPROGRESSEVENT(timeout, NS_ERROR_DOM_TIMEOUT_ERR); - DECL_PROGRESSEVENT(load); - DECL_PROGRESSEVENT(loadend); - - static inline const EventType* All[]{ - &readystatechange, &loadstart, &progress, &error, &abort, - &timeout, &load, &loadend}; - - static inline const EventType* ProgressEvents[]{ - &loadstart, &progress, &error, &abort, &timeout, &load, &loadend}; - - static inline const EventType* Find(const nsString& name) { - for (const EventType* type : Events::All) { - if (*type == name) { - return type; - } - } - return nullptr; - } - }; +#define DECL_EVENT(NAME) static constexpr EventType NAME{#NAME, u## #NAME}; + +#define DECL_PROGRESSEVENT(NAME) \ + static constexpr ProgressEventType NAME { #NAME, u## #NAME } + +#define DECL_ERRORPROGRESSEVENT(NAME, ERR) \ + static constexpr ErrorProgressEventType NAME{#NAME, u## #NAME, ERR}; + + struct Events; static already_AddRefed Constructor( const GlobalObject& aGlobal, const MozXMLHttpRequestParameters& aParams, @@ -216,6 +190,33 @@ class XMLHttpRequest : public XMLHttpRequestEventTarget { : XMLHttpRequestEventTarget(aGlobalObject) {} }; +struct XMLHttpRequest::Events { + DECL_EVENT(readystatechange); + DECL_PROGRESSEVENT(loadstart); + DECL_PROGRESSEVENT(progress); + DECL_ERRORPROGRESSEVENT(error, NS_ERROR_DOM_NETWORK_ERR); + DECL_ERRORPROGRESSEVENT(abort, NS_ERROR_DOM_ABORT_ERR); + DECL_ERRORPROGRESSEVENT(timeout, NS_ERROR_DOM_TIMEOUT_ERR); + DECL_PROGRESSEVENT(load); + DECL_PROGRESSEVENT(loadend); + + static inline const EventType* All[]{ + &readystatechange, &loadstart, &progress, &error, &abort, + &timeout, &load, &loadend}; + + static inline const EventType* ProgressEvents[]{ + &loadstart, &progress, &error, &abort, &timeout, &load, &loadend}; + + static inline const EventType* Find(const nsString& name) { + for (const EventType* type : Events::All) { + if (*type == name) { + return type; + } + } + return nullptr; + } +}; + } // namespace mozilla::dom #endif // mozilla_dom_XMLHttpRequest_h diff --git a/dom/xhr/XMLHttpRequestMainThread.cpp b/dom/xhr/XMLHttpRequestMainThread.cpp index dc256b10c2..ace26f296f 100644 --- a/dom/xhr/XMLHttpRequestMainThread.cpp +++ b/dom/xhr/XMLHttpRequestMainThread.cpp @@ -40,6 +40,7 @@ #include "mozilla/LoadInfo.h" #include "mozilla/LoadContext.h" #include "mozilla/MemoryReporting.h" +#include "mozilla/net/ContentRange.h" #include "mozilla/PreloaderBase.h" #include "mozilla/ScopeExit.h" #include "mozilla/SpinEventLoopUntil.h" @@ -48,9 +49,9 @@ #include "mozilla/StaticPrefs_privacy.h" #include "mozilla/dom/ProgressEvent.h" #include "nsDataChannel.h" +#include "nsIBaseChannel.h" #include "nsIJARChannel.h" #include "nsIJARURI.h" -#include "nsLayoutCID.h" #include "nsReadableUtils.h" #include "nsSandboxFlags.h" @@ -186,15 +187,17 @@ static void AddLoadFlags(nsIRequest* request, nsLoadFlags newFlags) { // invoked for increased scrutability. Save the previous value on the stack. namespace { struct DebugWorkerRefs { - RefPtr& mTSWorkerRef; + Mutex& mMutex; + RefPtr mTSWorkerRef; nsCString mPrev; - DebugWorkerRefs(RefPtr& aTSWorkerRef, - const std::string& aStatus) - : mTSWorkerRef(aTSWorkerRef) { + DebugWorkerRefs(XMLHttpRequestMainThread& aXHR, const std::string& aStatus) + : mMutex(aXHR.mTSWorkerRefMutex) { + MutexAutoLock lock(mMutex); + + mTSWorkerRef = aXHR.mTSWorkerRef; + if (!mTSWorkerRef) { - MOZ_LOG(gXMLHttpRequestLog, LogLevel::Info, - ("No WorkerRef during: %s", aStatus.c_str())); return; } @@ -206,6 +209,8 @@ struct DebugWorkerRefs { } ~DebugWorkerRefs() { + MutexAutoLock lock(mMutex); + if (!mTSWorkerRef) { return; } @@ -213,6 +218,8 @@ struct DebugWorkerRefs { MOZ_ASSERT(mTSWorkerRef->Private()); SET_WORKERREF_DEBUG_STATUS(mTSWorkerRef->Ref(), mPrev); + + mTSWorkerRef = nullptr; } }; } // namespace @@ -220,11 +227,13 @@ struct DebugWorkerRefs { # define STREAM_STRING(stuff) \ (((const std::ostringstream&)(std::ostringstream() << stuff)) \ .str()) // NOLINT + # define DEBUG_WORKERREFS \ - DebugWorkerRefs MOZ_UNIQUE_VAR(debugWR__)(mTSWorkerRef, __func__) + DebugWorkerRefs MOZ_UNIQUE_VAR(debugWR__)(*this, __func__) + # define DEBUG_WORKERREFS1(x) \ DebugWorkerRefs MOZ_UNIQUE_VAR(debugWR__)( \ - mTSWorkerRef, STREAM_STRING(__func__ << ": " << x)) // NOLINT + *this, STREAM_STRING(__func__ << ": " << x)) // NOLINT #else # define DEBUG_WORKERREFS void() @@ -236,6 +245,9 @@ bool XMLHttpRequestMainThread::sDontWarnAboutSyncXHR = false; XMLHttpRequestMainThread::XMLHttpRequestMainThread( nsIGlobalObject* aGlobalObject) : XMLHttpRequest(aGlobalObject), +#ifdef DEBUG + mTSWorkerRefMutex("Debug WorkerRefs"), +#endif mResponseBodyDecodedPos(0), mResponseType(XMLHttpRequestResponseType::_empty), mState(XMLHttpRequest_Binding::UNSENT), @@ -864,14 +876,28 @@ bool XMLHttpRequestMainThread::IsDeniedCrossSiteCORSRequest() { return false; } -Maybe +bool XMLHttpRequestMainThread::BadContentRangeRequested() { + if (!mChannel) { + return false; + } + // Only nsIBaseChannel supports this + nsCOMPtr baseChan = do_QueryInterface(mChannel); + if (!baseChan) { + return false; + } + // A bad range was requested if the channel has no content range + // despite the request specifying a range header. + return !baseChan->ContentRange() && mAuthorRequestHeaders.Has("range"); +} + +RefPtr XMLHttpRequestMainThread::GetRequestedContentRange() const { MOZ_ASSERT(mChannel); - nsBaseChannel* baseChan = static_cast(mChannel.get()); + nsCOMPtr baseChan = do_QueryInterface(mChannel); if (!baseChan) { - return mozilla::Nothing(); + return nullptr; } - return baseChan->GetContentRange(); + return baseChan->ContentRange(); } void XMLHttpRequestMainThread::GetContentRangeHeader(nsACString& out) const { @@ -879,8 +905,8 @@ void XMLHttpRequestMainThread::GetContentRangeHeader(nsACString& out) const { out.SetIsVoid(true); return; } - Maybe range = GetRequestedContentRange(); - if (range.isSome()) { + RefPtr range = GetRequestedContentRange(); + if (range) { range->AsHeader(out); } else { out.SetIsVoid(true); @@ -944,8 +970,7 @@ uint32_t XMLHttpRequestMainThread::GetStatus(ErrorResult& aRv) { nsCOMPtr httpChannel = GetCurrentHttpChannel(); if (!httpChannel) { // Pretend like we got a 200/206 response, since our load was successful - return IsBlobURI(mRequestURL) && GetRequestedContentRange().isSome() ? 206 - : 200; + return GetRequestedContentRange() ? 206 : 200; } uint32_t status; @@ -1194,13 +1219,13 @@ bool XMLHttpRequestMainThread::IsSafeHeader( bool XMLHttpRequestMainThread::GetContentType(nsACString& aValue) const { MOZ_ASSERT(mChannel); - nsCOMPtr uri; - if (NS_SUCCEEDED(mChannel->GetURI(getter_AddRefs(uri))) && - uri->SchemeIs("data")) { - nsDataChannel* dchan = static_cast(mChannel.get()); - MOZ_ASSERT(dchan); - aValue.Assign(dchan->MimeType()); - return true; + nsCOMPtr baseChan = do_QueryInterface(mChannel); + if (baseChan) { + RefPtr fullMimeType(baseChan->FullMimeType()); + if (fullMimeType) { + fullMimeType->Serialize(aValue); + return true; + } } if (NS_SUCCEEDED(mChannel->GetContentType(aValue))) { nsCString value; @@ -1956,8 +1981,7 @@ XMLHttpRequestMainThread::OnStartRequest(nsIRequest* request) { // If we were asked for a bad range on a blob URL, but we're async, // we should throw now in order to fire an error progress event. - if (IsBlobURI(mRequestURL) && GetRequestedContentRange().isNothing() && - mAuthorRequestHeaders.Has("range")) { + if (BadContentRangeRequested()) { return NS_ERROR_NET_PARTIAL_TRANSFER; } @@ -3128,7 +3152,7 @@ void XMLHttpRequestMainThread::SendInternal(const BodyExtractorBase* aBody, if (uploadContentType.IsVoid()) { uploadContentType = defaultContentType; } else if (aBodyIsDocumentOrString) { - UniquePtr contentTypeRecord = + RefPtr contentTypeRecord = CMimeType::Parse(uploadContentType); nsAutoCString charset; if (contentTypeRecord && @@ -3391,7 +3415,7 @@ void XMLHttpRequestMainThread::OverrideMimeType(const nsAString& aMimeType, return; } - UniquePtr parsed = MimeType::Parse(aMimeType); + RefPtr parsed = MimeType::Parse(aMimeType); if (parsed) { parsed->Serialize(mOverrideMimeType); } else { diff --git a/dom/xhr/XMLHttpRequestMainThread.h b/dom/xhr/XMLHttpRequestMainThread.h index 3f2d395991..b860f041fb 100644 --- a/dom/xhr/XMLHttpRequestMainThread.h +++ b/dom/xhr/XMLHttpRequestMainThread.h @@ -48,7 +48,6 @@ #include "mozilla/dom/XMLHttpRequestEventTarget.h" #include "mozilla/dom/XMLHttpRequestString.h" #include "mozilla/Encoding.h" -#include "nsBaseChannel.h" #ifdef Status /* Xlib headers insist on this for some reason... Nuke it because @@ -65,6 +64,10 @@ class nsILoadGroup; namespace mozilla { class ProfileChunkedBuffer; +namespace net { +class ContentRange; +} + namespace dom { class DOMString; @@ -447,7 +450,8 @@ class XMLHttpRequestMainThread final : public XMLHttpRequest, #ifdef DEBUG // For logging when there's trouble - RefPtr mTSWorkerRef = nullptr; + RefPtr mTSWorkerRef MOZ_GUARDED_BY(mTSWorkerRefMutex); + Mutex mTSWorkerRefMutex; #endif protected: @@ -507,7 +511,8 @@ class XMLHttpRequestMainThread final : public XMLHttpRequest, void AbortInternal(ErrorResult& aRv); - Maybe GetRequestedContentRange() const; + bool BadContentRangeRequested(); + RefPtr GetRequestedContentRange() const; void GetContentRangeHeader(nsACString&) const; struct PendingEvent { diff --git a/dom/xhr/XMLHttpRequestWorker.cpp b/dom/xhr/XMLHttpRequestWorker.cpp index 371f444ee9..7fdfa8fee9 100644 --- a/dom/xhr/XMLHttpRequestWorker.cpp +++ b/dom/xhr/XMLHttpRequestWorker.cpp @@ -198,11 +198,13 @@ class Proxy final : public nsIDOMEventListener { #ifdef DEBUG void DebugStoreWorkerRef(RefPtr& aWorkerRef) { MOZ_ASSERT(!NS_IsMainThread()); + MutexAutoLock lock(mXHR->mTSWorkerRefMutex); mXHR->mTSWorkerRef = new ThreadSafeWorkerRef(aWorkerRef); } void DebugForgetWorkerRef() { MOZ_ASSERT(!NS_IsMainThread()); + MutexAutoLock lock(mXHR->mTSWorkerRefMutex); mXHR->mTSWorkerRef = nullptr; } #endif @@ -325,7 +327,6 @@ class LoadStartDetectionRunnable final : public Runnable, WorkerPrivate* mWorkerPrivate; RefPtr mProxy; RefPtr mXHR; - nsString mEventType; uint32_t mChannelId; bool mReceivedLoadStart; diff --git a/dom/xhr/tests/file_XHRResponseURL.js b/dom/xhr/tests/file_XHRResponseURL.js index 1ab1694bfa..29e6ddea69 100644 --- a/dom/xhr/tests/file_XHRResponseURL.js +++ b/dom/xhr/tests/file_XHRResponseURL.js @@ -51,7 +51,7 @@ function info(aMessage) { } function request(aURL) { - return new Promise(function (aResolve, aReject) { + return new Promise(function (aResolve) { var xhr = new XMLHttpRequest(); xhr.open("GET", aURL); xhr.addEventListener("load", function () { @@ -272,7 +272,7 @@ function testNotToLeakResponseURLWhileDoingRedirects() { function testNotToLeakResponseURLWhileDoingRedirectsInWindow() { var xhr = new XMLHttpRequest(); var requestObserver = { - observe(aSubject, aTopic, aData) { + observe() { is(xhr.readyState, XMLHttpRequest.OPENED, "assert for XHR state"); is( xhr.responseURL, @@ -286,7 +286,7 @@ function testNotToLeakResponseURLWhileDoingRedirectsInWindow() { "specialpowers-http-notify-request" ); - return new Promise(function (aResolve, aReject) { + return new Promise(function (aResolve) { xhr.open( "GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRResponseURL.sjs?url=http://mochi.test:8888/tests/dom/xhr/tests/file_XHRResponseURL.text" @@ -322,7 +322,7 @@ function testNotToLeakResponseURLWhileDoingRedirectsInWorker() { } }; - return new Promise(function (aResolve, aReject) { + return new Promise(function (aResolve) { self.addEventListener("message", testRedirect); message({ type: "redirect_test", status: "start" }); xhr.open( @@ -334,7 +334,7 @@ function testNotToLeakResponseURLWhileDoingRedirectsInWorker() { message({ type: "redirect_test", status: "end" }); aResolve(); }); - xhr.addEventListener("error", function (e) { + xhr.addEventListener("error", function () { ok(false, "unexpected request falilure"); self.removeEventListener("message", testRedirect); message({ type: "redirect_test", status: "end" }); @@ -345,7 +345,7 @@ function testNotToLeakResponseURLWhileDoingRedirectsInWorker() { } function waitForAllMessagesProcessed() { - return new Promise(function (aResolve, aReject) { + return new Promise(function (aResolve) { var id = setInterval(function () { if (message.ping === message.pong) { clearInterval(id); diff --git a/dom/xhr/tests/file_sync_xhr_document_write_with_iframe.html b/dom/xhr/tests/file_sync_xhr_document_write_with_iframe.html index 2135011d9c..895fbc4e4b 100644 --- a/dom/xhr/tests/file_sync_xhr_document_write_with_iframe.html +++ b/dom/xhr/tests/file_sync_xhr_document_write_with_iframe.html @@ -7,7 +7,7 @@ function syncXHR() { xhr.send(null); } -addEventListener('load', evt => { +addEventListener('load', () => { syncXHR(); document.open(); document.write( diff --git a/dom/xhr/tests/relativeLoad_worker.js b/dom/xhr/tests/relativeLoad_worker.js index b600b592be..6d281244c2 100644 --- a/dom/xhr/tests/relativeLoad_worker.js +++ b/dom/xhr/tests/relativeLoad_worker.js @@ -6,7 +6,7 @@ /* global workerURL */ const importURL = "relativeLoad_import.js"; -onmessage = function (event) { +onmessage = function () { var xhr = new XMLHttpRequest(); xhr.open("GET", "worker_testXHR.txt", false); xhr.send(null); diff --git a/dom/xhr/tests/temporaryFileBlob.sjs b/dom/xhr/tests/temporaryFileBlob.sjs index d952b325ce..151c05a231 100644 --- a/dom/xhr/tests/temporaryFileBlob.sjs +++ b/dom/xhr/tests/temporaryFileBlob.sjs @@ -28,7 +28,7 @@ function handleRequest(request, response) { bos.writeByteArray(part); response.timer1 = new Timer( - function (timer) { + function () { bos.writeByteArray(bodyBytes); }, 1000, @@ -36,7 +36,7 @@ function handleRequest(request, response) { ); response.timer2 = new Timer( - function (timer) { + function () { response.finish(); }, 2000, diff --git a/dom/xhr/tests/terminateSyncXHR_worker.js b/dom/xhr/tests/terminateSyncXHR_worker.js index 7a2509af3d..29a5a8a369 100644 --- a/dom/xhr/tests/terminateSyncXHR_worker.js +++ b/dom/xhr/tests/terminateSyncXHR_worker.js @@ -3,7 +3,7 @@ * http://creativecommons.org/publicdomain/zero/1.0/ */ -onmessage = function (event) { +onmessage = function () { throw new Error("No messages should reach me!"); }; diff --git a/dom/xhr/tests/test_XHR.js b/dom/xhr/tests/test_XHR.js index 12eb06e4f6..0034f8a0eb 100644 --- a/dom/xhr/tests/test_XHR.js +++ b/dom/xhr/tests/test_XHR.js @@ -1,4 +1,7 @@ "use strict"; + +/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */ + SimpleTest.waitForExplicitFinish(); var gen = runTests(); diff --git a/dom/xhr/tests/test_XHRDocURI.html b/dom/xhr/tests/test_XHRDocURI.html index 1062be13a6..61be580ddd 100644 --- a/dom/xhr/tests/test_XHRDocURI.html +++ b/dom/xhr/tests/test_XHRDocURI.html @@ -89,7 +89,7 @@ function* runTest() { // use content XHR and access URI properties from content privileged script var xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -108,7 +108,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -126,7 +126,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.text"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { is(xhr.responseXML, null, "should not have document"); if (xhr.readyState == 4) { gen.next(); @@ -137,7 +137,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -156,7 +156,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -174,7 +174,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -193,7 +193,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -211,7 +211,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.text"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { is(xhr.responseXML, null, "should not have document"); if (xhr.readyState == 4) { gen.next(); @@ -225,7 +225,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -246,7 +246,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -266,7 +266,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -287,7 +287,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -307,7 +307,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -328,7 +328,7 @@ function* runTest() { xhr = new XMLHttpRequest; xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -351,7 +351,7 @@ function* runTest() { SpecialPowers.addPermission("systemXHR", true, document); xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -370,7 +370,7 @@ function* runTest() { xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -388,7 +388,7 @@ function* runTest() { xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -407,7 +407,7 @@ function* runTest() { xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } @@ -425,7 +425,7 @@ function* runTest() { xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.xml"); - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.responseXML) { return; } @@ -444,7 +444,7 @@ function* runTest() { xhr = new XMLHttpRequest({mozAnon: false, mozSystem: true}); xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.sjs?url=http://example.com/tests/dom/xhr/tests/file_XHRDocURI.html"); xhr.responseType = "document"; - xhr.onreadystatechange = function(e) { + xhr.onreadystatechange = function() { if (!xhr.response) { return; } diff --git a/dom/xhr/tests/test_XHR_timeout.js b/dom/xhr/tests/test_XHR_timeout.js index 1e75c1c174..69986770e1 100644 --- a/dom/xhr/tests/test_XHR_timeout.js +++ b/dom/xhr/tests/test_XHR_timeout.js @@ -1,3 +1,5 @@ +/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */ + /* Notes: - All times are expressed in milliseconds in this test suite. - Test harness code is at the end of this file. diff --git a/dom/xhr/tests/test_bug1752863_worker.js b/dom/xhr/tests/test_bug1752863_worker.js index 196b825c0c..929b005939 100644 --- a/dom/xhr/tests/test_bug1752863_worker.js +++ b/dom/xhr/tests/test_bug1752863_worker.js @@ -24,7 +24,7 @@ async function handleLoadstart() { } } -self.onmessage = async function (ev) { +self.onmessage = async function () { xhr = new XMLHttpRequest({ mozAnon: false }); myself = self; xhr.addEventListener("loadstart", handleLoadstart, true); diff --git a/dom/xhr/tests/test_worker_xhr_responseURL.html b/dom/xhr/tests/test_worker_xhr_responseURL.html index 89924e9815..b33cc880c6 100644 --- a/dom/xhr/tests/test_worker_xhr_responseURL.html +++ b/dom/xhr/tests/test_worker_xhr_responseURL.html @@ -16,7 +16,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=998076 var worker = new Worker("../../../dom/xhr/tests/file_XHRResponseURL.js"); var requestObserver = { - observe (aSubject, aTopic, aData) { + observe () { worker.postMessage("request"); } }; diff --git a/dom/xhr/tests/test_worker_xhr_system.js b/dom/xhr/tests/test_worker_xhr_system.js index 23137801a0..ee5934363d 100644 --- a/dom/xhr/tests/test_worker_xhr_system.js +++ b/dom/xhr/tests/test_worker_xhr_system.js @@ -1,3 +1,5 @@ +/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */ + function ok(what, msg) { postMessage({ event: msg, test: "ok", a: what }); } @@ -6,7 +8,7 @@ function is(a, b, msg) { postMessage({ event: msg, test: "is", a, b }); } -self.onmessage = function onmessage(event) { +self.onmessage = function onmessage() { // An XHR with system privileges will be able to do cross-site calls. const TEST_URL = diff --git a/dom/xhr/tests/test_xhr_progressevents.html b/dom/xhr/tests/test_xhr_progressevents.html index ebfc06fd5b..69f549f7a8 100644 --- a/dom/xhr/tests/test_xhr_progressevents.html +++ b/dom/xhr/tests/test_xhr_progressevents.html @@ -12,7 +12,7 @@ SimpleTest.waitForExplicitFinish(); var gen = runTests(); -function log(s) { +function log() { // Uncomment these to get debugging information /* document.getElementById("l").textContent += s + "\n"; diff --git a/dom/xhr/tests/worker_temporaryFileBlob.js b/dom/xhr/tests/worker_temporaryFileBlob.js index 50f071bab7..056b826e00 100644 --- a/dom/xhr/tests/worker_temporaryFileBlob.js +++ b/dom/xhr/tests/worker_temporaryFileBlob.js @@ -1,4 +1,7 @@ /* eslint-env worker */ + +/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */ + importScripts("common_temporaryFileBlob.js"); function info(msg) { diff --git a/dom/xhr/tests/worker_terminateSyncXHR_frame.html b/dom/xhr/tests/worker_terminateSyncXHR_frame.html index 04bd53ff1d..720cf9551d 100644 --- a/dom/xhr/tests/worker_terminateSyncXHR_frame.html +++ b/dom/xhr/tests/worker_terminateSyncXHR_frame.html @@ -16,7 +16,7 @@ parent.postMessage(event.data, "*"); }; - worker.onerror = function(event) { + worker.onerror = function() { parent.postMessage("ERROR!", "*"); } } diff --git a/dom/xhr/tests/xhrAbort_worker.js b/dom/xhr/tests/xhrAbort_worker.js index 6b82241d68..e922f8259f 100644 --- a/dom/xhr/tests/xhrAbort_worker.js +++ b/dom/xhr/tests/xhrAbort_worker.js @@ -57,11 +57,11 @@ function runTest() { events.push(str); } - xhr.onerror = function (event) { + xhr.onerror = function () { throw new Error("Error: " + xhr.statusText); }; - xhr.onload = function (event) { + xhr.onload = function () { throw new Error("Shouldn't have gotten load event!"); }; diff --git a/dom/xhr/tests/xhr_worker.js b/dom/xhr/tests/xhr_worker.js index 46edd700db..4361b347e5 100644 --- a/dom/xhr/tests/xhr_worker.js +++ b/dom/xhr/tests/xhr_worker.js @@ -53,21 +53,21 @@ function onprogress(event) { } xhr.addEventListener("progress", onprogress); -xhr.addEventListener("foopety", function (event) {}); -xhr.removeEventListener("doopety", function (event) {}); +xhr.addEventListener("foopety", function () {}); +xhr.removeEventListener("doopety", function () {}); -xhr.onloadend = function (event) { +xhr.onloadend = function () { const message = { type: "loadend" }; postMessage(message); }; var upload = xhr.upload; -upload.onprogress = function (event) {}; -upload.addEventListener("foo", function (event) {}); -upload.removeEventListener("foo", function (event) {}); -upload.addEventListener("load", function (event) {}); -upload.removeEventListener("foo", function (event) {}); -upload.onload = function (event) { +upload.onprogress = function () {}; +upload.addEventListener("foo", function () {}); +upload.removeEventListener("foo", function () {}); +upload.addEventListener("load", function () {}); +upload.removeEventListener("foo", function () {}); +upload.onload = function () { const message = { type: "upload.load" }; postMessage(message); }; -- cgit v1.2.3