Web Inspector: REGRESSION (r181625): Timeline recording started from console.profile...
authormattbaker@apple.com <mattbaker@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 May 2015 23:13:01 +0000 (23:13 +0000)
committermattbaker@apple.com <mattbaker@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 May 2015 23:13:01 +0000 (23:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=144882

Reviewed by Brian Burg.

A timeline recording will always be stopped before the end of the current run loop is observed. Before
dispatching the recording stopped event, the last run loop record must be completed and sent to the frontend
to prevent it from being discarded.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/inspector/InspectorTimelineAgent.cpp

index a48ef2d..9b58810 100644 (file)
@@ -1,3 +1,17 @@
+2015-05-12  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: REGRESSION (r181625): Timeline recording started from console.profile is always empty
+        https://bugs.webkit.org/show_bug.cgi?id=144882
+
+        Reviewed by Brian Burg.
+
+        A timeline recording will always be stopped before the end of the current run loop is observed. Before
+        dispatching the recording stopped event, the last run loop record must be completed and sent to the frontend
+        to prevent it from being discarded.
+
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::internalStop):
+
 2015-05-12  Zalan Bujtas  <zalan@apple.com>
 
         REGRESSION(r175617): Some text doesn't render on internationalculinarycenter.com
index 651d04b..0410393 100644 (file)
@@ -198,6 +198,10 @@ void InspectorTimelineAgent::internalStop()
 #if PLATFORM(COCOA)
     m_frameStartObserver = nullptr;
     m_frameStopObserver = nullptr;
+    if (m_didStartRecordingRunLoop) {
+        m_didStartRecordingRunLoop = false;
+        didCompleteCurrentRecord(TimelineRecordType::RenderingFrame);
+    }
 #endif
 
     clearRecordStack();