summaryrefslogtreecommitdiff
path: root/Source/WebCore/loader/cache/CachedResource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/loader/cache/CachedResource.cpp')
-rwxr-xr-xSource/WebCore/loader/cache/CachedResource.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/WebCore/loader/cache/CachedResource.cpp b/Source/WebCore/loader/cache/CachedResource.cpp
index 41cd60189..c619ddad6 100755
--- a/Source/WebCore/loader/cache/CachedResource.cpp
+++ b/Source/WebCore/loader/cache/CachedResource.cpp
@@ -37,6 +37,7 @@
#include "InspectorInstrumentation.h"
#include "KURL.h"
#include "Logging.h"
+#include "MemoryInstrumentation.h"
#include "PurgeableBuffer.h"
#include "ResourceHandle.h"
#include "ResourceLoadScheduler.h"
@@ -800,4 +801,27 @@ void CachedResource::CachedResourceCallback::timerFired(Timer<CachedResourceCall
m_resource->didAddClient(m_client);
}
+void CachedResource::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResource);
+ info.addMember(m_resourceRequest);
+ info.addHashSet(m_clients);
+ info.addMember(m_accept);
+ info.addInstrumentedMember(m_loader);
+ info.addMember(m_response);
+ info.addInstrumentedMember(m_data);
+ info.addMember(m_cachedMetadata.get());
+ info.addInstrumentedMember(m_nextInAllResourcesList);
+ info.addInstrumentedMember(m_prevInAllResourcesList);
+ info.addInstrumentedMember(m_nextInLiveResourcesList);
+ info.addInstrumentedMember(m_prevInLiveResourcesList);
+ info.addInstrumentedMember(m_owningCachedResourceLoader);
+ info.addInstrumentedMember(m_resourceToRevalidate);
+ info.addInstrumentedMember(m_proxyResource);
+ info.addInstrumentedHashSet(m_handlesToRevalidate);
+
+ if (m_purgeableData && !m_purgeableData->wasPurged())
+ info.addRawBuffer(m_purgeableData.get(), m_purgeableData->size());
+}
+
}