[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
eric at webkit.org
eric at webkit.org
Thu Dec 3 13:26:52 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 02b45e1610e2ae344cc74af7f753bfc25ddb2c9d
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