import changes from `dev' branch of rmottola/Arctic-Fox:

- Bug 1178508 ServiceWorker scripts should never be intercepted. r=baku (1dc29c560)
- Bug 1169044 - Patch 4 - Set referrer on intercepted request. r=jdm (e400d51bb)
- Bug 1169044 - Patch 5 - build fixes. a=bustage (ff54ccc97)
- Bug 1158319 Cache should throw SecurityError if the principal is incorrect. r=ehsan (28713b9cf)
- Bug 1160147 Improve Cache API WorkerFeature shutdown handling. r=baku (79ab46685)
- Bug 1160227 Improve Cache API warnings. r=ehsan (0adda61ee)
- Bug 1160138 P1 Update CacheStorage and Cache webidl to latest spec. r=ehsan (68025abcf)
- Bug 1160138 P2 Add a [ChromeConstructor] to CacheStorage to support devtools. r=ehsan (8d3ea55b8)
- Bug 1160138 P3 Test Cache chrome-only Constructor. r=ehsan (46d89d039)
- Bug 1173467 P1 Modify CacheStorage to reject with SecurityErr instead of throwing on creation. r=ehsan (db32dffbf)
- Bug 1140145 - Update web-platform-tests expected data to revision 9a2c04e06cb4e63b13b803722d345d085bf0debf, a=testonly (eb5c31e15)
- Bug 1142501 - Disable webvtt/rendering/cues-with-video/processing-model/basic.html on Linux due to extremely frequent timeouts. No review. (8c197e60a)
- Bug 1135107 - Enable pointer events for pointer events tests, a=testonly (03d19a853)
- partial bug 1135107 - Update web-platform-tests expected data, rs=Ms2ger (794895f17)
- Bug 1153521 - Update web-platform-tests expected data to revision 7311aa630534282885b9add15b1c30b2b59316dd, a=testonly (44a86bbb9)
- Bug 1162594 - create build_resources.json even if psutil fails; r=ahal (44a1d1780)
This commit is contained in:
2021-05-01 11:37:45 +08:00
parent c5b776d07a
commit cdb21a311f
551 changed files with 2733 additions and 4101 deletions
+12 -1
View File
@@ -10,6 +10,7 @@
#include "nsIContentPolicy.h"
#include "nsIContentSecurityPolicy.h"
#include "nsIHttpChannel.h"
#include "nsIHttpChannelInternal.h"
#include "nsIInputStreamPump.h"
#include "nsIIOService.h"
#include "nsIProtocolHandler.h"
@@ -860,6 +861,16 @@ private:
return rv;
}
// If we are loading a script for a ServiceWorker then we must not
// try to intercept it. If the interception matches the current
// ServiceWorker's scope then we could deadlock the load.
if (mWorkerPrivate->IsServiceWorker()) {
nsCOMPtr<nsIHttpChannelInternal> internal = do_QueryInterface(channel);
if (internal) {
internal->ForceNoIntercept();
}
}
if (loadInfo.mCacheStatus != ScriptLoadInfo::ToBeCached) {
rv = channel->AsyncOpen(loader, indexSupports);
if (NS_WARN_IF(NS_FAILED(rv))) {
@@ -1097,7 +1108,7 @@ private:
mWorkerPrivate->SetBaseURI(finalURI);
}
nsIPrincipal* principal = mWorkerPrivate->GetPrincipal();
DebugOnly<nsIPrincipal*> principal = mWorkerPrivate->GetPrincipal();
MOZ_ASSERT(principal);
nsILoadGroup* loadGroup = mWorkerPrivate->GetLoadGroup();
MOZ_ASSERT(loadGroup);