Title: [125185] trunk/Source/WebCore
Revision
125185
Author
[email protected]
Date
2012-08-09 10:37:06 -0700 (Thu, 09 Aug 2012)

Log Message

Web Inspector: DocumentEventQueue memory instrumentation
https://bugs.webkit.org/show_bug.cgi?id=93604

Reviewed by Pavel Feldman.

Provided DocumentEventQueue:: reportMemoryUsage implementation.

* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::reportMemoryUsage):
(WebCore):
* dom/DocumentEventQueue.h:
(WebCore):
* dom/Event.cpp:
(WebCore::Event::reportMemoryUsage):
(WebCore):
* dom/Event.h:
(WebCore):
(Event):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (125184 => 125185)


--- trunk/Source/WebCore/ChangeLog	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/ChangeLog	2012-08-09 17:37:06 UTC (rev 125185)
@@ -1,3 +1,26 @@
+2012-08-09  Yury Semikhatsky  <[email protected]>
+
+        Web Inspector: DocumentEventQueue memory instrumentation
+        https://bugs.webkit.org/show_bug.cgi?id=93604
+
+        Reviewed by Pavel Feldman.
+
+        Provided DocumentEventQueue:: reportMemoryUsage implementation.
+
+        * dom/Document.cpp:
+        (WebCore::Document::reportMemoryUsage):
+        * dom/DocumentEventQueue.cpp:
+        (WebCore::DocumentEventQueue::reportMemoryUsage):
+        (WebCore):
+        * dom/DocumentEventQueue.h:
+        (WebCore):
+        * dom/Event.cpp:
+        (WebCore::Event::reportMemoryUsage):
+        (WebCore):
+        * dom/Event.h:
+        (WebCore):
+        (Event):
+
 2012-08-09  Pavel Feldman  <[email protected]>
 
         Web Inspector: add codemirror library as an experiment

Modified: trunk/Source/WebCore/dom/Document.cpp (125184 => 125185)


--- trunk/Source/WebCore/dom/Document.cpp	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/dom/Document.cpp	2012-08-09 17:37:06 UTC (rev 125185)
@@ -6124,6 +6124,7 @@
     info.addHashSet(m_mediaVolumeCallbackElements);
     info.addHashSet(m_privateBrowsingStateChangedElements);
     info.addHashMap(m_elementsByAccessKey);
+    info.addInstrumentedMember(m_eventQueue);
     info.addHashSet(m_mediaCanStartListeners);
     info.addVector(m_pendingTasks);
 }

Modified: trunk/Source/WebCore/dom/DocumentEventQueue.cpp (125184 => 125185)


--- trunk/Source/WebCore/dom/DocumentEventQueue.cpp	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/dom/DocumentEventQueue.cpp	2012-08-09 17:37:06 UTC (rev 125185)
@@ -31,6 +31,7 @@
 #include "Document.h"
 #include "Event.h"
 #include "EventNames.h"
+#include "MemoryInstrumentation.h"
 #include "RuntimeApplicationChecks.h"
 #include "ScriptExecutionContext.h"
 #include "SuspendableTimer.h"
@@ -107,6 +108,14 @@
     enqueueEvent(scrollEvent.release());
 }
 
+void DocumentEventQueue::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+    info.addMember(m_pendingEventTimer);
+    info.addInstrumentedHashSet(m_queuedEvents);
+    info.addInstrumentedHashSet(m_nodesWithQueuedScrollEvents);
+}
+
 bool DocumentEventQueue::cancelEvent(Event* event)
 {
     bool found = m_queuedEvents.contains(event);

Modified: trunk/Source/WebCore/dom/DocumentEventQueue.h (125184 => 125185)


--- trunk/Source/WebCore/dom/DocumentEventQueue.h	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/dom/DocumentEventQueue.h	2012-08-09 17:37:06 UTC (rev 125185)
@@ -38,6 +38,7 @@
 
 class Event;
 class DocumentEventQueueTimer;
+class MemoryObjectInfo;
 class Node;
 class ScriptExecutionContext;
 
@@ -58,6 +59,8 @@
 
     void enqueueOrDispatchScrollEvent(PassRefPtr<Node>, ScrollEventTargetType);
 
+    void reportMemoryUsage(MemoryObjectInfo*) const;
+
 private:
     explicit DocumentEventQueue(ScriptExecutionContext*);
 

Modified: trunk/Source/WebCore/dom/Event.cpp (125184 => 125185)


--- trunk/Source/WebCore/dom/Event.cpp	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/dom/Event.cpp	2012-08-09 17:37:06 UTC (rev 125185)
@@ -155,6 +155,15 @@
 {
 }
 
+void Event::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+    info.addMember(m_type);
+    info.addMember(m_currentTarget);
+    info.addMember(m_target);
+    info.addInstrumentedMember(m_underlyingEvent);
+}
+
 void Event::setTarget(PassRefPtr<EventTarget> target)
 {
     if (m_target == target)

Modified: trunk/Source/WebCore/dom/Event.h (125184 => 125185)


--- trunk/Source/WebCore/dom/Event.h	2012-08-09 17:26:40 UTC (rev 125184)
+++ trunk/Source/WebCore/dom/Event.h	2012-08-09 17:37:06 UTC (rev 125185)
@@ -31,6 +31,7 @@
 
 namespace WebCore {
 
+    class MemoryInstrumentation;
     class EventTarget;
     class EventDispatcher;
 
@@ -152,6 +153,8 @@
 
         bool isBeingDispatched() const { return eventPhase(); }
 
+        virtual void reportMemoryUsage(MemoryObjectInfo*) const;
+
     protected:
         Event();
         Event(const AtomicString& type, bool canBubble, bool cancelable);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to