diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-22 15:40:17 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-22 15:40:17 +0200 |
commit | 43a42f108af6bcbd91f2672731c3047c26213af1 (patch) | |
tree | 7fa092e5f5d873c72f2486a70e26be26f7a38bec /Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp | |
parent | d9cf437c840c6eb7417bdd97e6c40979255d3158 (diff) | |
download | qtwebkit-43a42f108af6bcbd91f2672731c3047c26213af1.tar.gz |
Imported WebKit commit 302e7806bff028bd1167a1ec7c86a1ee00ecfb49 (http://svn.webkit.org/repository/webkit/trunk@132067)
New snapshot that fixes build without QtWidgets
Diffstat (limited to 'Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp index 7f362036b..5c25ff64e 100644 --- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp +++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp @@ -462,12 +462,13 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) CountingVisitor() : m_totalObjectsCount(0) { } + virtual bool visitObject(const void* ptr) { ++m_totalObjectsCount; return true; } - size_t totalObjectsCount() + size_t totalObjectsCount() const { return m_totalObjectsCount; } @@ -488,7 +489,7 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) , m_pointers(new const void*[maxObjectsCount]) { } - ~PointerCollector() + virtual ~PointerCollector() { delete[] m_pointers; } @@ -531,6 +532,25 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) } } +void WebDevToolsAgentImpl::dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>& map) +{ + class InstrumentedObjectSizeProvider : public WebDevToolsAgentClient::InstrumentedObjectSizeProvider { + public: + InstrumentedObjectSizeProvider(const HashMap<const void*, size_t>& map) : m_map(map) { } + virtual size_t objectSize(const void* ptr) const + { + HashMap<const void*, size_t>::const_iterator i = m_map.find(ptr); + return i == m_map.end() ? 0 : i->value; + } + + private: + const HashMap<const void*, size_t>& m_map; + }; + + InstrumentedObjectSizeProvider provider(map); + m_client->dumpUncountedAllocatedObjects(&provider); +} + void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message) { inspectorController()->dispatchMessageFromFrontend(message); |