2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
https://bugs.webkit.org/show_bug.cgi?id=61205
Added inspector backend cache for XHR content.
* http/tests/inspector/network/network-xhr-async-expected.txt: Added.
* http/tests/inspector/network/network-xhr-async.html: Added.
* http/tests/inspector/network/network-xhr-sync-expected.txt: Added.
* http/tests/inspector/network/network-xhr-sync.html: Added.
2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
https://bugs.webkit.org/show_bug.cgi?id=61205
Added inspector backend cache for XHR content.
Tests: http/tests/inspector/network/network-xhr-async.html
http/tests/inspector/network/network-xhr-sync.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didReceiveResponse):
* fileapi/FileReaderLoader.h:
* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didReceiveXHRResponse):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::setInitialXHRContent):
(WebCore::InspectorResourceAgent::didReceiveXHRResponse):
(WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
(WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
(WebCore::InspectorResourceAgent::getResourceContent):
(WebCore::InspectorResourceAgent::mainFrameNavigated):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
* inspector/NetworkResourcesData.cpp: Added.
(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::ResourceData::content):
(WebCore::NetworkResourcesData::ResourceData::appendContent):
(WebCore::NetworkResourcesData::ResourceData::purgeContent):
(WebCore::NetworkResourcesData::NetworkResourcesData):
(WebCore::NetworkResourcesData::~NetworkResourcesData):
(WebCore::NetworkResourcesData::resourceCreated):
(WebCore::NetworkResourcesData::responseReceived):
(WebCore::NetworkResourcesData::didReceiveXHRResponse):
(WebCore::NetworkResourcesData::addResourceContent):
(WebCore::NetworkResourcesData::isXHR):
(WebCore::NetworkResourcesData::data):
(WebCore::NetworkResourcesData::clear):
(WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
(WebCore::NetworkResourcesData::ensureFreeSpace):
* inspector/NetworkResourcesData.h: Added.
(WebCore::NetworkResourcesData::ResourceData::identifier):
(WebCore::NetworkResourcesData::ResourceData::loaderId):
(WebCore::NetworkResourcesData::ResourceData::frameId):
(WebCore::NetworkResourcesData::ResourceData::setFrameId):
(WebCore::NetworkResourcesData::ResourceData::url):
(WebCore::NetworkResourcesData::ResourceData::setUrl):
(WebCore::NetworkResourcesData::ResourceData::isXHR):
(WebCore::NetworkResourcesData::ResourceData::setIsXHR):
(WebCore::NetworkResourcesData::ResourceData::hasContent):
(WebCore::NetworkResourcesData::ResourceData::isContentPurged):
(WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager.prototype.requestContent):
(WebInspector.NetworkDispatcher.prototype._appendRedirect):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._appendResource):
(WebInspector.NetworkPanel.prototype._frameNavigated):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::receivedCancellation):
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/DocumentThreadableLoader.h:
* loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::didReceiveResponse):
(WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
* loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
(WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
* loader/WorkerThreadableLoader.cpp:
(WebCore::workerContextDidReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::workerContextDidReceiveAuthenticationCancellation):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
* loader/WorkerThreadableLoader.h:
* notifications/Notification.cpp:
(WebCore::Notification::didReceiveResponse):
(WebCore::Notification::didReceiveAuthenticationCancellation):
* notifications/Notification.h:
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
* page/EventSource.h:
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didReceiveResponse):
(WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
* workers/WorkerScriptLoader.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::didReceiveResponse):
(WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
* xml/XMLHttpRequest.h:
2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
https://bugs.webkit.org/show_bug.cgi?id=61205
Added inspector backend cache for XHR content.
* src/AssociatedURLLoader.cpp:
(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveResponse):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@89036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/loader/DocumentThreadableLoader.cpp b/Source/WebCore/loader/DocumentThreadableLoader.cpp
index 804c3e7..0e8b375 100644
--- a/Source/WebCore/loader/DocumentThreadableLoader.cpp
+++ b/Source/WebCore/loader/DocumentThreadableLoader.cpp
@@ -171,8 +171,13 @@
void DocumentThreadableLoader::didReceiveResponse(SubresourceLoader* loader, const ResourceResponse& response)
{
+ ASSERT(loader == m_loader);
+ didReceiveResponse(loader->identifier(), response);
+}
+
+void DocumentThreadableLoader::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
+{
ASSERT(m_client);
- ASSERT_UNUSED(loader, loader == m_loader);
String accessControlErrorDescription;
if (m_actualRequest) {
@@ -198,7 +203,7 @@
}
}
- m_client->didReceiveResponse(response);
+ m_client->didReceiveResponse(identifier, response);
}
}
@@ -285,7 +290,7 @@
{
ASSERT(m_client);
ASSERT_UNUSED(loader, loader == m_loader);
- m_client->didReceiveAuthenticationCancellation(challenge.failureResponse());
+ m_client->didReceiveAuthenticationCancellation(loader->identifier(), challenge.failureResponse());
}
void DocumentThreadableLoader::preflightSuccess()
@@ -351,7 +356,7 @@
return;
}
- didReceiveResponse(0, response);
+ didReceiveResponse(identifier, response);
const char* bytes = static_cast<const char*>(data.data());
int len = static_cast<int>(data.size());