[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 11:13:43 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 9d77a73adbdb9a81e20cf892336e28e4c08ab80e
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jul 15 15:03:25 2010 +0000
2010-07-15 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: differentiate between blocking and connecting timers.
https://bugs.webkit.org/show_bug.cgi?id=42372
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::buildObjectForTiming):
* inspector/InspectorResource.h:
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.get cached):
(WebInspector.Resource.prototype.set cached):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
(WebInspector.ResourceGraph):
(WebInspector.ResourceGraph.prototype.refresh):
(WebInspector.ResourceGraph.prototype._cachedChanged):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
* loader/FrameLoader.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::connectionReused):
(WebCore::ResourceResponseBase::setConnectionID):
* platform/network/ResourceResponseBase.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 05d6733..8373478 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,36 @@
+2010-07-15 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: differentiate between blocking and connecting timers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42372
+
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::InspectorResource):
+ (WebCore::InspectorResource::updateResponse):
+ (WebCore::InspectorResource::updateScriptObject):
+ (WebCore::InspectorResource::buildObjectForTiming):
+ * inspector/InspectorResource.h:
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get cached):
+ (WebInspector.Resource.prototype.set cached):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._showPopover):
+ (WebInspector.ResourceGraph):
+ (WebInspector.ResourceGraph.prototype.refresh):
+ (WebInspector.ResourceGraph.prototype._cachedChanged):
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache):
+ * loader/FrameLoader.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::ResourceResponseBase):
+ (WebCore::ResourceResponseBase::connectionReused):
+ (WebCore::ResourceResponseBase::setConnectionID):
+ * platform/network/ResourceResponseBase.h:
+
2010-07-15 MORITA Hajime <morrita at google.com>
Text layout is wrong with a SVG Font that lacks <missing-glyph> element
diff --git a/WebCore/inspector/InspectorResource.cpp b/WebCore/inspector/InspectorResource.cpp
index 91a57e0..e61074d 100644
--- a/WebCore/inspector/InspectorResource.cpp
+++ b/WebCore/inspector/InspectorResource.cpp
@@ -64,6 +64,7 @@ InspectorResource::InspectorResource(unsigned long identifier, DocumentLoader* l
, m_loadEventTime(-1.0)
, m_domContentEventTime(-1.0)
, m_connectionID(0)
+ , m_connectionReused(false)
, m_isMainResource(false)
{
}
@@ -131,6 +132,7 @@ void InspectorResource::updateResponse(const ResourceResponse& response)
m_suggestedFilename = response.suggestedFilename();
m_connectionID = response.connectionID();
+ m_connectionReused = response.connectionReused();
m_loadTiming = response.resourceLoadTiming();
m_cached = response.wasCached();
@@ -183,6 +185,7 @@ void InspectorResource::updateScriptObject(InspectorFrontend* frontend)
populateHeadersObject(&responseHeaders, m_responseHeaderFields);
jsonObject.set("responseHeaders", responseHeaders);
jsonObject.set("connectionID", m_connectionID);
+ jsonObject.set("connectionReused", m_connectionReused);
jsonObject.set("cached", m_cached);
if (m_loadTiming && !m_cached)
jsonObject.set("timing", buildObjectForTiming(frontend, m_loadTiming.get()));
@@ -394,9 +397,9 @@ ScriptObject InspectorResource::buildObjectForTiming(InspectorFrontend* frontend
jsonObject.set("proxyDuration", timing->proxyStart == -1 ? -1 : (timing->proxyEnd - timing->proxyStart) / 1000.0);
jsonObject.set("dnsDuration", timing->dnsStart == -1 ? -1 : (timing->dnsEnd - timing->dnsStart) / 1000.0);
jsonObject.set("connectDuration", timing->connectStart == -1 ? -1 : (timing->connectEnd - timing->connectStart) / 1000.0);
+ jsonObject.set("sslDuration", (timing->sslEnd - timing->sslStart) / 1000.0);
jsonObject.set("sendDuration", (timing->sendEnd - timing->sendStart) / 1000.0);
jsonObject.set("waitDuration", (timing->receiveHeadersEnd - timing->sendEnd) / 1000.0);
- jsonObject.set("sslDuration", (timing->sslEnd - timing->sslStart) / 1000.0);
return jsonObject;
}
diff --git a/WebCore/inspector/InspectorResource.h b/WebCore/inspector/InspectorResource.h
index ed9ec37..48e1a20 100644
--- a/WebCore/inspector/InspectorResource.h
+++ b/WebCore/inspector/InspectorResource.h
@@ -174,6 +174,7 @@ namespace WebCore {
double m_loadEventTime;
double m_domContentEventTime;
unsigned m_connectionID;
+ bool m_connectionReused;
RefPtr<ResourceLoadTiming> m_loadTiming;
ScriptString m_overrideContent;
Type m_overrideContentType;
diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js
index 2ae23a0..cd51ac0 100644
--- a/WebCore/inspector/front-end/Resource.js
+++ b/WebCore/inspector/front-end/Resource.js
@@ -308,6 +308,17 @@ WebInspector.Resource.prototype = {
}
},
+ get cached()
+ {
+ return this._cached;
+ },
+
+ set cached(x)
+ {
+ this._cached = x;
+ this.dispatchEventToListeners("cached changed");
+ },
+
get mimeType()
{
return this._mimeType;
diff --git a/WebCore/inspector/front-end/ResourcesPanel.js b/WebCore/inspector/front-end/ResourcesPanel.js
index 8af1505..2ea6b4f 100644
--- a/WebCore/inspector/front-end/ResourcesPanel.js
+++ b/WebCore/inspector/front-end/ResourcesPanel.js
@@ -751,13 +751,34 @@ WebInspector.ResourcesPanel.prototype = {
{
var tableElement = document.createElement("table");
var resource = anchor.parentElement.resource;
- var data = [WebInspector.UIString("Blocking"), resource.timing.requestTime === 0 ? "?" : Number.secondsToString(Math.max(resource.timing.requestTime - resource.startTime, 0)),
- WebInspector.UIString("Proxy"), resource.timing.proxyDuration == -1 ? WebInspector.UIString("(none)") : Number.secondsToString(resource.timing.proxyDuration),
- WebInspector.UIString("DNS Lookup"), resource.timing.dnsDuration == -1 ? WebInspector.UIString("(reused)") : Number.secondsToString(resource.timing.dnsDuration),
- WebInspector.UIString("Connecting"), resource.timing.connectDuration == -1 ? WebInspector.UIString("(reused)") : Number.secondsToString(resource.timing.connectDuration),
- WebInspector.UIString("Sending"), Number.secondsToString(resource.timing.sendDuration),
- WebInspector.UIString("Waiting"), Number.secondsToString(resource.timing.waitDuration),
- WebInspector.UIString("Receiving"), Number.secondsToString(resource.endTime - resource.responseReceivedTime)];
+ var data = [];
+
+ if (resource.timing.proxyDuration !== -1) {
+ data.push(WebInspector.UIString("Proxy"));
+ data.push(Number.secondsToString(resource.timing.proxyDuration));
+ }
+
+ if (resource.timing.dnsDuration !== -1) {
+ data.push(WebInspector.UIString("DNS Lookup"));
+ data.push(Number.secondsToString(resource.timing.dnsDuration));
+ }
+
+ if (resource.timing.connectDuration !== -1) {
+ if (resource.connectionReused)
+ data.push(WebInspector.UIString("Blocking"));
+ else
+ data.push(WebInspector.UIString("Connecting"));
+ data.push(Number.secondsToString(resource.timing.connectDuration));
+ }
+
+ data.push(WebInspector.UIString("Sending"));
+ data.push(Number.secondsToString(resource.timing.sendDuration));
+
+ data.push(WebInspector.UIString("Waiting"));
+ data.push(Number.secondsToString(resource.timing.waitDuration));
+
+ data.push(WebInspector.UIString("Receiving"));
+ data.push(Number.secondsToString(resource.endTime - resource.responseReceivedTime));
for (var i = 0; i < data.length; i += 2) {
var tr = document.createElement("tr");
@@ -1252,8 +1273,7 @@ WebInspector.ResourceGraph = function(resource)
this._graphElement.className = "resources-graph-side";
this._graphElement.addEventListener("mouseover", this.refreshLabelPositions.bind(this), false);
- if (resource.cached)
- this._graphElement.addStyleClass("resource-cached");
+ this._cachedChanged();
this._barAreaElement = document.createElement("div");
this._barAreaElement.className = "resources-graph-bar-area hidden";
@@ -1277,6 +1297,8 @@ WebInspector.ResourceGraph = function(resource)
this._barAreaElement.appendChild(this._labelRightElement);
this._graphElement.addStyleClass("resources-category-" + resource.category.name);
+
+ resource.addEventListener("cached changed", this._cachedChanged, this);
}
WebInspector.ResourceGraph.prototype = {
@@ -1400,5 +1422,11 @@ WebInspector.ResourceGraph.prototype = {
this._labelLeftElement.title = tooltip;
this._labelRightElement.title = tooltip;
this._barRightElement.title = tooltip;
+ },
+
+ _cachedChanged: function()
+ {
+ if (this.resource.cached)
+ this._graphElement.addStyleClass("resource-cached");
}
}
diff --git a/WebCore/inspector/front-end/inspector.js b/WebCore/inspector/front-end/inspector.js
index 7c255bb..88d912c 100644
--- a/WebCore/inspector/front-end/inspector.js
+++ b/WebCore/inspector/front-end/inspector.js
@@ -1167,7 +1167,6 @@ WebInspector.updateResource = function(identifier, payload)
resource.mainResource = payload.mainResource;
resource.requestMethod = payload.requestMethod;
resource.requestFormData = payload.requestFormData;
- resource.cached = payload.cached;
resource.documentURL = payload.documentURL;
if (resource.mainResource)
@@ -1190,7 +1189,9 @@ WebInspector.updateResource = function(identifier, payload)
resource.suggestedFilename = payload.suggestedFilename;
resource.responseHeaders = payload.responseHeaders;
resource.connectionID = payload.connectionID;
+ resource.connectionReused = payload.connectionReused;
resource.timing = payload.timing;
+ resource.cached = payload.cached;
}
if (payload.didTypeChange) {
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index bd4866c..d8aca14 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -3072,14 +3072,13 @@ void FrameLoader::loadedResourceFromMemoryCache(const CachedResource* resource)
if (!page)
return;
-#if ENABLE(INSPECTOR)
- page->inspectorController()->didLoadResourceFromMemoryCache(m_documentLoader.get(), resource);
-#endif
-
if (!resource->sendResourceLoadCallbacks() || m_documentLoader->haveToldClientAboutLoad(resource->url()))
return;
if (!page->areMemoryCacheClientCallsEnabled()) {
+#if ENABLE(INSPECTOR)
+ page->inspectorController()->didLoadResourceFromMemoryCache(m_documentLoader.get(), resource);
+#endif
m_documentLoader->recordMemoryCacheLoadForFutureClientNotification(resource->url());
m_documentLoader->didTellClientAboutLoad(resource->url());
return;
@@ -3087,6 +3086,9 @@ void FrameLoader::loadedResourceFromMemoryCache(const CachedResource* resource)
ResourceRequest request(resource->url());
if (m_client->dispatchDidLoadResourceFromMemoryCache(m_documentLoader.get(), request, resource->response(), resource->encodedSize())) {
+#if ENABLE(INSPECTOR)
+ page->inspectorController()->didLoadResourceFromMemoryCache(m_documentLoader.get(), resource);
+#endif
m_documentLoader->didTellClientAboutLoad(resource->url());
return;
}
diff --git a/WebCore/platform/network/ResourceResponseBase.cpp b/WebCore/platform/network/ResourceResponseBase.cpp
index 89d31d7..f30344e 100644
--- a/WebCore/platform/network/ResourceResponseBase.cpp
+++ b/WebCore/platform/network/ResourceResponseBase.cpp
@@ -45,6 +45,7 @@ ResourceResponseBase::ResourceResponseBase()
, m_lastModifiedDate(0)
, m_wasCached(false)
, m_connectionID(0)
+ , m_connectionReused(false)
, m_isNull(true)
, m_haveParsedCacheControlHeader(false)
, m_haveParsedAgeHeader(false)
@@ -72,6 +73,7 @@ ResourceResponseBase::ResourceResponseBase(const KURL& url, const String& mimeTy
, m_lastModifiedDate(0)
, m_wasCached(false)
, m_connectionID(0)
+ , m_connectionReused(false)
, m_isNull(false)
, m_haveParsedCacheControlHeader(false)
, m_haveParsedAgeHeader(false)
@@ -471,6 +473,20 @@ void ResourceResponseBase::setWasCached(bool value)
m_wasCached = value;
}
+bool ResourceResponseBase::connectionReused() const
+{
+ lazyInit();
+
+ return m_connectionReused;
+}
+
+void ResourceResponseBase::setConnectionReused(bool connectionReused)
+{
+ lazyInit();
+
+ m_connectionReused = connectionReused;
+}
+
unsigned ResourceResponseBase::connectionID() const
{
lazyInit();
diff --git a/WebCore/platform/network/ResourceResponseBase.h b/WebCore/platform/network/ResourceResponseBase.h
index 858a612..65e24ad 100644
--- a/WebCore/platform/network/ResourceResponseBase.h
+++ b/WebCore/platform/network/ResourceResponseBase.h
@@ -100,6 +100,9 @@ public:
unsigned connectionID() const;
void setConnectionID(unsigned);
+ bool connectionReused() const;
+ void setConnectionReused(bool);
+
bool wasCached() const;
void setWasCached(bool);
@@ -136,8 +139,9 @@ protected:
String m_httpStatusText;
HTTPHeaderMap m_httpHeaderFields;
time_t m_lastModifiedDate;
- bool m_wasCached;
+ bool m_wasCached : 1;
unsigned m_connectionID;
+ bool m_connectionReused : 1;
RefPtr<ResourceLoadTiming> m_resourceLoadTiming;
bool m_isNull : 1;
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 512f22c..2324608 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,16 @@
+2010-07-15 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: differentiate between blocking and connecting timers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42372
+
+ * public/WebURLResponse.h:
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::connectionReused):
+ (WebKit::WebURLResponse::setConnectionReused):
+
2010-07-15 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Yury Semikhatsky.
diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h
index 2aa603d..4727c73 100644
--- a/WebKit/chromium/public/WebURLResponse.h
+++ b/WebKit/chromium/public/WebURLResponse.h
@@ -76,6 +76,9 @@ public:
WEBKIT_API unsigned connectionID() const;
WEBKIT_API void setConnectionID(unsigned);
+ WEBKIT_API bool connectionReused() const;
+ WEBKIT_API void setConnectionReused(bool);
+
WEBKIT_API WebURLLoadTiming loadTiming();
WEBKIT_API void setLoadTiming(const WebURLLoadTiming&);
diff --git a/WebKit/chromium/src/WebURLResponse.cpp b/WebKit/chromium/src/WebURLResponse.cpp
index 2b7facc..e4172e7 100644
--- a/WebKit/chromium/src/WebURLResponse.cpp
+++ b/WebKit/chromium/src/WebURLResponse.cpp
@@ -107,6 +107,16 @@ void WebURLResponse::setConnectionID(unsigned connectionID)
m_private->m_resourceResponse->setConnectionID(connectionID);
}
+bool WebURLResponse::connectionReused() const
+{
+ return m_private->m_resourceResponse->connectionReused();
+}
+
+void WebURLResponse::setConnectionReused(bool connectionReused)
+{
+ m_private->m_resourceResponse->setConnectionReused(connectionReused);
+}
+
WebURLLoadTiming WebURLResponse::loadTiming()
{
return WebURLLoadTiming(m_private->m_resourceResponse->resourceLoadTiming());
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list