diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:31:00 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-11 14:42:12 +0100 |
commit | dcc8cf2e65d1aa555cce12431a16547e66b469ee (patch) | |
tree | 92a8d65cd5383bca9749f5327fb5e440563926e6 /WebCore/loader/ResourceLoader.cpp | |
parent | ccac38a6b48843126402088a309597e682f40fe6 (diff) | |
download | external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2 |
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebCore/loader/ResourceLoader.cpp')
-rw-r--r-- | WebCore/loader/ResourceLoader.cpp | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/WebCore/loader/ResourceLoader.cpp b/WebCore/loader/ResourceLoader.cpp index d14afc8..183d2ce 100644 --- a/WebCore/loader/ResourceLoader.cpp +++ b/WebCore/loader/ResourceLoader.cpp @@ -34,6 +34,7 @@ #include "DocumentLoader.h" #include "Frame.h" #include "FrameLoader.h" +#include "InspectorTimelineAgent.h" #include "Page.h" #include "ProgressTracker.h" #include "ResourceHandle.h" @@ -111,6 +112,17 @@ bool ResourceLoader::load(const ResourceRequest& r) ASSERT(!m_documentLoader->isSubstituteLoadPending(this)); ResourceRequest clientRequest(r); + + // https://bugs.webkit.org/show_bug.cgi?id=26391 + // The various plug-in implementations call directly to ResourceLoader::load() instead of piping requests + // through FrameLoader. As a result, they miss the FrameLoader::addExtraFieldsToRequest() step which sets + // up the 1st party for cookies URL. Until plug-in implementations can be reigned in to pipe through that + // method, we need to make sure there is always a 1st party for cookies set. + if (clientRequest.firstPartyForCookies().isNull()) { + if (Document* document = m_frame->document()) + clientRequest.setFirstPartyForCookies(document->firstPartyForCookies()); + } + willSendRequest(clientRequest, ResourceResponse()); if (clientRequest.isNull()) { didFail(frameLoader()->cancelledError(r)); @@ -132,7 +144,7 @@ bool ResourceLoader::load(const ResourceRequest& r) return true; } - m_handle = ResourceHandle::create(clientRequest, this, m_frame.get(), m_defersLoading, m_shouldContentSniff, true); + m_handle = ResourceHandle::create(clientRequest, this, m_frame.get(), m_defersLoading, m_shouldContentSniff); return true; } @@ -397,16 +409,44 @@ void ResourceLoader::didSendData(ResourceHandle*, unsigned long long bytesSent, void ResourceLoader::didReceiveResponse(ResourceHandle*, const ResourceResponse& response) { +#if ENABLE(INSPECTOR) + if (InspectorTimelineAgent::instanceCount()) { + InspectorTimelineAgent* timelineAgent = m_frame->page() ? m_frame->page()->inspectorTimelineAgent() : 0; + if (timelineAgent) + timelineAgent->willReceiveResourceResponse(identifier(), response); + } +#endif #if ENABLE(OFFLINE_WEB_APPLICATIONS) if (documentLoader()->applicationCacheHost()->maybeLoadFallbackForResponse(this, response)) return; #endif didReceiveResponse(response); +#if ENABLE(INSPECTOR) + if (InspectorTimelineAgent::instanceCount()) { + InspectorTimelineAgent* timelineAgent = m_frame->page() ? m_frame->page()->inspectorTimelineAgent() : 0; + if (timelineAgent) + timelineAgent->didReceiveResourceResponse(); + } +#endif } void ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int length, int lengthReceived) { +#if ENABLE(INSPECTOR) + if (InspectorTimelineAgent::instanceCount()) { + InspectorTimelineAgent* timelineAgent = m_frame->page() ? m_frame->page()->inspectorTimelineAgent() : 0; + if (timelineAgent) + timelineAgent->willReceiveResourceData(identifier()); + } +#endif didReceiveData(data, length, lengthReceived, false); +#if ENABLE(INSPECTOR) + if (InspectorTimelineAgent::instanceCount()) { + InspectorTimelineAgent* timelineAgent = m_frame->page() ? m_frame->page()->inspectorTimelineAgent() : 0; + if (timelineAgent) + timelineAgent->didReceiveResourceData(); + } +#endif } void ResourceLoader::didFinishLoading(ResourceHandle*) |