Title: [191651] trunk/Source
Revision
191651
Author
commit-qu...@webkit.org
Date
2015-10-27 19:44:54 -0700 (Tue, 27 Oct 2015)

Log Message

Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
https://bugs.webkit.org/show_bug.cgi?id=150615

Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-10-27
Reviewed by Timothy Hatcher.

Source/_javascript_Core:

* inspector/protocol/Timeline.json:

Source/WebCore:

The timestamp only event data is already available from `Page.domContentEventFired`
and `Page.loadEventFired` events. We can drop the Timeline specific events in
favor of these which have existed for a very long time (before iOS 7).

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::loadEventFiredImpl):
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Deleted.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): Deleted.
(WebCore::InspectorTimelineAgent::didMarkLoadEvent): Deleted.
(WebCore::toProtocol): Deleted.
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createMarkData): Deleted.
* inspector/TimelineRecordFactory.h:

Source/WebInspectorUI:

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._processEvent):
Remove the now unneed mark event handling.

(WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
(WebInspector.TimelineManager.prototype.pageLoadEventFired):
Update the main frame and create markers for the current recording.

* UserInterface/Protocol/PageObserver.js:
(WebInspector.PageObserver.prototype.domContentEventFired):
(WebInspector.PageObserver.prototype.loadEventFired):
Forward to TimelineManager.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (191650 => 191651)


--- trunk/Source/_javascript_Core/ChangeLog	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-10-28 02:44:54 UTC (rev 191651)
@@ -1,5 +1,14 @@
 2015-10-27  Joseph Pecoraro  <pecor...@apple.com>
 
+        Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
+        https://bugs.webkit.org/show_bug.cgi?id=150615
+
+        Reviewed by Timothy Hatcher.
+
+        * inspector/protocol/Timeline.json:
+
+2015-10-27  Joseph Pecoraro  <pecor...@apple.com>
+
         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
         https://bugs.webkit.org/show_bug.cgi?id=150605
 

Modified: trunk/Source/_javascript_Core/inspector/protocol/Timeline.json (191650 => 191651)


--- trunk/Source/_javascript_Core/inspector/protocol/Timeline.json	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/_javascript_Core/inspector/protocol/Timeline.json	2015-10-28 02:44:54 UTC (rev 191651)
@@ -20,8 +20,6 @@
                 "TimerRemove",
                 "TimerFire",
                 "EvaluateScript",
-                "MarkLoad",
-                "MarkDOMContent",
                 "TimeStamp",
                 "Time",
                 "TimeEnd",

Modified: trunk/Source/WebCore/ChangeLog (191650 => 191651)


--- trunk/Source/WebCore/ChangeLog	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/ChangeLog	2015-10-28 02:44:54 UTC (rev 191651)
@@ -1,3 +1,26 @@
+2015-10-27  Joseph Pecoraro  <pecor...@apple.com>
+
+        Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
+        https://bugs.webkit.org/show_bug.cgi?id=150615
+
+        Reviewed by Timothy Hatcher.
+
+        The timestamp only event data is already available from `Page.domContentEventFired`
+        and `Page.loadEventFired` events. We can drop the Timeline specific events in
+        favor of these which have existed for a very long time (before iOS 7).
+
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
+        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Deleted.
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): Deleted.
+        (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Deleted.
+        (WebCore::toProtocol): Deleted.
+        * inspector/InspectorTimelineAgent.h:
+        * inspector/TimelineRecordFactory.cpp:
+        (WebCore::TimelineRecordFactory::createMarkData): Deleted.
+        * inspector/TimelineRecordFactory.h:
+
 2015-10-27  Jiewen Tan  <jiewen_...@apple.com>
 
         Null dereference loading Blink layout test editing/execCommand/format-block-uneditable-crash.html

Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (191650 => 191651)


--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp	2015-10-28 02:44:54 UTC (rev 191651)
@@ -684,9 +684,6 @@
 
 void InspectorInstrumentation::domContentLoadedEventFiredImpl(InstrumentingAgents& instrumentingAgents, Frame& frame)
 {
-    if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
-        timelineAgent->didMarkDOMContentEvent(frame);
-
     if (!frame.isMainFrame())
         return;
 
@@ -699,15 +696,9 @@
 
 void InspectorInstrumentation::loadEventFiredImpl(InstrumentingAgents& instrumentingAgents, Frame* frame)
 {
-    if (!frame)
+    if (!frame || !frame->isMainFrame())
         return;
 
-    if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
-        timelineAgent->didMarkLoadEvent(*frame);
-
-    if (!frame->isMainFrame())
-        return;
-
     if (InspectorPageAgent* pageAgent = instrumentingAgents.inspectorPageAgent())
         pageAgent->loadEventFired();
 }

Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (191650 => 191651)


--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp	2015-10-28 02:44:54 UTC (rev 191651)
@@ -496,16 +496,6 @@
     appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::TimeEnd, true, &frame);
 }
 
