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

- Bug 1182147: Ensure ImageHost does not attempt to call DrawQuad with an effect unsupported by the compositor. r=nical (5624e9134f)
- Bug 1151749 - "Win-Only: Disabled Hardware Acceleration + CSS 3D transform on canvas -> black artefacts on hover". r=nical (54c49071b9)
- Bug 1184224 - Remove gfxPrefs.h include from gfxPlatformGtk.h. r=karlt (eb907daa58)
- Bug 1183820 - Expose if cairo uses XRender to GetAzureBackendInfo. r=mattwoodrow (10044ecfb0)
- Bug 1128934 - Call XFlush after compositing to prevent jank. r=karlt (f63b9dc1b5)
- Bug 1151663 - New mochitest for this bug. r=kats (9344d22ed6)
- Bug 1176402 - Have synthesizeNativeWheel() and synthesizeNativeMouseMove() accept coordinates relative to the element's bounding rect. r=kats (cbdffe3869)
- Bug 1177018 - Work around the iframe in which mochitests are run not being scrollable. r=kats (d24291080c)
- Bug 1177018 - Disable smooth scrolling in the APZ layerization test. r=kats (e1af545da1)
- Bug 1181678 - Improve the check for skipping test_layerization if APZ is disabled. r=botond (91e5ead610)
- Bug 1177018 - Enable chaos mode for the APZ layerization test. r=kats (f07fdeb936)
- Bug 1177018 - Only enable APZ test logging for tests that actually use it. r=kats (9f24ea01c4)
- Bug 1196294 - Remove the mCause from TimelineMarkers, r=tromey (5abd1c057d)
- Bug 1195232 - Stop using TracingMetadata from GeckoProfiler.h, r=tromey (e736038873)
- Bug 1200118 - Create a barebones TimelineMarker abstract class, r=tromey (9930c83c2f)
- Bug 1200252 - Add marker for when the IPC request for a composite is sent to the compositor thread, r=jsantell,matt (becc11f58b)
- align some minor thing to gecko (5bb64e322a)
- Bug 1204581 - Add a deprecation warning for the usage of AppCache when service worker fetch interception is enabled; r=mcmanus,baku (69949c8d96)
- Bug 1210941 P2 Use LOAD_BYPASS_SERVICE_WORKER in HttpBaseChannel instead of mForceNoIntercept. r=jduell (fdb7afc0be)
- Bug 1173171 - Disable external jar: via preference. r=jduell (704cfb0b9c)
- Bug 1210941 P3 Make jar channels use LOAD_BYPASS_SERVICE_WORKER internally. r=jduell (d871dc4837)
- Bug 1210941 P4 Use LOAD_BYPASS_SERVICE_WORKER instead of ForceNoIntercept in nsDocShell. r=ehsan (ea5ed76717)
- Bug 1210941 P5 Use LOAD_BYPASS_SERVICE_WORKER in nsObjectLoadingContent instead of ForceNoIntercept(). r=ehsan (9e821adfaa)
- Bug 1210941 P6 Use LOAD_BYPASS_SERVICE_WORKER instead of ForceNoIntercept in FetchDriver. r=ehsan (02685be882)
- Bug 1210941 P7 Use LOAD_BYPASS_SERVICE_WORKER in ServiceWorkerScriptCache. r=ehsan (45fa163dd2)
- Bug 1182112 - XML documents should not be intercepted by ServiceWorkers. r=ehsan (a9dfeffcb3)
- Bug 1210941 P8 Use LOAD_BYPASS_SERVICE_WORKER in xslt txURIUtils. r=ehsan (d7686d572b)
- Bug 1210941 P9 Use LOAD_BYPASS_SERVICE_WORKER in nsCORSListenerProxy. r=ehsan (653f50de45)
- Bug 1205302 - Disallow intercepting OCSP requests; r=jdm (b4650e78d9)
- Bug 1210941 P10 Use LOAD_BYPASS_SERVICE_WORKER in nsNSSCallbacks. r=ehsan (b4b8b3f503)
- Bug 1210941 P11 Use LOAD_BYPASS_SERVICE_WORKER in worker ScriptLoader. r=ehsan (ac07404832)
- Bug 1210941 P12 Remove http channel's ForceNoIntercept. r=jduell IGNORE IDL (a7592a83c4)
- Bug 1210941 P13 Remove ForceNoIntercept from jar channel. r=jduell (617544fcee)
- Bug 1169613 - Use content type of synthesized response for JAR channel requests if available. Part 1: Set Content-Type of synthesized reponses for JAR channel requests. r=jdm (e32061a26a)
- Bug 1169613 - Use content type of synthesized response for JAR channel requests if available. Part 2: Set Content-Type for JAR Channel requests on Fetch API responses. r=nsm (da43e29583)
- Bug 1207556 - Part 1: Stop reusing the loadinfo in StartCORSPreflight; r=sicking (4724bfa8cd)
- Bug 1207556 - Part 2: Fix the beacon CORS preflight tests; r=sicking (c61a699f9f)
- Bug 1111834 - CORS preflight of navigator.sendBeacon() should not follow 30x redirect - tests. r=sicking (2871ad22e7)
- fix build because of previous backports (e3096e6f9a)
- Bug 1161677 - Expose dev mode state read-only through the navigator.hasFeature() api r=ehsan (013399847b)
- Bug 1203680 P8 nsCORSListenerProxy::OnStartRequest must always call outer OnStartRequest. r=ehsan (9a67709770)
- spacing (d4511b37c4)
- missing bit of 920017 and some telemetry (2bf267ce72)
This commit is contained in:
2022-09-26 16:21:15 +08:00
parent 7f6fda62d8
commit 938961e76b
87 changed files with 1154 additions and 402 deletions
+14 -16
View File
@@ -415,6 +415,12 @@ FetchDriver::HttpFetch(bool aCORSFlag, bool aCORSPreflightFlag, bool aAuthentica
// new cookies sent by the server from being stored.
const nsLoadFlags credentialsFlag = useCredentials ? 0 : nsIRequest::LOAD_ANONYMOUS;
// Set skip serviceworker flag.
// While the spec also gates on the client being a ServiceWorker, we can't
// infer that here. Instead we rely on callers to set the flag correctly.
const nsLoadFlags bypassFlag = mRequest->SkipServiceWorker() ?
nsIChannel::LOAD_BYPASS_SERVICE_WORKER : 0;
// From here on we create a channel and set its properties with the
// information from the InternalRequest. This is an implementation detail.
MOZ_ASSERT(mLoadGroup);
@@ -426,7 +432,7 @@ FetchDriver::HttpFetch(bool aCORSFlag, bool aCORSPreflightFlag, bool aAuthentica
mRequest->ContentPolicyType(),
mLoadGroup,
nullptr, /* aCallbacks */
nsIRequest::LOAD_NORMAL | credentialsFlag,
nsIRequest::LOAD_NORMAL | credentialsFlag | bypassFlag,
ios);
mLoadGroup = nullptr;
if (NS_WARN_IF(NS_FAILED(rv))) {
@@ -562,21 +568,6 @@ FetchDriver::HttpFetch(bool aCORSFlag, bool aCORSPreflightFlag, bool aAuthentica
}
}
// Set skip serviceworker flag.
// While the spec also gates on the client being a ServiceWorker, we can't
// infer that here. Instead we rely on callers to set the flag correctly.
if (mRequest->SkipServiceWorker()) {
if (httpChan) {
nsCOMPtr<nsIHttpChannelInternal> internalChan = do_QueryInterface(httpChan);
internalChan->ForceNoIntercept();
} else {
nsCOMPtr<nsIJARChannel> jarChannel = do_QueryInterface(chan);
// If it is not an http channel, it has to be a jar one.
MOZ_ASSERT(jarChannel);
jarChannel->ForceNoIntercept();
}
}
nsCOMPtr<nsIStreamListener> listener = this;
// Only use nsCORSListenerProxy if we are in CORS mode. Otherwise it
@@ -786,6 +777,13 @@ FetchDriver::OnStartRequest(nsIRequest* aRequest,
uint32_t responseStatus = 200;
nsAutoCString statusText;
response = new InternalResponse(responseStatus, NS_LITERAL_CSTRING("OK"));
ErrorResult result;
nsAutoCString contentType;
jarChannel->GetContentType(contentType);
response->Headers()->Append(NS_LITERAL_CSTRING("content-type"),
contentType,
result);
MOZ_ASSERT(!result.Failed());
}
// We open a pipe so that we can immediately set the pipe's read end as the