import change from rmottola/Arctic-Fox:

- Bug 1142761 - Move CallSetter into ScriptedIndirectProxyHandler so it will eventually be deleted along with its only remaining caller. (a5a0b3f6b)
- Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. (4eda6a60b)
- Bug 1142195 - Remove some unused class declarations in the DOM Cache code (afd802623)
- Bug 1145345 - Account for a greater variety of rounding errors when comparing coordinates (6a41f34f3)
- Bug 1145787 - Put a misplaced assertion into its proper place. (7f760a66d)
- Bug 1146059 - Remove Response.finalURL. (230d9fa50)
- Bug 1134324 - Set CORS mode and credentials on Fetch event Request. r=michal (772fcac8f)
- Bug 1136200 - Verify request type is not no-cors if response is opaque (396c9bfb4)
- Bug 1144249 - fix fetch no-cors mode. r=bkelly (af9656291)
- Bug 1144876 - Stop spamming stderr with a warning every time that we encounter a document that is not controlled by a service worker; (0a5c5fbfd)
- Bug 1117172 part 1. Allow passing an optional aGivenProto to binding Wrap methods. (8aea85046)
- Bug 1117172 part 2. Change the non-wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv (13146be83)
- Bug 1117172 part 3. Change the wrappercached WrapObject methods to al low passing in aGivenProto. r=peterv (1621ef48d)
- Bug 1146293 - Fix coding style break (intent and line length) caused by Bug 1117172 and Bug 1145631. (0822709f1)
- Bug 1121298 - Part 1: refactor MozNDEFRecord cstor. (6e57a37ec)
- Bug 1121298 - Part 2: Add Constructor(uri) for MozNDEFRecord. (46f921bcf)
- Bug 1121298 - Part 3. add getAsURI. (e67cad94b)
- Bug 1138886 - Structured Clone for MozNDEFRecord. (With adaptations of Bug 1117172 part 3) (b83b7f684)
- Bug 1143504 - Disconnect the Cache object from its actor when it gets cycle collected. (dae58dcdd)
This commit is contained in:
2019-06-21 11:00:47 +08:00
parent 65d6aee9e0
commit c08eaf90ca
988 changed files with 2628 additions and 1843 deletions
+21 -13
View File
@@ -485,16 +485,24 @@ FetchDriver::HttpFetch(bool aCORSFlag, bool aCORSPreflightFlag, bool aAuthentica
internalChan->ForceNoIntercept();
}
// Set up a CORS proxy that will handle the various requirements of the CORS
// protocol. It handles the preflight cache and CORS response headers.
// If the request is allowed, it will start our original request
// and our observer will be notified. On failure, our observer is notified
// directly.
nsRefPtr<nsCORSListenerProxy> corsListener =
new nsCORSListenerProxy(this, mPrincipal, useCredentials);
rv = corsListener->Init(chan, DataURIHandling::Allow);
if (NS_WARN_IF(NS_FAILED(rv))) {
return FailWithNetworkError();
nsCOMPtr<nsIStreamListener> listener = this;
// Unless the cors mode is explicitly no-cors, we set up a cors proxy even in
// the same-origin case, since the proxy does not enforce cors header checks
// in the same-origin case.
if (mRequest->Mode() != RequestMode::No_cors) {
// Set up a CORS proxy that will handle the various requirements of the CORS
// protocol. It handles the preflight cache and CORS response headers.
// If the request is allowed, it will start our original request
// and our observer will be notified. On failure, our observer is notified
// directly.
nsRefPtr<nsCORSListenerProxy> corsListener =
new nsCORSListenerProxy(this, mPrincipal, useCredentials);
rv = corsListener->Init(chan, DataURIHandling::Allow);
if (NS_WARN_IF(NS_FAILED(rv))) {
return FailWithNetworkError();
}
listener = corsListener.forget();
}
// If preflight is required, start a "CORS preflight fetch"
@@ -507,12 +515,12 @@ FetchDriver::HttpFetch(bool aCORSFlag, bool aCORSPreflightFlag, bool aAuthentica
nsAutoTArray<nsCString, 5> unsafeHeaders;
mRequest->Headers()->GetUnsafeHeaders(unsafeHeaders);
rv = NS_StartCORSPreflight(chan, corsListener, mPrincipal,
rv = NS_StartCORSPreflight(chan, listener, mPrincipal,
useCredentials,
unsafeHeaders,
getter_AddRefs(preflightChannel));
} else {
rv = chan->AsyncOpen(corsListener, nullptr);
rv = chan->AsyncOpen(listener, nullptr);
}
if (NS_WARN_IF(NS_FAILED(rv))) {
@@ -773,7 +781,7 @@ FetchDriver::AsyncOnChannelRedirect(nsIChannel* aOldChannel,
if (!NS_IsInternalSameURIRedirect(aOldChannel, aNewChannel, aFlags)) {
rv = DoesNotRequirePreflight(aNewChannel);
if (NS_FAILED(rv)) {
NS_WARNING("nsXMLHttpRequest::OnChannelRedirect: "
NS_WARNING("FetchDriver::OnChannelRedirect: "
"DoesNotRequirePreflight returned failure");
return rv;
}