-void InspectorTimelineAgent::didMarkDOMContentEvent(Frame& frame)
-{
-    appendRecord(TimelineRecordFactory::createMarkData(frame.isMainFrame()), TimelineRecordType::MarkDOMContent, false, &frame);
-}
-
-void InspectorTimelineAgent::didMarkLoadEvent(Frame& frame)
-{
-    appendRecord(TimelineRecordFactory::createMarkData(frame.isMainFrame()), TimelineRecordType::MarkLoad, false, &frame);
-}
-
 void InspectorTimelineAgent::didCommitLoad()
 {
     clearRecordStack();
@@ -596,11 +586,6 @@
     case TimelineRecordType::EvaluateScript:
         return Inspector::Protocol::Timeline::EventType::EvaluateScript;
 
-    case TimelineRecordType::MarkLoad:
-        return Inspector::Protocol::Timeline::EventType::MarkLoad;
-    case TimelineRecordType::MarkDOMContent:
-        return Inspector::Protocol::Timeline::EventType::MarkDOMContent;
-
     case TimelineRecordType::TimeStamp:
         return Inspector::Protocol::Timeline::EventType::TimeStamp;
     case TimelineRecordType::Time:

Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (191650 => 191651)


--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h	2015-10-28 02:44:54 UTC (rev 191651)
@@ -82,9 +82,6 @@
 
     EvaluateScript,
 
-    MarkLoad,
-    MarkDOMContent,
-
     TimeStamp,
     Time,
     TimeEnd,
@@ -155,8 +152,6 @@
     void willWriteHTML(unsigned startLine, Frame*);
     void didWriteHTML(unsigned endLine);
     void didTimeStamp(Frame&, const String&);
-    void didMarkDOMContentEvent(Frame&);
-    void didMarkLoadEvent(Frame&);
     void didRequestAnimationFrame(int callbackId, Frame*);
     void didCancelAnimationFrame(int callbackId, Frame*);
     void willFireAnimationFrame(int callbackId, Frame*);

Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp (191650 => 191651)


--- trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp	2015-10-28 02:44:54 UTC (rev 191651)
@@ -140,13 +140,6 @@
     return WTF::move(data);
 }
 
-Ref<InspectorObject> TimelineRecordFactory::createMarkData(bool isMainFrame)
-{
-    Ref<InspectorObject> data = ""
-    data->setBoolean("isMainFrame", isMainFrame);
-    return WTF::move(data);
-}
-
 Ref<InspectorObject> TimelineRecordFactory::createParseHTMLData(unsigned startLine)
 {
     Ref<InspectorObject> data = ""

Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.h (191650 => 191651)


--- trunk/Source/WebCore/inspector/TimelineRecordFactory.h	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.h	2015-10-28 02:44:54 UTC (rev 191651)
@@ -75,8 +75,6 @@
 
         static Ref<Inspector::InspectorObject> createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout);
 
-        static Ref<Inspector::InspectorObject> createMarkData(bool isMainFrame);
-
         static Ref<Inspector::InspectorObject> createParseHTMLData(unsigned startLine);
 
         static Ref<Inspector::InspectorObject> createAnimationFrameData(int callbackId);

Modified: trunk/Source/WebInspectorUI/ChangeLog (191650 => 191651)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-10-28 02:44:54 UTC (rev 191651)
@@ -1,5 +1,25 @@
 2015-10-27  Joseph Pecoraro  <pecor...@apple.com>
 
