Title: [188454] releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI
Revision
188454
Author
[email protected]
Date
2015-08-14 03:41:46 -0700 (Fri, 14 Aug 2015)

Log Message

Merge r188408 - Web Inspector: Skip rendering frame records without children
https://bugs.webkit.org/show_bug.cgi?id=147993

Reviewed by Reviewed by Joseph Pecoraro.

This became an issue for frames which include an IndexedDB "success" event. This caused the
payload to pass the "has children" test, but resulted in model objects with no child records.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.eventRecorded):
Fixed record type check and moved rendering frame index assignment.

* UserInterface/Models/RenderingFrameTimelineRecord.js:
(WebInspector.RenderingFrameTimelineRecord):
(WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
Frame index is now set externally, and can only be set once.

* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
Added assertion.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/ChangeLog (188453 => 188454)


--- releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/ChangeLog	2015-08-14 10:40:34 UTC (rev 188453)
+++ releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/ChangeLog	2015-08-14 10:41:46 UTC (rev 188454)
@@ -1,3 +1,26 @@
+2015-08-13  Matt Baker  <[email protected]>
+
+        Web Inspector: Skip rendering frame records without children
+        https://bugs.webkit.org/show_bug.cgi?id=147993
+
+        Reviewed by Reviewed by Joseph Pecoraro.
+
+        This became an issue for frames which include an IndexedDB "success" event. This caused the
+        payload to pass the "has children" test, but resulted in model objects with no child records.
+
+        * UserInterface/Controllers/TimelineManager.js:
+        (WebInspector.TimelineManager.prototype.eventRecorded):
+        Fixed record type check and moved rendering frame index assignment.
+
+        * UserInterface/Models/RenderingFrameTimelineRecord.js:
+        (WebInspector.RenderingFrameTimelineRecord):
+        (WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
+        Frame index is now set externally, and can only be set once.
+
+        * UserInterface/Views/RenderingFrameTimelineView.js:
+        (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
+        Added assertion.
+
 2015-08-13  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Watch Expressions

Modified: releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js (188453 => 188454)


--- releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js	2015-08-14 10:40:34 UTC (rev 188453)
+++ releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js	2015-08-14 10:41:46 UTC (rev 188454)
@@ -210,8 +210,12 @@
         }
 
         for (var record of records) {
-            if (record.type === WebInspector.RenderingFrameTimelineRecord && !record.children.length)
-                continue;
+            if (record.type === WebInspector.TimelineRecord.Type.RenderingFrame) {
+                if (!record.children.length)
+                    continue;
+                record.setupFrameIndex();
+            }
+
             this._addRecord(record);
         }
     }

Modified: releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js (188453 => 188454)


--- releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js	2015-08-14 10:40:34 UTC (rev 188453)
+++ releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js	2015-08-14 10:41:46 UTC (rev 188454)
@@ -30,7 +30,7 @@
         super(WebInspector.TimelineRecord.Type.RenderingFrame, startTime, endTime);
 
         this._durationByTaskType = new Map;
-        this._frameIndex = WebInspector.RenderingFrameTimelineRecord._nextFrameIndex++;
+        this._frameIndex = -1;
     }
 
     // Static
@@ -81,6 +81,14 @@
         return this._frameIndex + 1;
     }
 
+    setupFrameIndex()
+    {
+        console.assert(this._frameIndex === -1, "Frame index should only be set once.");
+        if (this._frameIndex >= 0)
+            return;
+        this._frameIndex = WebInspector.RenderingFrameTimelineRecord._nextFrameIndex++;
+    }
+
     durationForTask(taskType)
     {
         if (this._durationByTaskType.has(taskType))

Modified: releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js (188453 => 188454)


--- releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2015-08-14 10:40:34 UTC (rev 188453)
+++ releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2015-08-14 10:41:46 UTC (rev 188454)
@@ -306,6 +306,7 @@
     {
         var renderingFrameTimelineRecord = event.data.record;
         console.assert(renderingFrameTimelineRecord instanceof WebInspector.RenderingFrameTimelineRecord);
+        console.assert(renderingFrameTimelineRecord.children.length, "Missing child records for rendering frame.");
 
         this._pendingRecords.push(renderingFrameTimelineRecord);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to