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

pfeldman at chromium.org pfeldman at chromium.org
Thu Apr 8 00:37:34 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit ee1e26795dbd9d1405de991483b873f7844c346c
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 15 21:44:52 2009 +0000

    2009-12-15  Pavel Feldman  <pfeldman at chromium.org>
    
            Reviewed by Timothy Hatcher.
    
            Web Inspector: Display request headers for main resource
            having redirects.
    
            https://bugs.webkit.org/show_bug.cgi?id=32577
    
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::identifierForInitialRequest):
            (WebCore::InspectorController::willSendRequest):
            * inspector/InspectorResource.cpp:
            (WebCore::InspectorResource::InspectorResource):
            (WebCore::InspectorResource::appendRedirect):
            (WebCore::InspectorResource::createCached):
            (WebCore::InspectorResource::updateRequest):
            * inspector/InspectorResource.h:
            (WebCore::InspectorResource::create):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8074ff3..0080a8f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2009-12-15  Pavel Feldman  <pfeldman at chromium.org>
+
+        Reviewed by Timothy Hatcher.
+
+        Web Inspector: Display request headers for main resource
+        having redirects.
+
+        https://bugs.webkit.org/show_bug.cgi?id=32577
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::identifierForInitialRequest):
+        (WebCore::InspectorController::willSendRequest):
+        * inspector/InspectorResource.cpp:
+        (WebCore::InspectorResource::InspectorResource):
+        (WebCore::InspectorResource::appendRedirect):
+        (WebCore::InspectorResource::createCached):
+        (WebCore::InspectorResource::updateRequest):
+        * inspector/InspectorResource.h:
+        (WebCore::InspectorResource::create):
+
 2009-12-15  Brian Weinstein  <bweinstein at apple.com>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 659a23e..48dfb8d 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -877,9 +877,7 @@ void InspectorController::identifierForInitialRequest(unsigned long identifier,
     if (!isMainResource && !m_resourceTrackingEnabled)
         return;
 
-    RefPtr<InspectorResource> resource = InspectorResource::create(identifier, loader);
-
-    resource->updateRequest(request);
+    RefPtr<InspectorResource> resource = InspectorResource::create(identifier, loader, request.url());
 
     if (isMainResource) {
         m_mainResource = resource;
@@ -932,9 +930,13 @@ void InspectorController::willSendRequest(unsigned long identifier, const Resour
         return;
 
     if (!redirectResponse.isNull()) {
+        resource->markResponseReceivedTime();
+        resource->endTiming();
+        resource->updateResponse(redirectResponse);
+
         // We always store last redirect by the original id key. Rest of the redirects are stored within the last one.
         unsigned long id = m_inspectedPage->progress()->createUniqueIdentifier();
-        RefPtr<InspectorResource> withRedirect = resource->appendRedirect(id, request, redirectResponse);
+        RefPtr<InspectorResource> withRedirect = resource->appendRedirect(id, request.url());
         removeResource(resource.get());
         addResource(withRedirect.get());
         if (isMainResource) {
@@ -945,6 +947,8 @@ void InspectorController::willSendRequest(unsigned long identifier, const Resour
     }
 
     resource->startTiming();
+    resource->updateRequest(request);
+
     if (resource != m_mainResource && windowVisible())
         resource->updateScriptObject(m_frontend.get());
 }
diff --git a/WebCore/inspector/InspectorResource.cpp b/WebCore/inspector/InspectorResource.cpp
index 2e83d02..1e4fc92 100644
--- a/WebCore/inspector/InspectorResource.cpp
+++ b/WebCore/inspector/InspectorResource.cpp
@@ -46,10 +46,11 @@
 
 namespace WebCore {
 
-InspectorResource::InspectorResource(unsigned long identifier, DocumentLoader* loader)
+InspectorResource::InspectorResource(unsigned long identifier, DocumentLoader* loader, const KURL& requestURL)
     : m_identifier(identifier)
     , m_loader(loader)
     , m_frame(loader->frame())
+    , m_requestURL(requestURL)
     , m_expectedContentLength(0)
     , m_cached(false)
     , m_finished(false)
@@ -69,30 +70,25 @@ InspectorResource::~InspectorResource()
 {
 }
 
-PassRefPtr<InspectorResource> InspectorResource::appendRedirect(unsigned long identifier, const ResourceRequest& request, const ResourceResponse& redirectResponse)
+PassRefPtr<InspectorResource> InspectorResource::appendRedirect(unsigned long identifier, const KURL& redirectURL)
 {
     // Last redirect is always a container of all previous ones. Pass this container here.
-    RefPtr<InspectorResource> redirect = InspectorResource::create(m_identifier, m_loader.get());
+    RefPtr<InspectorResource> redirect = InspectorResource::create(m_identifier, m_loader.get(), redirectURL);
     redirect->m_redirects = m_redirects;
     redirect->m_redirects.append(this);
     redirect->m_changes.set(RedirectsChange);
-    redirect->updateRequest(request);
 
     m_identifier = identifier;
     m_redirects.clear();
-    updateResponse(redirectResponse);
-    markResponseReceivedTime();
-    endTiming();
     return redirect;
 }
 
 PassRefPtr<InspectorResource> InspectorResource::createCached(unsigned long identifier, DocumentLoader* loader, const CachedResource* cachedResource)
 {
-    PassRefPtr<InspectorResource> resource = create(identifier, loader);
+    PassRefPtr<InspectorResource> resource = create(identifier, loader, KURL(ParsedURLString, cachedResource->url()));
 
     resource->m_finished = true;
 
-    resource->m_requestURL = KURL(ParsedURLString, cachedResource->url());
     resource->updateResponse(cachedResource->response());
 
     resource->m_length = cachedResource->encodedSize();
@@ -109,7 +105,6 @@ PassRefPtr<InspectorResource> InspectorResource::createCached(unsigned long iden
 void InspectorResource::updateRequest(const ResourceRequest& request)
 {
     m_requestHeaderFields = request.httpHeaderFields();
-    m_requestURL = request.url();
     m_requestMethod = request.httpMethod();
     if (request.httpBody() && !request.httpBody()->isEmpty())
         m_requestFormData = request.httpBody()->flattenToString();
@@ -220,13 +215,13 @@ void InspectorResource::releaseScriptObject(InspectorFrontend* frontend, bool ca
 {
     m_changes.setAll();
 
+    for (size_t i = 0; i < m_redirects.size(); ++i)
+        m_redirects[i]->releaseScriptObject(frontend, callRemoveResource);
+
     if (!callRemoveResource)
         return;
 
     frontend->removeResource(m_identifier);
-
-    for (size_t i = 0; i < m_redirects.size(); ++i)
-        m_redirects[i]->releaseScriptObject(frontend, callRemoveResource);
 }
 
 CachedResource* InspectorResource::cachedResource() const
diff --git a/WebCore/inspector/InspectorResource.h b/WebCore/inspector/InspectorResource.h
index 438a3d6..ce86dd7 100644
--- a/WebCore/inspector/InspectorResource.h
+++ b/WebCore/inspector/InspectorResource.h
@@ -68,16 +68,16 @@ namespace WebCore {
             Other
         };
 
-        static PassRefPtr<InspectorResource> create(unsigned long identifier, DocumentLoader* loader)
+        static PassRefPtr<InspectorResource> create(unsigned long identifier, DocumentLoader* loader, const KURL& requestURL)
         {
-            return adoptRef(new InspectorResource(identifier, loader));
+            return adoptRef(new InspectorResource(identifier, loader, requestURL));
         }
 
         static PassRefPtr<InspectorResource> createCached(unsigned long identifier, DocumentLoader*, const CachedResource*);
 
         ~InspectorResource();
 
-        PassRefPtr<InspectorResource> appendRedirect(unsigned long identifier, const ResourceRequest&, const ResourceResponse& redirectResponse);
+        PassRefPtr<InspectorResource> appendRedirect(unsigned long identifier, const KURL& redirectURL);
         void updateScriptObject(InspectorFrontend* frontend);
         void releaseScriptObject(InspectorFrontend* frontend, bool callRemoveResource);
 
@@ -146,7 +146,7 @@ namespace WebCore {
             ChangeType m_change;
         };
 
-        InspectorResource(unsigned long identifier, DocumentLoader*);
+        InspectorResource(unsigned long identifier, DocumentLoader*, const KURL& requestURL);
         Type type() const;
 
         Type cachedResourceType() const;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list