Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
[WebKit-https.git] / Source / WebCore / ChangeLog
index a0c0854..f9d053e 100644 (file)
@@ -1,3 +1,31 @@
+2012-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
+
+        Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo.
+        https://bugs.webkit.org/show_bug.cgi?id=104796
+
+        Reviewed by Yury Semikhatsky.
+
+        It was not a good idea to introduce a fake root MemoryObjectInfo.
+        It makes a problem when we visit an object without its own MemoryObjectType.
+
+        Example: RenderBox has a global pointer to a hash map.
+        HashMap doesn't have its own object type because it is a generic container.
+        It will inherit object type from the fake root memory object info.
+        The same could happen for another container in another class with other MemoryObjectType.
+
+        This fact forces me to create custom process method for root objects
+        because they need to have their own MemoryObjectInfo with customisable memory object type.
+
+        Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using
+        for instrumented and not instrumented object classes.
+
+        * inspector/MemoryInstrumentationImpl.cpp:
+        (WebCore::MemoryInstrumentationImpl::processDeferredObjects):
+        (WebCore::MemoryInstrumentationImpl::deferObject):
+        (WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
+        * inspector/MemoryInstrumentationImpl.h:
+        (MemoryInstrumentationImpl):
+
 2012-12-12  Kondapally Kalyan  <kalyan.kondapally@intel.com>
 
         [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.