mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1176988 - Patch 2 - Remove XHR cache bypass in cast of POST request. r=jdm
This commit is contained in:
parent
82e53b7b8c
commit
eef87c3ddd
@ -2875,26 +2875,22 @@ nsXMLHttpRequest::Send(nsIVariant* aVariant, const Nullable<RequestBody>& aBody)
|
||||
NS_ASSERTION(listener != this,
|
||||
"Using an object as a listener that can't be exposed to JS");
|
||||
|
||||
// Bypass the network cache in cases where it makes no sense:
|
||||
// POST responses are always unique, and we provide no API that would
|
||||
// allow our consumers to specify a "cache key" to access old POST
|
||||
// responses, so they are not worth caching.
|
||||
if (method.EqualsLiteral("POST")) {
|
||||
AddLoadFlags(mChannel,
|
||||
nsIRequest::LOAD_BYPASS_CACHE | nsIRequest::INHIBIT_CACHING);
|
||||
} else {
|
||||
// When we are sync loading, we need to bypass the local cache when it would
|
||||
// otherwise block us waiting for exclusive access to the cache. If we don't
|
||||
// do this, then we could dead lock in some cases (see bug 309424).
|
||||
//
|
||||
// Also don't block on the cache entry on async if it is busy - favoring parallelism
|
||||
// over cache hit rate for xhr. This does not disable the cache everywhere -
|
||||
// only in cases where more than one channel for the same URI is accessed
|
||||
// simultanously.
|
||||
// When we are sync loading, we need to bypass the local cache when it would
|
||||
// otherwise block us waiting for exclusive access to the cache. If we don't
|
||||
// do this, then we could dead lock in some cases (see bug 309424).
|
||||
//
|
||||
// Also don't block on the cache entry on async if it is busy - favoring parallelism
|
||||
// over cache hit rate for xhr. This does not disable the cache everywhere -
|
||||
// only in cases where more than one channel for the same URI is accessed
|
||||
// simultanously.
|
||||
|
||||
AddLoadFlags(mChannel,
|
||||
nsICachingChannel::LOAD_BYPASS_LOCAL_CACHE_IF_BUSY);
|
||||
}
|
||||
AddLoadFlags(mChannel,
|
||||
nsICachingChannel::LOAD_BYPASS_LOCAL_CACHE_IF_BUSY);
|
||||
|
||||
// While it would be optimal to bypass the cache in case of POST requests
|
||||
// since they are never cached, our ServiceWorker interception implementation
|
||||
// on single-process systems is implemented via the HTTP cache, so DO NOT
|
||||
// bypass the cache based on method!
|
||||
|
||||
// Since we expect XML data, set the type hint accordingly
|
||||
// if the channel doesn't know any content type.
|
||||
|
Loading…
Reference in New Issue
Block a user