<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[191643] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/191643">191643</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-10-27 15:08:03 -0700 (Tue, 27 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Remove unused / duplicated XHR timeline instrumentation
https://bugs.webkit.org/show_bug.cgi?id=150605

Patch by Joseph Pecoraro &lt;pecoraro@apple.com&gt; on 2015-10-27
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/protocol/Timeline.json:

Source/WebCore:

These records are just duplicates of &quot;EventDispatch&quot; records for XHR
load and readystatechange events. Due to the nesting, the XHR records
were themselves never getting looked at, and their data (URL / readyState)
not shown in the frontend.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): Deleted.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent): Deleted.
(WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
(WebCore::toProtocol): Deleted.
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): Deleted.
(WebCore::TimelineRecordFactory::createXHRLoadData): Deleted.
* inspector/TimelineRecordFactory.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener): Deleted.

Source/WebInspectorUI:

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._processRecord):
Remove unused events and add an assert that we don't miss
any script embedders.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorprotocolTimelinejson">trunk/Source/JavaScriptCore/inspector/protocol/Timeline.json</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgentcpp">trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgenth">trunk/Source/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorTimelineRecordFactorycpp">trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorTimelineRecordFactoryh">trunk/Source/WebCore/inspector/TimelineRecordFactory.h</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersTimelineManagerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-10-27  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Remove unused / duplicated XHR timeline instrumentation
+        https://bugs.webkit.org/show_bug.cgi?id=150605
+
+        Reviewed by Timothy Hatcher.
+
+        * inspector/protocol/Timeline.json:
+
</ins><span class="cx"> 2015-10-27  Michael Saboff  &lt;msaboff@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION (r191360): Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::FTL:: + 386
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorprotocolTimelinejson"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/protocol/Timeline.json (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/protocol/Timeline.json        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/JavaScriptCore/inspector/protocol/Timeline.json        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -25,8 +25,6 @@
</span><span class="cx">                 &quot;TimeStamp&quot;,
</span><span class="cx">                 &quot;Time&quot;,
</span><span class="cx">                 &quot;TimeEnd&quot;,
</span><del>-                &quot;XHRReadyStateChange&quot;,
-                &quot;XHRLoad&quot;,
</del><span class="cx">                 &quot;FunctionCall&quot;,
</span><span class="cx">                 &quot;ProbeSample&quot;,
</span><span class="cx">                 &quot;ConsoleProfile&quot;,
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/ChangeLog        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -1,5 +1,41 @@
</span><span class="cx"> 2015-10-27  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Web Inspector: Remove unused / duplicated XHR timeline instrumentation
+        https://bugs.webkit.org/show_bug.cgi?id=150605
+
+        Reviewed by Timothy Hatcher.
+
+        These records are just duplicates of &quot;EventDispatch&quot; records for XHR
+        load and readystatechange events. Due to the nesting, the XHR records
+        were themselves never getting looked at, and their data (URL / readyState)
+        not shown in the frontend.
+
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): Deleted.
+        (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl): Deleted.
+        (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): Deleted.
+        (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl): Deleted.
+        * inspector/InspectorInstrumentation.h:
+        (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): Deleted.
+        (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): Deleted.
+        (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): Deleted.
+        (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): Deleted.
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent): Deleted.
+        (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent): Deleted.
+        (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent): Deleted.
+        (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
+        (WebCore::toProtocol): Deleted.
+        * inspector/InspectorTimelineAgent.h:
+        * inspector/TimelineRecordFactory.cpp:
+        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): Deleted.
+        (WebCore::TimelineRecordFactory::createXHRLoadData): Deleted.
+        * inspector/TimelineRecordFactory.h:
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::callReadyStateChangeListener): Deleted.
+
+2015-10-27  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
</ins><span class="cx">         Web Inspector: Do not send RenderingFrame TimelineRecords that have no children
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=150600
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -345,23 +345,6 @@
</span><span class="cx">         timelineAgent-&gt;didCallFunction(frameForScriptExecutionContext(context));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorInstrumentationCookie InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl(InstrumentingAgents&amp; instrumentingAgents, XMLHttpRequest&amp; request, ScriptExecutionContext* context)
-{
-    int timelineAgentId = 0;
-    InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent();
-    if (timelineAgent &amp;&amp; request.hasEventListeners(eventNames().readystatechangeEvent)) {
-        timelineAgent-&gt;willDispatchXHRReadyStateChangeEvent(request.url().string(), request.readyState(), frameForScriptExecutionContext(context));
-        timelineAgentId = timelineAgent-&gt;id();
-    }
-    return InspectorInstrumentationCookie(instrumentingAgents, timelineAgentId);
-}
-
-void InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl(const InspectorInstrumentationCookie&amp; cookie)
-{
-    if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(cookie))
-        timelineAgent-&gt;didDispatchXHRReadyStateChangeEvent();
-}
-
</del><span class="cx"> InspectorInstrumentationCookie InspectorInstrumentation::willDispatchEventImpl(InstrumentingAgents&amp; instrumentingAgents, Document&amp; document, const Event&amp; event, bool hasEventListeners)
</span><span class="cx"> {
</span><span class="cx">     int timelineAgentId = 0;
</span><span class="lines">@@ -484,23 +467,6 @@
</span><span class="cx">         pageAgent-&gt;didLayout();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorInstrumentationCookie InspectorInstrumentation::willDispatchXHRLoadEventImpl(InstrumentingAgents&amp; instrumentingAgents, XMLHttpRequest&amp; request, ScriptExecutionContext* context)
-{
-    int timelineAgentId = 0;
-    InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent();
-    if (timelineAgent &amp;&amp; request.hasEventListeners(eventNames().loadEvent)) {
-        timelineAgent-&gt;willDispatchXHRLoadEvent(request.url(), frameForScriptExecutionContext(context));
-        timelineAgentId = timelineAgent-&gt;id();
-    }
-    return InspectorInstrumentationCookie(instrumentingAgents, timelineAgentId);
-}
-
-void InspectorInstrumentation::didDispatchXHRLoadEventImpl(const InspectorInstrumentationCookie&amp; cookie)
-{
-    if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(cookie))
-        timelineAgent-&gt;didDispatchXHRLoadEvent();
-}
-
</del><span class="cx"> void InspectorInstrumentation::willCompositeImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -146,8 +146,6 @@
</span><span class="cx"> 
</span><span class="cx">     static InspectorInstrumentationCookie willCallFunction(ScriptExecutionContext*, const String&amp; scriptName, int scriptLine);
</span><span class="cx">     static void didCallFunction(const InspectorInstrumentationCookie&amp;, ScriptExecutionContext*);
</span><del>-    static InspectorInstrumentationCookie willDispatchXHRReadyStateChangeEvent(ScriptExecutionContext*, XMLHttpRequest&amp;);
-    static void didDispatchXHRReadyStateChangeEvent(const InspectorInstrumentationCookie&amp;);
</del><span class="cx">     static InspectorInstrumentationCookie willDispatchEvent(Document&amp;, const Event&amp;, bool hasEventListeners);
</span><span class="cx">     static void didDispatchEvent(const InspectorInstrumentationCookie&amp;);
</span><span class="cx">     static InspectorInstrumentationCookie willHandleEvent(ScriptExecutionContext*, const Event&amp;);
</span><span class="lines">@@ -163,8 +161,6 @@
</span><span class="cx">     static InspectorInstrumentationCookie willLayout(Frame&amp;);
</span><span class="cx">     static void didLayout(const InspectorInstrumentationCookie&amp;, RenderObject*);
</span><span class="cx">     static void didScroll(Page&amp;);
</span><del>-    static InspectorInstrumentationCookie willDispatchXHRLoadEvent(ScriptExecutionContext*, XMLHttpRequest&amp;);
-    static void didDispatchXHRLoadEvent(const InspectorInstrumentationCookie&amp;);
</del><span class="cx">     static void willComposite(Frame&amp;);
</span><span class="cx">     static void didComposite(Frame&amp;);
</span><span class="cx">     static void willPaint(RenderObject*);
</span><span class="lines">@@ -327,8 +323,6 @@
</span><span class="cx"> 
</span><span class="cx">     static InspectorInstrumentationCookie willCallFunctionImpl(InstrumentingAgents&amp;, const String&amp; scriptName, int scriptLine, ScriptExecutionContext*);
</span><span class="cx">     static void didCallFunctionImpl(const InspectorInstrumentationCookie&amp;, ScriptExecutionContext*);
</span><del>-    static InspectorInstrumentationCookie willDispatchXHRReadyStateChangeEventImpl(InstrumentingAgents&amp;, XMLHttpRequest&amp;, ScriptExecutionContext*);
-    static void didDispatchXHRReadyStateChangeEventImpl(const InspectorInstrumentationCookie&amp;);
</del><span class="cx">     static InspectorInstrumentationCookie willDispatchEventImpl(InstrumentingAgents&amp;, Document&amp;, const Event&amp;, bool hasEventListeners);
</span><span class="cx">     static InspectorInstrumentationCookie willHandleEventImpl(InstrumentingAgents&amp;, const Event&amp;);
</span><span class="cx">     static void didHandleEventImpl(const InspectorInstrumentationCookie&amp;);
</span><span class="lines">@@ -344,8 +338,6 @@
</span><span class="cx">     static InspectorInstrumentationCookie willLayoutImpl(InstrumentingAgents&amp;, Frame&amp;);
</span><span class="cx">     static void didLayoutImpl(const InspectorInstrumentationCookie&amp;, RenderObject*);
</span><span class="cx">     static void didScrollImpl(InstrumentingAgents&amp;);
</span><del>-    static InspectorInstrumentationCookie willDispatchXHRLoadEventImpl(InstrumentingAgents&amp;, XMLHttpRequest&amp;, ScriptExecutionContext*);
-    static void didDispatchXHRLoadEventImpl(const InspectorInstrumentationCookie&amp;);
</del><span class="cx">     static void willCompositeImpl(InstrumentingAgents&amp;, Frame&amp;);
</span><span class="cx">     static void didCompositeImpl(InstrumentingAgents&amp;);
</span><span class="cx">     static void willPaintImpl(InstrumentingAgents&amp;, RenderObject*);
</span><span class="lines">@@ -705,21 +697,6 @@
</span><span class="cx">         didCallFunctionImpl(cookie, context);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline InspectorInstrumentationCookie InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent(ScriptExecutionContext* context, XMLHttpRequest&amp; request)
-{
-    FAST_RETURN_IF_NO_FRONTENDS(InspectorInstrumentationCookie());
-    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))
-        return willDispatchXHRReadyStateChangeEventImpl(*instrumentingAgents, request, context);
-    return InspectorInstrumentationCookie();
-}
-
-inline void InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent(const InspectorInstrumentationCookie&amp; cookie)
-{
-    FAST_RETURN_IF_NO_FRONTENDS(void());
-    if (cookie.isValid())
-        didDispatchXHRReadyStateChangeEventImpl(cookie);
-}
-
</del><span class="cx"> inline InspectorInstrumentationCookie InspectorInstrumentation::willDispatchEvent(Document&amp; document, const Event&amp; event, bool hasEventListeners)
</span><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(InspectorInstrumentationCookie());
</span><span class="lines">@@ -829,21 +806,6 @@
</span><span class="cx">     didScrollImpl(instrumentingAgentsForPage(page));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline InspectorInstrumentationCookie InspectorInstrumentation::willDispatchXHRLoadEvent(ScriptExecutionContext* context, XMLHttpRequest&amp; request)
-{
-    FAST_RETURN_IF_NO_FRONTENDS(InspectorInstrumentationCookie());
-    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))
-        return willDispatchXHRLoadEventImpl(*instrumentingAgents, request, context);
-    return InspectorInstrumentationCookie();
-}
-
-inline void InspectorInstrumentation::didDispatchXHRLoadEvent(const InspectorInstrumentationCookie&amp; cookie)
-{
-    FAST_RETURN_IF_NO_FRONTENDS(void());
-    if (cookie.isValid())
-        didDispatchXHRLoadEventImpl(cookie);
-}
-
</del><span class="cx"> inline void InspectorInstrumentation::willComposite(Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -449,26 +449,6 @@
</span><span class="cx">     didCompleteCurrentRecord(TimelineRecordType::TimerFire);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent(const String&amp; url, int readyState, Frame* frame)
-{
-    pushCurrentRecord(TimelineRecordFactory::createXHRReadyStateChangeData(url, readyState), TimelineRecordType::XHRReadyStateChange, false, frame);
-}
-
-void InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent()
-{
-    didCompleteCurrentRecord(TimelineRecordType::XHRReadyStateChange);
-}
-
-void InspectorTimelineAgent::willDispatchXHRLoadEvent(const String&amp; url, Frame* frame)
-{
-    pushCurrentRecord(TimelineRecordFactory::createXHRLoadData(url), TimelineRecordType::XHRLoad, true, frame);
-}
-
-void InspectorTimelineAgent::didDispatchXHRLoadEvent()
-{
-    didCompleteCurrentRecord(TimelineRecordType::XHRLoad);
-}
-
</del><span class="cx"> void InspectorTimelineAgent::willEvaluateScript(const String&amp; url, int lineNumber, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     pushCurrentRecord(TimelineRecordFactory::createEvaluateScriptData(url, lineNumber), TimelineRecordType::EvaluateScript, true, &amp;frame);
</span><span class="lines">@@ -628,11 +608,6 @@
</span><span class="cx">     case TimelineRecordType::TimeEnd:
</span><span class="cx">         return Inspector::Protocol::Timeline::EventType::TimeEnd;
</span><span class="cx"> 
</span><del>-    case TimelineRecordType::XHRReadyStateChange:
-        return Inspector::Protocol::Timeline::EventType::XHRReadyStateChange;
-    case TimelineRecordType::XHRLoad:
-        return Inspector::Protocol::Timeline::EventType::XHRLoad;
-
</del><span class="cx">     case TimelineRecordType::FunctionCall:
</span><span class="cx">         return Inspector::Protocol::Timeline::EventType::FunctionCall;
</span><span class="cx">     case TimelineRecordType::ProbeSample:
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -89,9 +89,6 @@
</span><span class="cx">     Time,
</span><span class="cx">     TimeEnd,
</span><span class="cx"> 
</span><del>-    XHRReadyStateChange,
-    XHRLoad,
-
</del><span class="cx">     FunctionCall,
</span><span class="cx">     ProbeSample,
</span><span class="cx">     ConsoleProfile,
</span><span class="lines">@@ -141,8 +138,6 @@
</span><span class="cx">     void didFireTimer();
</span><span class="cx">     void willCallFunction(const String&amp; scriptName, int scriptLine, Frame*);
</span><span class="cx">     void didCallFunction(Frame*);
</span><del>-    void willDispatchXHRReadyStateChangeEvent(const String&amp;, int, Frame*);
-    void didDispatchXHRReadyStateChangeEvent();
</del><span class="cx">     void willDispatchEvent(const Event&amp;, Frame*);
</span><span class="cx">     void didDispatchEvent();
</span><span class="cx">     void willEvaluateScript(const String&amp;, int, Frame&amp;);
</span><span class="lines">@@ -150,8 +145,6 @@
</span><span class="cx">     void didInvalidateLayout(Frame&amp;);
</span><span class="cx">     void willLayout(Frame&amp;);
</span><span class="cx">     void didLayout(RenderObject*);
</span><del>-    void willDispatchXHRLoadEvent(const String&amp;, Frame*);
-    void didDispatchXHRLoadEvent();
</del><span class="cx">     void willComposite(Frame&amp;);
</span><span class="cx">     void didComposite();
</span><span class="cx">     void willPaint(Frame&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorTimelineRecordFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -116,21 +116,6 @@
</span><span class="cx">     return WTF::move(data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRReadyStateChangeData(const String&amp; url, int readyState)
-{
-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
-    data-&gt;setString(&quot;url&quot;, url);
-    data-&gt;setInteger(&quot;readyState&quot;, readyState);
-    return WTF::move(data);
-}
-
-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRLoadData(const String&amp; url)
-{
-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
-    data-&gt;setString(&quot;url&quot;, url);
-    return WTF::move(data);
-}
-
</del><span class="cx"> Ref&lt;InspectorObject&gt; TimelineRecordFactory::createEvaluateScriptData(const String&amp; url, double lineNumber)
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorTimelineRecordFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.h (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -69,10 +69,6 @@
</span><span class="cx"> 
</span><span class="cx">         static Ref&lt;Inspector::InspectorObject&gt; createTimerInstallData(int timerId, int timeout, bool singleShot);
</span><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createXHRReadyStateChangeData(const String&amp; url, int readyState);
-
-        static Ref&lt;Inspector::InspectorObject&gt; createXHRLoadData(const String&amp; url);
-
</del><span class="cx">         static Ref&lt;Inspector::InspectorObject&gt; createEvaluateScriptData(const String&amp;, double lineNumber);
</span><span class="cx"> 
</span><span class="cx">         static Ref&lt;Inspector::InspectorObject&gt; createTimeStampData(const String&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -373,16 +373,11 @@
</span><span class="cx">     if (!scriptExecutionContext())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    InspectorInstrumentationCookie cookie = InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent(scriptExecutionContext(), *this);
-
</del><span class="cx">     if (m_async || (m_state &lt;= OPENED || m_state == DONE))
</span><span class="cx">         m_progressEventThrottle.dispatchReadyStateChangeEvent(Event::create(eventNames().readystatechangeEvent, false, false), m_state == DONE ? FlushProgressEvent : DoNotFlushProgressEvent);
</span><span class="cx"> 
</span><del>-    InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent(cookie);
</del><span class="cx">     if (m_state == DONE &amp;&amp; !m_error) {
</span><del>-        InspectorInstrumentationCookie cookie = InspectorInstrumentation::willDispatchXHRLoadEvent(scriptExecutionContext(), *this);
</del><span class="cx">         m_progressEventThrottle.dispatchProgressEvent(eventNames().loadEvent);
</span><del>-        InspectorInstrumentation::didDispatchXHRLoadEvent(cookie);
</del><span class="cx">         m_progressEventThrottle.dispatchProgressEvent(eventNames().loadendEvent);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2015-10-27  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Remove unused / duplicated XHR timeline instrumentation
+        https://bugs.webkit.org/show_bug.cgi?id=150605
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Controllers/TimelineManager.js:
+        (WebInspector.TimelineManager.prototype._processRecord):
+        Remove unused events and add an assert that we don't miss
+        any script embedders.
+
</ins><span class="cx"> 2015-10-27  Matt Baker  &lt;mattbaker@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersTimelineManagerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js (191642 => 191643)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js        2015-10-27 21:47:13 UTC (rev 191642)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js        2015-10-27 22:08:03 UTC (rev 191643)
</span><span class="lines">@@ -343,12 +343,10 @@
</span><span class="cx">                 return new WebInspector.ScriptTimelineRecord(WebInspector.ScriptTimelineRecord.EventType.TimerFired, startTime, endTime, callFrames, sourceCodeLocation, parentRecordPayload.data.timerId, profileData);
</span><span class="cx">             case TimelineAgent.EventType.EventDispatch:
</span><span class="cx">                 return new WebInspector.ScriptTimelineRecord(WebInspector.ScriptTimelineRecord.EventType.EventDispatched, startTime, endTime, callFrames, sourceCodeLocation, parentRecordPayload.data.type, profileData);
</span><del>-            case TimelineAgent.EventType.XHRLoad:
-                return new WebInspector.ScriptTimelineRecord(WebInspector.ScriptTimelineRecord.EventType.EventDispatched, startTime, endTime, callFrames, sourceCodeLocation, &quot;load&quot;, profileData);
-            case TimelineAgent.EventType.XHRReadyStateChange:
-                return new WebInspector.ScriptTimelineRecord(WebInspector.ScriptTimelineRecord.EventType.EventDispatched, startTime, endTime, callFrames, sourceCodeLocation, &quot;readystatechange&quot;, profileData);
</del><span class="cx">             case TimelineAgent.EventType.FireAnimationFrame:
</span><span class="cx">                 return new WebInspector.ScriptTimelineRecord(WebInspector.ScriptTimelineRecord.EventType.AnimationFrameFired, startTime, endTime, callFrames, sourceCodeLocation, parentRecordPayload.data.id, profileData);
</span><ins>+            default:
+                console.assert(false, &quot;Missed FunctionCall embedded inside of: &quot; + parentRecordPayload.type);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             break;
</span></span></pre>
</div>
</div>

</body>
</html>