diff options
Diffstat (limited to 'Source/WebCore/loader/cache/CachedResource.cpp')
-rwxr-xr-x | Source/WebCore/loader/cache/CachedResource.cpp | 24 |
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()); +} + } |