Title: [114652] trunk/Source/WebCore
Revision
114652
Author
[email protected]
Date
2012-04-19 11:11:31 -0700 (Thu, 19 Apr 2012)

Log Message

Web Inspector: nodes are not removed from the summary view when switching between allocation ranges
https://bugs.webkit.org/show_bug.cgi?id=84354

Clear all top level nodes not only those visible in the viewport when populating
the constructors view with new content.

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.topLevelNodes):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
(WebInspector.HeapSnapshotViewportDataGrid.prototype.topLevelNodes):
(WebInspector.HeapSnapshotViewportDataGrid.prototype.removeTopLevelNodes):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (114651 => 114652)


--- trunk/Source/WebCore/ChangeLog	2012-04-19 18:03:46 UTC (rev 114651)
+++ trunk/Source/WebCore/ChangeLog	2012-04-19 18:11:31 UTC (rev 114652)
@@ -1,3 +1,22 @@
+2012-04-19  Yury Semikhatsky  <[email protected]>
+
+        Web Inspector: nodes are not removed from the summary view when switching between allocation ranges
+        https://bugs.webkit.org/show_bug.cgi?id=84354
+
+        Clear all top level nodes not only those visible in the viewport when populating
+        the constructors view with new content.
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/HeapSnapshotDataGrids.js:
+        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
+        (WebInspector.HeapSnapshotSortableDataGrid.prototype.topLevelNodes):
+        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
+        (WebInspector.HeapSnapshotViewportDataGrid.prototype.topLevelNodes):
+        (WebInspector.HeapSnapshotViewportDataGrid.prototype.removeTopLevelNodes):
+        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
+        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
+
 2012-04-19  Sami Kyostila  <[email protected]>
 
         [chromium] Allow scrolling non-root layers in the compositor thread

Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotDataGrids.js (114651 => 114652)


--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotDataGrids.js	2012-04-19 18:03:46 UTC (rev 114651)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotDataGrids.js	2012-04-19 18:11:31 UTC (rev 114652)
@@ -41,8 +41,9 @@
 WebInspector.HeapSnapshotSortableDataGrid.prototype = {
     dispose: function()
     {
-        for (var i = 0, l = this.rootNode().children.length; i < l; ++i)
-            this.rootNode().children[i].dispose();
+        var children = this.topLevelNodes();
+        for (var i = 0, l = children.length; i < l; ++i)
+            children[i].dispose();
     },
 
     resetSortingCache: function()
@@ -51,7 +52,7 @@
         delete this._lastSortAscending;
     },
 
-    nodesForNameFilter: function()
+    topLevelNodes: function()
     {
         return this.rootNode().children;
     },
@@ -59,7 +60,7 @@
     changeNameFilter: function(filter)
     {
         filter = filter.toLowerCase();
-        var children = this.nodesForNameFilter();
+        var children = this.topLevelNodes();
         for (var i = 0, l = children.length; i < l; ++i) {
             var node = children[i];
             if (node.depth === 0)
@@ -160,7 +161,7 @@
 }
 
 WebInspector.HeapSnapshotViewportDataGrid.prototype = {
-    nodesForNameFilter: function()
+    topLevelNodes: function()
     {
         return this._topLevelNodes;
     },
@@ -218,6 +219,12 @@
         this._topLevelNodes.push(node);
     },
 
+    removeTopLevelNodes: function()
+    {
+        this.rootNode().removeChildren();
+        this._topLevelNodes = [];
+    },
+
     _addPaddingRows: function(top, bottom)
     {
         if (this._topPadding.element.parentNode !== this.dataTableBody)
@@ -429,7 +436,7 @@
         }
 
         this.dispose();
-        this.rootNode().removeChildren();
+        this.removeTopLevelNodes();
         this.resetSortingCache();
 
         var key = this._profileIndex === -1 ? "allObjects" : this._minNodeId + ".." + this._maxNodeId;
@@ -506,7 +513,7 @@
     {
         this.baseSnapshot = baseSnapshot;
         this.dispose();
-        this.rootNode().removeChildren();
+        this.removeTopLevelNodes();
         this.resetSortingCache();
         if (this.baseSnapshot === this.snapshot) {
             this.dispatchEventToListeners("sorting complete");
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to