Index: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
index 54838d534a03af615adc944e7fb6c12f5d7cc371..4f2c48eb708b0402151845e0474b08a8d57d0f22 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
@@ -867,52 +867,66 @@ void FrameFetchContext::modifyRequestForCSP(ResourceRequest& resourceRequest) { |
frame()->loader().modifyRequestForCSP(resourceRequest, m_document); |
} |
-void FrameFetchContext::addClientHintsIfNecessary(FetchRequest& fetchRequest) { |
+void FrameFetchContext::addClientHintsIfNecessary( |
+ const ClientHintsPreferences& hintsPreferences, |
+ const FetchRequest::ResourceWidth& resourceWidth, |
+ ResourceRequest& request) { |
if (!RuntimeEnabledFeatures::clientHintsEnabled() || !m_document) |
return; |
bool shouldSendDPR = m_document->clientHintsPreferences().shouldSendDPR() || |
- fetchRequest.clientHintsPreferences().shouldSendDPR(); |
+ hintsPreferences.shouldSendDPR(); |
bool shouldSendResourceWidth = |
m_document->clientHintsPreferences().shouldSendResourceWidth() || |
- fetchRequest.clientHintsPreferences().shouldSendResourceWidth(); |
+ hintsPreferences.shouldSendResourceWidth(); |
bool shouldSendViewportWidth = |
m_document->clientHintsPreferences().shouldSendViewportWidth() || |
- fetchRequest.clientHintsPreferences().shouldSendViewportWidth(); |
+ hintsPreferences.shouldSendViewportWidth(); |
if (shouldSendDPR) { |
- fetchRequest.mutableResourceRequest().addHTTPHeaderField( |
+ request.addHTTPHeaderField( |
"DPR", AtomicString(String::number(m_document->devicePixelRatio()))); |
} |
if (shouldSendResourceWidth) { |
- FetchRequest::ResourceWidth resourceWidth = fetchRequest.getResourceWidth(); |
if (resourceWidth.isSet) { |
float physicalWidth = |
resourceWidth.width * m_document->devicePixelRatio(); |
- fetchRequest.mutableResourceRequest().addHTTPHeaderField( |
+ request.addHTTPHeaderField( |
"Width", AtomicString(String::number(ceil(physicalWidth)))); |
} |
} |
if (shouldSendViewportWidth && frame()->view()) { |
- fetchRequest.mutableResourceRequest().addHTTPHeaderField( |
+ request.addHTTPHeaderField( |
"Viewport-Width", |
AtomicString(String::number(frame()->view()->viewportWidth()))); |
} |
} |
void FrameFetchContext::addCSPHeaderIfNecessary(Resource::Type type, |
- FetchRequest& fetchRequest) { |
+ ResourceRequest& request) { |
if (!m_document) |
return; |
const ContentSecurityPolicy* csp = m_document->contentSecurityPolicy(); |
if (csp->shouldSendCSPHeader(type)) |
- fetchRequest.mutableResourceRequest().addHTTPHeaderField("CSP", "active"); |
+ request.addHTTPHeaderField("CSP", "active"); |
} |
-void FrameFetchContext::populateRequestData(ResourceRequest& request) { |
+void FrameFetchContext::populateResourceRequest( |
+ Resource::Type type, |
+ const ClientHintsPreferences& hintsPreferences, |
+ const FetchRequest::ResourceWidth& resourceWidth, |
+ ResourceRequest& request) { |
+ setFirstPartyCookieAndRequestorOrigin(request); |
+ modifyRequestForCSP(request); |
+ addClientHintsIfNecessary(hintsPreferences, resourceWidth, request); |
+ addCSPHeaderIfNecessary(type, request); |
+} |
+ |
+void FrameFetchContext::setFirstPartyCookieAndRequestorOrigin( |
+ ResourceRequest& request) { |
if (!m_document) |
return; |