Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(646)

Unified Diff: third_party/WebKit/Source/core/fetch/Resource.h

Issue 2398733003: Cache SubResourceIntegrity checks at Resource (Closed)
Patch Set: add include Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/fetch/Resource.h
diff --git a/third_party/WebKit/Source/core/fetch/Resource.h b/third_party/WebKit/Source/core/fetch/Resource.h
index acc142bf961cf53bc93bc6af0fce71e08f48a2fb..365fd3f0c777f971d9a13edbc842717b558f00cd 100644
--- a/third_party/WebKit/Source/core/fetch/Resource.h
+++ b/third_party/WebKit/Source/core/fetch/Resource.h
@@ -26,6 +26,7 @@
#include "core/CoreExport.h"
#include "core/fetch/CachedMetadataHandler.h"
+#include "core/fetch/IntegrityMetadata.h"
#include "core/fetch/ResourceLoaderOptions.h"
#include "platform/MemoryCoordinator.h"
#include "platform/SharedBuffer.h"
@@ -194,8 +195,6 @@ class CORE_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
bool passesAccessControlCheck(SecurityOrigin*,
String& errorDescription) const;
- bool isEligibleForIntegrityCheck(SecurityOrigin*) const;
-
virtual PassRefPtr<const SharedBuffer> resourceBuffer() const {
return m_data;
}
@@ -253,10 +252,21 @@ class CORE_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
bool isCacheValidator() const { return m_isRevalidating; }
bool hasCacheControlNoStoreHeader() const;
bool hasVaryHeader() const;
- virtual bool mustRefetchDueToIntegrityMetadata(
- const FetchRequest& request) const {
- return false;
+
+ bool isEligibleForIntegrityCheck(SecurityOrigin*) const;
+
+ void setIntegrityMetadata(const IntegrityMetadataSet& metadata) {
+ m_integrityMetadata = metadata;
+ }
+ const IntegrityMetadataSet& integrityMetadata() const {
+ return m_integrityMetadata;
}
+ // The argument must never be |NotChecked|.
+ void setIntegrityDisposition(ResourceIntegrityDisposition);
+ ResourceIntegrityDisposition integrityDisposition() const {
+ return m_integrityDisposition;
+ }
+ bool mustRefetchDueToIntegrityMetadata(const FetchRequest&) const;
double currentAge() const;
double freshnessLifetime();
@@ -407,6 +417,9 @@ class CORE_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
bool m_isRevalidating : 1;
bool m_isAlive : 1;
+ ResourceIntegrityDisposition m_integrityDisposition;
+ IntegrityMetadataSet m_integrityMetadata;
+
// Ordered list of all redirects followed while fetching this resource.
Vector<RedirectPair> m_redirectChain;
« no previous file with comments | « third_party/WebKit/Source/core/fetch/IntegrityMetadata.h ('k') | third_party/WebKit/Source/core/fetch/Resource.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698