[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