Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp

Issue 2555713002: Don't use FetchRequest in FrameFetchContext (Closed)
Patch Set: a Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 355011b74c11398dff77fa632fa51149dccc57ba..6444a2d41ccdbfd3db7b6dcba2cf106bc79defd5 100644
--- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
@@ -896,52 +896,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;

Powered by Google App Engine
This is Rietveld 408576698