[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Wed Apr 7 23:22:29 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 846a665aa4798013f2a5133a3a34630deaa75ddb
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 4 17:17:14 2009 +0000

    2009-11-04  Kelly Norton  <knorton at google.com>
    
            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:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50515 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 6571a20..0b686ca 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,28 @@
+2009-11-04  Kelly Norton  <knorton at google.com>
+
+        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:
+
 2009-11-04  Yael Aharon  <yael.aharon at nokia.com>
 
         Reviewed by Tor Arne Vestbø.
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index e442960..7f9b5b6 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -947,8 +947,11 @@ bool InspectorController::isMainResourceLoader(DocumentLoader* loader, const KUR
     return loader->frame() == m_inspectedPage->mainFrame() && requestUrl == loader->requestURL();
 }
 
-void InspectorController::willSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
+void InspectorController::willSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
 {
+    if (m_timelineAgent)
+        m_timelineAgent->willSendResourceRequest(identifier, isMainResourceLoader(loader, request.url()), request);
+
     RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     if (!resource)
         return;
@@ -966,6 +969,9 @@ void InspectorController::willSendRequest(DocumentLoader*, unsigned long identif
 
 void InspectorController::didReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse& response)
 {
+    if (m_timelineAgent)
+        m_timelineAgent->didReceiveResourceResponse(identifier, response);
+
     RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     if (!resource)
         return;
@@ -991,6 +997,9 @@ void InspectorController::didReceiveContentLength(DocumentLoader*, unsigned long
 
 void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identifier)
 {
+    if (m_timelineAgent)
+        m_timelineAgent->didFinishLoadingResource(identifier, false);
+
     RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     if (!resource)
         return;
@@ -1011,6 +1020,9 @@ void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identi
 
 void InspectorController::didFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& /*error*/)
 {
+    if (m_timelineAgent)
+        m_timelineAgent->didFinishLoadingResource(identifier, true);
+
     RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     if (!resource)
         return;
diff --git a/WebCore/inspector/InspectorTimelineAgent.cpp b/WebCore/inspector/InspectorTimelineAgent.cpp
index f051c1a..bfbd8aa 100644
--- a/WebCore/inspector/InspectorTimelineAgent.cpp
+++ b/WebCore/inspector/InspectorTimelineAgent.cpp
@@ -36,6 +36,8 @@
 #include "Event.h"
 #include "InspectorFrontend.h"
 #include "IntRect.h"
+#include "ResourceRequest.h"
+#include "ResourceResponse.h"
 #include "TimelineRecordFactory.h"
 
 #include <wtf/CurrentTime.h>
@@ -158,6 +160,31 @@ void InspectorTimelineAgent::didEvaluateScript()
     didCompleteCurrentRecord(EvaluateScriptTimelineRecordType);
 }
 
+void InspectorTimelineAgent::willSendResourceRequest(unsigned long identifier, bool isMainResource,
+    const ResourceRequest& request)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceSendRequestTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, isMainResource, request);
+    record.set("type", ResourceSendRequestTimelineRecordType);
+    m_frontend->addRecordToTimeline(record);
+}
+
+void InspectorTimelineAgent::didReceiveResourceResponse(unsigned long identifier, const ResourceResponse& response)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceReceiveResponseTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, response);
+    record.set("type", ResourceReceiveResponseTimelineRecordType);
+    m_frontend->addRecordToTimeline(record);
+}
+
+void InspectorTimelineAgent::didFinishLoadingResource(unsigned long identifier, bool didFail)
+{
+    ScriptObject record = TimelineRecordFactory::createResourceFinishTimelineRecord(m_frontend, currentTimeInMilliseconds(),
+        identifier, didFail);
+    record.set("type", ResourceFinishTimelineRecordType);
+    m_frontend->addRecordToTimeline(record);
+}
+
 void InspectorTimelineAgent::didMarkTimeline(const String& message)
 {
     addRecordToTimeline(TimelineRecordFactory::createMarkTimelineRecord(m_frontend, currentTimeInMilliseconds(), message), MarkTimelineRecordType);
diff --git a/WebCore/inspector/InspectorTimelineAgent.h b/WebCore/inspector/InspectorTimelineAgent.h
index d500090..c3f5139 100644
--- a/WebCore/inspector/InspectorTimelineAgent.h
+++ b/WebCore/inspector/InspectorTimelineAgent.h
@@ -41,6 +41,8 @@ namespace WebCore {
     class Event;
     class InspectorFrontend;
     class IntRect;
+    class ResourceRequest;
+    class ResourceResponse;
 
     // Must be kept in sync with TimelineAgent.js
     enum TimelineRecordType {
@@ -56,6 +58,9 @@ namespace WebCore {
         XHRLoadRecordType = 9,
         EvaluateScriptTimelineRecordType = 10,
         MarkTimelineRecordType = 11,
+        ResourceSendRequestTimelineRecordType = 12,
+        ResourceReceiveResponseTimelineRecordType = 13,
+        ResourceFinishTimelineRecordType = 14,
     };
 
     class InspectorTimelineAgent {
@@ -97,6 +102,10 @@ namespace WebCore {
 
         void didMarkTimeline(const String&);
 
+        void willSendResourceRequest(unsigned long, bool isMainResource, const ResourceRequest&);
+        void didReceiveResourceResponse(unsigned long, const ResourceResponse&);
+        void didFinishLoadingResource(unsigned long, bool didFail);
+
         static InspectorTimelineAgent* retrieve(ScriptExecutionContext*);
     private:
         struct TimelineRecordEntry {
diff --git a/WebCore/inspector/TimelineRecordFactory.cpp b/WebCore/inspector/TimelineRecordFactory.cpp
index b35290f..08fb738 100644
--- a/WebCore/inspector/TimelineRecordFactory.cpp
+++ b/WebCore/inspector/TimelineRecordFactory.cpp
@@ -36,8 +36,11 @@
 #include "Event.h"
 #include "InspectorFrontend.h"
 #include "IntRect.h"
+#include "ResourceRequest.h"
+#include "ResourceResponse.h"
 #include "ScriptArray.h"
 #include "ScriptObject.h"
+
 namespace WebCore {
 
 ScriptObject TimelineRecordFactory::createGenericRecord(InspectorFrontend* frontend, double startTime)
@@ -114,6 +117,44 @@ ScriptObject TimelineRecordFactory::createMarkTimelineRecord(InspectorFrontend*
     return item;
 }
 
+
+ScriptObject TimelineRecordFactory::createResourceSendRequestTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, bool isMainResource, const ResourceRequest& request)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend->newScriptObject();
+    data.set("identifier", static_cast<long long>(identifier));
+    data.set("url", request.url().string());
+    data.set("requestMethod", request.httpMethod());
+    data.set("isMainResource", isMainResource);
+    record.set("data", data);
+    return record;
+}
+
+ScriptObject TimelineRecordFactory::createResourceReceiveResponseTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, const ResourceResponse& response)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend->newScriptObject();
+    data.set("identifier", static_cast<long long>(identifier));
+    data.set("statusCode", response.httpStatusCode());
+    data.set("mimeType", response.mimeType());
+    data.set("expectedContentLength", response.expectedContentLength());
+    record.set("data", data);
+    return record;
+}
+
+ScriptObject TimelineRecordFactory::createResourceFinishTimelineRecord(InspectorFrontend* frontend, double startTime,
+    unsigned long identifier, bool didFail)
+{
+    ScriptObject record = createGenericRecord(frontend, startTime);
+    ScriptObject data = frontend->newScriptObject();
+    data.set("identifier", static_cast<long long>(identifier));
+    data.set("didFail", didFail);
+    record.set("data", data);
+    return record;
+}
+
 ScriptObject TimelineRecordFactory::createPaintTimelineRecord(InspectorFrontend* frontend, double startTime, const IntRect& rect)
 {
     ScriptObject record = createGenericRecord(frontend, startTime);
diff --git a/WebCore/inspector/TimelineRecordFactory.h b/WebCore/inspector/TimelineRecordFactory.h
index e40e68b..d52e92d 100644
--- a/WebCore/inspector/TimelineRecordFactory.h
+++ b/WebCore/inspector/TimelineRecordFactory.h
@@ -38,6 +38,8 @@ namespace WebCore {
     class Event;
     class InspectorFrontend;
     class IntRect;
+    class ResourceRequest;
+    class ResourceResponse;
     class ScriptObject;
 
     class TimelineRecordFactory {
@@ -55,10 +57,17 @@ namespace WebCore {
         
         static ScriptObject createEvaluateScriptTimelineRecord(InspectorFrontend*, double startTime, const String&, double lineNumber);
         
-        static ScriptObject createPaintTimelineRecord(InspectorFrontend*, double startTime, const IntRect&);
-
         static ScriptObject createMarkTimelineRecord(InspectorFrontend*, double startTime, const String&);
 
+        static ScriptObject createResourceSendRequestTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, bool isMainResource, const ResourceRequest&);
+        static ScriptObject createResourceReceiveResponseTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, const ResourceResponse&);
+        static ScriptObject createResourceFinishTimelineRecord(InspectorFrontend*, double startTime,
+            unsigned long identifier, bool didFail);
+
+        static ScriptObject createPaintTimelineRecord(InspectorFrontend*, double startTime, const IntRect&);
+
     private:
         TimelineRecordFactory() { }
     };
diff --git a/WebCore/inspector/front-end/TimelineAgent.js b/WebCore/inspector/front-end/TimelineAgent.js
index 3734b71..c9e9d64 100644
--- a/WebCore/inspector/front-end/TimelineAgent.js
+++ b/WebCore/inspector/front-end/TimelineAgent.js
@@ -34,18 +34,21 @@ WebInspector.TimelineAgent = function() {
 
 // Must be kept in sync with TimelineItem.h
 WebInspector.TimelineAgent.RecordType = {
-    EventDispatch       : 0,
-    Layout              : 1,
-    RecalculateStyles   : 2,
-    Paint               : 3,
-    ParseHTML           : 4,
-    TimerInstall        : 5,
-    TimerRemove         : 6,
-    TimerFire           : 7,
+    EventDispatch : 0,
+    Layout : 1,
+    RecalculateStyles : 2,
+    Paint : 3,
+    ParseHTML : 4,
+    TimerInstall : 5,
+    TimerRemove : 6,
+    TimerFire : 7,
     XHRReadyStateChange : 8,
-    XHRLoad             : 9,
-    EvaluateScript      : 10,
-    MarkTimeline        : 11
+    XHRLoad : 9,
+    EvaluateScript : 10,
+    MarkTimeline : 11,
+    ResourceSendRequest : 12,
+    ResourceReceiveResponse : 13,
+    ResourceFinish : 14
 };
 
 WebInspector.addRecordToTimeline = function(record) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list