| Index: Source/platform/network/ResourceRequest.cpp
|
| diff --git a/Source/platform/network/ResourceRequest.cpp b/Source/platform/network/ResourceRequest.cpp
|
| index b3d16b8b4bf1185f3f46e15fa50080c3bf4cf033..2c46ef15cf671772fccf1162e4eb35ce9d132d3d 100644
|
| --- a/Source/platform/network/ResourceRequest.cpp
|
| +++ b/Source/platform/network/ResourceRequest.cpp
|
| @@ -314,8 +314,41 @@ bool ResourceRequest::isConditional() const
|
| || m_httpHeaderFields.contains("If-Modified-Since")
|
| || m_httpHeaderFields.contains("If-None-Match")
|
| || m_httpHeaderFields.contains("If-Range")
|
| - || m_httpHeaderFields.contains("If-Unmodified-Since")
|
| - || m_httpHeaderFields.contains("Cache-Control"));
|
| + || m_httpHeaderFields.contains("If-Unmodified-Since"));
|
| +}
|
| +
|
| +
|
| +static const AtomicString& cacheControlHeaderString()
|
| +{
|
| + DEFINE_STATIC_LOCAL(const AtomicString, cacheControlHeader, ("cache-control", AtomicString::ConstructFromLiteral));
|
| + return cacheControlHeader;
|
| +}
|
| +
|
| +static const AtomicString& pragmaHeaderString()
|
| +{
|
| + DEFINE_STATIC_LOCAL(const AtomicString, pragmaHeader, ("pragma", AtomicString::ConstructFromLiteral));
|
| + return pragmaHeader;
|
| +}
|
| +
|
| +bool ResourceRequest::cacheControlContainsNoCache()
|
| +{
|
| + if (!m_cacheControlHeader.parsed)
|
| + m_cacheControlHeader = parseCacheControlDirectives(m_httpHeaderFields.get(cacheControlHeaderString()), m_httpHeaderFields.get(pragmaHeaderString()));
|
| + return m_cacheControlHeader.containsNoCache;
|
| +}
|
| +
|
| +bool ResourceRequest::cacheControlContainsNoStore()
|
| +{
|
| + if (!m_cacheControlHeader.parsed)
|
| + m_cacheControlHeader = parseCacheControlDirectives(m_httpHeaderFields.get(cacheControlHeaderString()), m_httpHeaderFields.get(pragmaHeaderString()));
|
| + return m_cacheControlHeader.containsNoStore;
|
| +}
|
| +
|
| +bool ResourceRequest::hasCacheValidatorFields()
|
| +{
|
| + DEFINE_STATIC_LOCAL(const AtomicString, lastModifiedHeader, ("last-modified", AtomicString::ConstructFromLiteral));
|
| + DEFINE_STATIC_LOCAL(const AtomicString, eTagHeader, ("etag", AtomicString::ConstructFromLiteral));
|
| + return !m_httpHeaderFields.get(lastModifiedHeader).isEmpty() || !m_httpHeaderFields.get(eTagHeader).isEmpty();
|
| }
|
|
|
| double ResourceRequest::defaultTimeoutInterval()
|
|
|