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 365fd3f0c777f971d9a13edbc842717b558f00cd..a8066ef6e97e8cb0c18a6bd1a3447aa9b2043f2c 100644 |
--- a/third_party/WebKit/Source/core/fetch/Resource.h |
+++ b/third_party/WebKit/Source/core/fetch/Resource.h |
@@ -39,6 +39,7 @@ |
#include "platform/tracing/web_process_memory_dump.h" |
#include "public/platform/WebDataConsumerHandle.h" |
#include "wtf/Allocator.h" |
+#include "wtf/AutoReset.h" |
#include "wtf/HashCountedSet.h" |
#include "wtf/HashSet.h" |
#include "wtf/text/WTFString.h" |
@@ -367,6 +368,12 @@ class CORE_EXPORT Resource : public GarbageCollectedFinalized<Resource>, |
SharedBuffer* data() const { return m_data.get(); } |
void clearData() { m_data.clear(); } |
+ class ProhibitAddRemoveClientInScope : public AutoReset<bool> { |
+ public: |
+ ProhibitAddRemoveClientInScope(Resource* resource) |
+ : AutoReset(&resource->m_isAddRemoveClientProhibited, true) {} |
+ }; |
+ |
private: |
class ResourceCallback; |
class CachedMetadataHandlerImpl; |
@@ -420,6 +427,8 @@ class CORE_EXPORT Resource : public GarbageCollectedFinalized<Resource>, |
ResourceIntegrityDisposition m_integrityDisposition; |
IntegrityMetadataSet m_integrityMetadata; |
+ bool m_isAddRemoveClientProhibited; |
+ |
// Ordered list of all redirects followed while fetching this resource. |
Vector<RedirectPair> m_redirectChain; |