<!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>[50515] trunk/WebCore</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/50515">50515</a></dd>
<dt>Author</dt> <dd>eric@webkit.org</dd>
<dt>Date</dt> <dd>2009-11-04 09:17:14 -0800 (Wed, 04 Nov 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre>2009-11-04  Kelly Norton  &lt;knorton@google.com&gt;

        Reviewed by Pavel Feldman.

        Adds lightweight network resources to InspectorTimelineAgent.
        https://bugs.webkit.org/show_bug.cgi?id=31065

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
        (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
        * inspector/TimelineRecordFactory.h:
        * inspector/front-end/TimelineAgent.js:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebCoreChangeLog">trunk/WebCore/ChangeLog</a></li>
<li><a href="#trunkWebCoreinspectorInspectorControllercpp">trunk/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorTimelineAgentcpp">trunk/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkWebCoreinspectorInspectorTimelineAgenth">trunk/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkWebCoreinspectorTimelineRecordFactorycpp">trunk/WebCore/inspector/TimelineRecordFactory.cpp</a></li>
<li><a href="#trunkWebCoreinspectorTimelineRecordFactoryh">trunk/WebCore/inspector/TimelineRecordFactory.h</a></li>
<li><a href="#trunkWebCoreinspectorfrontendTimelineAgentjs">trunk/WebCore/inspector/front-end/TimelineAgent.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/ChangeLog (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/ChangeLog        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2009-11-04  Kelly Norton  &lt;knorton@google.com&gt;
+
+        Reviewed by Pavel Feldman.
+
+        Adds lightweight network resources to InspectorTimelineAgent.
+        https://bugs.webkit.org/show_bug.cgi?id=31065
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::willSendRequest):
+        (WebCore::InspectorController::didReceiveResponse):
+        (WebCore::InspectorController::didFinishLoading):
+        (WebCore::InspectorController::didFailLoading):
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
+        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
+        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
+        * inspector/InspectorTimelineAgent.h:
+        (WebCore::):
+        * inspector/TimelineRecordFactory.cpp:
+        (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
+        (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
+        (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
+        * inspector/TimelineRecordFactory.h:
+        * inspector/front-end/TimelineAgent.js:
+
</ins><span class="cx"> 2009-11-04  Yael Aharon  &lt;yael.aharon@nokia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Tor Arne Vestbø.
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorController.cpp (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorController.cpp        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/InspectorController.cpp        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -947,8 +947,11 @@
</span><span class="cx">     return loader-&gt;frame() == m_inspectedPage-&gt;mainFrame() &amp;&amp; requestUrl == loader-&gt;requestURL();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorController::willSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&amp; request, const ResourceResponse&amp; redirectResponse)
</del><ins>+void InspectorController::willSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest&amp; request, const ResourceResponse&amp; redirectResponse)
</ins><span class="cx"> {
</span><ins>+    if (m_timelineAgent)
+        m_timelineAgent-&gt;willSendResourceRequest(identifier, isMainResourceLoader(loader, request.url()), request);
+
</ins><span class="cx">     RefPtr&lt;InspectorResource&gt; resource = getTrackedResource(identifier);
</span><span class="cx">     if (!resource)
</span><span class="cx">         return;
</span><span class="lines">@@ -966,6 +969,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorController::didReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&amp; response)
</span><span class="cx"> {
</span><ins>+    if (m_timelineAgent)
+        m_timelineAgent-&gt;didReceiveResourceResponse(identifier, response);
+
</ins><span class="cx">     RefPtr&lt;InspectorResource&gt; resource = getTrackedResource(identifier);
</span><span class="cx">     if (!resource)
</span><span class="cx">         return;
</span><span class="lines">@@ -991,6 +997,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identifier)
</span><span class="cx"> {
</span><ins>+    if (m_timelineAgent)
+        m_timelineAgent-&gt;didFinishLoadingResource(identifier, false);
+
</ins><span class="cx">     RefPtr&lt;InspectorResource&gt; resource = getTrackedResource(identifier);
</span><span class="cx">     if (!resource)
</span><span class="cx">         return;
</span><span class="lines">@@ -1011,6 +1020,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorController::didFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&amp; /*error*/)
</span><span class="cx"> {
</span><ins>+    if (m_timelineAgent)
+        m_timelineAgent-&gt;didFinishLoadingResource(identifier, true);
+
</ins><span class="cx">     RefPtr&lt;InspectorResource&gt; resource = getTrackedResource(identifier);
</span><span class="cx">     if (!resource)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorTimelineAgent.cpp (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorTimelineAgent.cpp        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/InspectorTimelineAgent.cpp        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -36,6 +36,8 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><ins>+#include &quot;ResourceRequest.h&quot;
+#include &quot;ResourceResponse.h&quot;
</ins><span class="cx"> #include &quot;TimelineRecordFactory.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="lines">@@ -158,6 +160,31 @@
</span><span class="cx">     didCompleteCurrentRecord(EvaluateScriptTimelineRecordType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void InspectorTimelineAgent::willSendResourceRequest(unsigned long identifier, bool isMainResource,
+    const ResourceRequest&amp; request)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceSendRequestTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, isMainResource, request);
+    record.set(&quot;type&quot;, ResourceSendRequestTimelineRecordType);
+    m_frontend-&gt;addRecordToTimeline(record);
+}
+
+void InspectorTimelineAgent::didReceiveResourceResponse(unsigned long identifier, const ResourceResponse&amp; response)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceReceiveResponseTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, response);
+    record.set(&quot;type&quot;, ResourceReceiveResponseTimelineRecordType);
+    m_frontend-&gt;addRecordToTimeline(record);
+}
+
+void InspectorTimelineAgent::didFinishLoadingResource(unsigned long identifier, bool didFail)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceFinishTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, didFail);
+    record.set(&quot;type&quot;, ResourceFinishTimelineRecordType);
+    m_frontend-&gt;addRecordToTimeline(record);
+}
+
</ins><span class="cx"> void InspectorTimelineAgent::didMarkTimeline(const String&amp; message)
</span><span class="cx"> {
</span><span class="cx">     addRecordToTimeline(TimelineRecordFactory::createMarkTimelineRecord(m_frontend, currentTimeInMilliseconds(), message), MarkTimelineRecordType);
</span></span></pre></div>
<a id="trunkWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/InspectorTimelineAgent.h (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/InspectorTimelineAgent.h        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/InspectorTimelineAgent.h        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -41,6 +41,8 @@
</span><span class="cx">     class Event;
</span><span class="cx">     class InspectorFrontend;
</span><span class="cx">     class IntRect;
</span><ins>+    class ResourceRequest;
+    class ResourceResponse;
</ins><span class="cx"> 
</span><span class="cx">     // Must be kept in sync with TimelineAgent.js
</span><span class="cx">     enum TimelineRecordType {
</span><span class="lines">@@ -56,6 +58,9 @@
</span><span class="cx">         XHRLoadRecordType = 9,
</span><span class="cx">         EvaluateScriptTimelineRecordType = 10,
</span><span class="cx">         MarkTimelineRecordType = 11,
</span><ins>+        ResourceSendRequestTimelineRecordType = 12,
+        ResourceReceiveResponseTimelineRecordType = 13,
+        ResourceFinishTimelineRecordType = 14,
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     class InspectorTimelineAgent {
</span><span class="lines">@@ -97,6 +102,10 @@
</span><span class="cx"> 
</span><span class="cx">         void didMarkTimeline(const String&amp;);
</span><span class="cx"> 
</span><ins>+        void willSendResourceRequest(unsigned long, bool isMainResource, const ResourceRequest&amp;);
+        void didReceiveResourceResponse(unsigned long, const ResourceResponse&amp;);
+        void didFinishLoadingResource(unsigned long, bool didFail);
+
</ins><span class="cx">         static InspectorTimelineAgent* retrieve(ScriptExecutionContext*);
</span><span class="cx">     private:
</span><span class="cx">         struct TimelineRecordEntry {
</span></span></pre></div>
<a id="trunkWebCoreinspectorTimelineRecordFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/TimelineRecordFactory.cpp (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/TimelineRecordFactory.cpp        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/TimelineRecordFactory.cpp        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -36,8 +36,11 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontend.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><ins>+#include &quot;ResourceRequest.h&quot;
+#include &quot;ResourceResponse.h&quot;
</ins><span class="cx"> #include &quot;ScriptArray.h&quot;
</span><span class="cx"> #include &quot;ScriptObject.h&quot;
</span><ins>+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> ScriptObject TimelineRecordFactory::createGenericRecord(InspectorFrontend* frontend, double startTime)
</span><span class="lines">@@ -114,6 +117,44 @@
</span><span class="cx">     return item;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+
+ScriptObject TimelineRecordFactory::createResourceSendRequestTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, bool isMainResource, const ResourceRequest&amp; request)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend-&gt;newScriptObject();
+    data.set(&quot;identifier&quot;, static_cast&lt;long long&gt;(identifier));
+    data.set(&quot;url&quot;, request.url().string());
+    data.set(&quot;requestMethod&quot;, request.httpMethod());
+    data.set(&quot;isMainResource&quot;, isMainResource);
+    record.set(&quot;data&quot;, data);
+    return record;
+}
+
+ScriptObject TimelineRecordFactory::createResourceReceiveResponseTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, const ResourceResponse&amp; response)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend-&gt;newScriptObject();
+    data.set(&quot;identifier&quot;, static_cast&lt;long long&gt;(identifier));
+    data.set(&quot;statusCode&quot;, response.httpStatusCode());
+    data.set(&quot;mimeType&quot;, response.mimeType());
+    data.set(&quot;expectedContentLength&quot;, response.expectedContentLength());
+    record.set(&quot;data&quot;, data);
+    return record;
+}
+
+ScriptObject TimelineRecordFactory::createResourceFinishTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, bool didFail)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend-&gt;newScriptObject();
+    data.set(&quot;identifier&quot;, static_cast&lt;long long&gt;(identifier));
+    data.set(&quot;didFail&quot;, didFail);
+    record.set(&quot;data&quot;, data);
+    return record;
+}
+
</ins><span class="cx"> ScriptObject TimelineRecordFactory::createPaintTimelineRecord(InspectorFrontend* frontend, double startTime, const IntRect&amp; rect)
</span><span class="cx"> {
</span><span class="cx">     ScriptObject record = createGenericRecord(frontend, startTime);
</span></span></pre></div>
<a id="trunkWebCoreinspectorTimelineRecordFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/TimelineRecordFactory.h (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/TimelineRecordFactory.h        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/TimelineRecordFactory.h        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -38,6 +38,8 @@
</span><span class="cx">     class Event;
</span><span class="cx">     class InspectorFrontend;
</span><span class="cx">     class IntRect;
</span><ins>+    class ResourceRequest;
+    class ResourceResponse;
</ins><span class="cx">     class ScriptObject;
</span><span class="cx"> 
</span><span class="cx">     class TimelineRecordFactory {
</span><span class="lines">@@ -55,10 +57,17 @@
</span><span class="cx">         
</span><span class="cx">         static ScriptObject createEvaluateScriptTimelineRecord(InspectorFrontend*, double startTime, const String&amp;, double lineNumber);
</span><span class="cx">         
</span><ins>+        static ScriptObject createMarkTimelineRecord(InspectorFrontend*, double startTime, const String&amp;);
+
+        static ScriptObject createResourceSendRequestTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, bool isMainResource, const ResourceRequest&amp;);
+        static ScriptObject createResourceReceiveResponseTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, const ResourceResponse&amp;);
+        static ScriptObject createResourceFinishTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, bool didFail);
+
</ins><span class="cx">         static ScriptObject createPaintTimelineRecord(InspectorFrontend*, double startTime, const IntRect&amp;);
</span><span class="cx"> 
</span><del>-        static ScriptObject createMarkTimelineRecord(InspectorFrontend*, double startTime, const String&amp;);
-
</del><span class="cx">     private:
</span><span class="cx">         TimelineRecordFactory() { }
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkWebCoreinspectorfrontendTimelineAgentjs"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/inspector/front-end/TimelineAgent.js (50514 => 50515)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/inspector/front-end/TimelineAgent.js        2009-11-04 17:08:54 UTC (rev 50514)
+++ trunk/WebCore/inspector/front-end/TimelineAgent.js        2009-11-04 17:17:14 UTC (rev 50515)
</span><span class="lines">@@ -34,18 +34,21 @@
</span><span class="cx"> 
</span><span class="cx"> // Must be kept in sync with TimelineItem.h
</span><span class="cx"> WebInspector.TimelineAgent.RecordType = {
</span><del>-    EventDispatch       : 0,
-    Layout              : 1,
-    RecalculateStyles   : 2,
-    Paint               : 3,
-    ParseHTML           : 4,
-    TimerInstall        : 5,
-    TimerRemove         : 6,
-    TimerFire           : 7,
</del><ins>+    EventDispatch : 0,
+    Layout : 1,
+    RecalculateStyles : 2,
+    Paint : 3,
+    ParseHTML : 4,
+    TimerInstall : 5,
+    TimerRemove : 6,
+    TimerFire : 7,
</ins><span class="cx">     XHRReadyStateChange : 8,
</span><del>-    XHRLoad             : 9,
-    EvaluateScript      : 10,
-    MarkTimeline        : 11
</del><ins>+    XHRLoad : 9,
+    EvaluateScript : 10,
+    MarkTimeline : 11,
+    ResourceSendRequest : 12,
+    ResourceReceiveResponse : 13,
+    ResourceFinish : 14
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.addRecordToTimeline = function(record) {
</span></span></pre>
</div>
</div>

</body>
</html>