[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
pfeldman at chromium.org
pfeldman at chromium.org
Tue Jan 5 23:50:20 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 34816185ee36f1783f63c1e17f25f14738fde80a
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