Title: [185278] trunk/Source/WebCore
Revision
185278
Author
mattba...@apple.com
Date
2015-06-05 18:06:28 -0700 (Fri, 05 Jun 2015)

Log Message

Web Inspector: "Other" time in the framerate table is often negative
https://bugs.webkit.org/show_bug.cgi?id=145712

Reviewed by Timothy Hatcher.

The Inspector frontend flattens the timeline event tree it receives from the backend, which can contain nested
paint records. The nested records represent a single paint event, but were being interpreted as two separate
events for purposes of calculating total layout time. This caused the calculated "other" time to be less than
it should be (and in some cases negative).

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
Paint records are no longer nested, we simply drop the child paint event.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (185277 => 185278)


--- trunk/Source/WebCore/ChangeLog	2015-06-06 00:33:43 UTC (rev 185277)
+++ trunk/Source/WebCore/ChangeLog	2015-06-06 01:06:28 UTC (rev 185278)
@@ -1,3 +1,19 @@
+2015-06-05  Matt Baker  <mattba...@apple.com>
+
+        Web Inspector: "Other" time in the framerate table is often negative
+        https://bugs.webkit.org/show_bug.cgi?id=145712
+
+        Reviewed by Timothy Hatcher.
+
+        The Inspector frontend flattens the timeline event tree it receives from the backend, which can contain nested
+        paint records. The nested records represent a single paint event, but were being interpreted as two separate
+        events for purposes of calculating total layout time. This caused the calculated "other" time to be less than
+        it should be (and in some cases negative).
+
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+        Paint records are no longer nested, we simply drop the child paint event.
+
 2015-06-05  Chris Dumez  <cdu...@apple.com>
 
         Unreviewed, speculative Windows build fix after r185273.

Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (185277 => 185278)


--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp	2015-06-06 00:33:43 UTC (rev 185277)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp	2015-06-06 01:06:28 UTC (rev 185278)
@@ -673,6 +673,10 @@
         sendEvent(WTF::move(recordObject));
     } else {
         const TimelineRecordEntry& parent = m_recordStack.last();
+        // Nested paint records are an implementation detail and add no information not already contained in the parent.
+        if (type == TimelineRecordType::Paint && parent.type == type)
+            return;
+
         parent.children->pushObject(WTF::move(record));
     }
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to