Index: third_party/WebKit/Source/platform/network/ResourceRequest.cpp |
diff --git a/third_party/WebKit/Source/platform/network/ResourceRequest.cpp b/third_party/WebKit/Source/platform/network/ResourceRequest.cpp |
index 3e63db337cff78fbb3111d687e3e9e252b3b70dc..1b095846962b31a8dd17d20f9cf50cf14451ffe3 100644 |
--- a/third_party/WebKit/Source/platform/network/ResourceRequest.cpp |
+++ b/third_party/WebKit/Source/platform/network/ResourceRequest.cpp |
@@ -29,6 +29,7 @@ |
#include "platform/HTTPNames.h" |
#include "platform/RuntimeEnabledFeatures.h" |
#include "platform/network/NetworkUtils.h" |
+#include "platform/network/ResourceResponse.h" |
#include "platform/weborigin/SecurityOrigin.h" |
#include "public/platform/WebAddressSpace.h" |
#include "public/platform/WebCachePolicy.h" |
@@ -93,6 +94,9 @@ ResourceRequest::ResourceRequest(CrossThreadResourceRequestData* data) |
m_isExternalRequest = data->m_isExternalRequest; |
m_inputPerfMetricReportPolicy = data->m_inputPerfMetricReportPolicy; |
m_redirectStatus = data->m_redirectStatus; |
+ for (auto& response : data->m_responses) |
+ data->m_responses.emplace_back(response.get()); |
+ m_navigationStart = data->m_navigationStart; |
} |
ResourceRequest::ResourceRequest(const ResourceRequest&) = default; |
@@ -139,6 +143,9 @@ std::unique_ptr<CrossThreadResourceRequestData> ResourceRequest::copyData() cons |
data->m_isExternalRequest = m_isExternalRequest; |
data->m_inputPerfMetricReportPolicy = m_inputPerfMetricReportPolicy; |
data->m_redirectStatus = m_redirectStatus; |
+ for (auto& response : m_responses) |
+ data->m_responses.push_back(response.toResourceResponse().copyData()); |
+ data->m_navigationStart = m_navigationStart; |
return data; |
} |
@@ -162,6 +169,11 @@ void ResourceRequest::setURL(const KURL& url) |
m_url = url; |
} |
+const KURL& ResourceRequest::initialUrl() const |
+{ |
+ return m_responses.empty() ? url() : m_responses[0].toResourceResponse().url(); |
+} |
+ |
void ResourceRequest::removeCredentials() |
{ |
if (m_url.user().isEmpty() && m_url.pass().isEmpty()) |
@@ -380,6 +392,16 @@ void ResourceRequest::setExternalRequestStateFromRequestorAddressSpace(WebAddres |
m_isExternalRequest = requestorSpace > targetSpace; |
} |
+void ResourceRequest::appendPreviousResponse(const WebURLResponse& response) |
+{ |
+ m_responses.push_back(response); |
+} |
+ |
+void ResourceRequest::setPreviousNavigationStart(double navigationStart) |
+{ |
+ m_navigationStart = navigationStart; |
+} |
+ |
bool ResourceRequest::isConditional() const |
{ |
return (m_httpHeaderFields.contains(HTTPNames::If_Match) |