+        Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
+        https://bugs.webkit.org/show_bug.cgi?id=150615
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Controllers/TimelineManager.js:
+        (WebInspector.TimelineManager.prototype._processEvent):
+        Remove the now unneed mark event handling.
+
+        (WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
+        (WebInspector.TimelineManager.prototype.pageLoadEventFired):
+        Update the main frame and create markers for the current recording.
+
+        * UserInterface/Protocol/PageObserver.js:
+        (WebInspector.PageObserver.prototype.domContentEventFired):
+        (WebInspector.PageObserver.prototype.loadEventFired):
+        Forward to TimelineManager.
+
+2015-10-27  Joseph Pecoraro  <pecor...@apple.com>
+
         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
         https://bugs.webkit.org/show_bug.cgi?id=150605
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js (191650 => 191651)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js	2015-10-28 02:44:54 UTC (rev 191651)
@@ -227,14 +227,38 @@
 
     // Protected
 
-    pageDidLoad(timestamp)
+    pageDOMContentLoadedEventFired(timestamp)
     {
         // Called from WebInspector.PageObserver.
 
-        if (isNaN(WebInspector.frameResourceManager.mainFrame.loadEventTimestamp))
-            WebInspector.frameResourceManager.mainFrame.markLoadEvent(this.activeRecording.computeElapsedTime(timestamp));
+        console.assert(this._activeRecording);
+        console.assert(isNaN(WebInspector.frameResourceManager.mainFrame.domContentReadyEventTimestamp));
+
+        let computedTimestamp = this.activeRecording.computeElapsedTime(timestamp);
+
+        WebInspector.frameResourceManager.mainFrame.markDOMContentReadyEvent(computedTimestamp);
+
+        let eventMarker = new WebInspector.TimelineMarker(computedTimestamp, WebInspector.TimelineMarker.Type.DOMContentEvent);
+        this._activeRecording.addEventMarker(eventMarker);
     }
 
+    pageLoadEventFired(timestamp)
+    {
+        // Called from WebInspector.PageObserver.
+
+        console.assert(this._activeRecording);
+        console.assert(isNaN(WebInspector.frameResourceManager.mainFrame.loadEventTimestamp));
+
+        let computedTimestamp = this.activeRecording.computeElapsedTime(timestamp);
+
+        WebInspector.frameResourceManager.mainFrame.markLoadEvent(computedTimestamp);
+
+        let eventMarker = new WebInspector.TimelineMarker(computedTimestamp, WebInspector.TimelineMarker.Type.LoadEvent);
+        this._activeRecording.addEventMarker(eventMarker);
+
+        this._stopAutoRecordingSoon();
+    }
+
     // Private
 
     _processRecord(recordPayload, parentRecordPayload)
@@ -386,48 +410,10 @@
 
     _processEvent(recordPayload, parentRecordPayload)
     {
-        var startTime = this.activeRecording.computeElapsedTime(recordPayload.startTime);
-        var endTime = this.activeRecording.computeElapsedTime(recordPayload.endTime);
-
         switch (recordPayload.type) {
-        case TimelineAgent.EventType.MarkLoad:
-            console.assert(isNaN(endTime));
-
-            var frame = WebInspector.frameResourceManager.frameForIdentifier(recordPayload.frameId);
-            console.assert(frame);
-            if (!frame)
-                break;
-
-            frame.markLoadEvent(startTime);
-
-            if (!frame.isMainFrame())
-                break;
-
-            var eventMarker = new WebInspector.TimelineMarker(startTime, WebInspector.TimelineMarker.Type.LoadEvent);
-            this._activeRecording.addEventMarker(eventMarker);
-
-            this._stopAutoRecordingSoon();
-            break;
-
-        case TimelineAgent.EventType.MarkDOMContent:
-            console.assert(isNaN(endTime));
-
-            var frame = WebInspector.frameResourceManager.frameForIdentifier(recordPayload.frameId);
-            console.assert(frame);
-            if (!frame)
-                break;
-
-            frame.markDOMContentReadyEvent(startTime);
-
-            if (!frame.isMainFrame())
-                break;
-
-            var eventMarker = new WebInspector.TimelineMarker(startTime, WebInspector.TimelineMarker.Type.DOMContentEvent);
-            this._activeRecording.addEventMarker(eventMarker);
-            break;
-
         case TimelineAgent.EventType.TimeStamp:
-            var eventMarker = new WebInspector.TimelineMarker(startTime, WebInspector.TimelineMarker.Type.TimeStamp);
+            var timestamp = this.activeRecording.computeElapsedTime(recordPayload.startTime);
+            var eventMarker = new WebInspector.TimelineMarker(timestamp, WebInspector.TimelineMarker.Type.TimeStamp);
             this._activeRecording.addEventMarker(eventMarker);
             break;
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/PageObserver.js (191650 => 191651)


--- trunk/Source/WebInspectorUI/UserInterface/Protocol/PageObserver.js	2015-10-28 00:48:40 UTC (rev 191650)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/PageObserver.js	2015-10-28 02:44:54 UTC (rev 191651)
@@ -29,12 +29,12 @@
 
     domContentEventFired(timestamp)
     {
-        // Covered by Timeline "MarkDOMContent" record.
+        WebInspector.timelineManager.pageDOMContentLoadedEventFired(timestamp);
     }
 
     loadEventFired(timestamp)
     {
-        WebInspector.timelineManager.pageDidLoad(timestamp);
+        WebInspector.timelineManager.pageLoadEventFired(timestamp);
     }
 
     frameNavigated(frame, loaderId)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to