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 1d8a489187bf24ba71847999558509e59898b068..c9e0e500eddf7ca325f2bb79b322d92f7b32d9db 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp |
@@ -667,7 +667,8 @@ SecurityOrigin* FrameFetchContext::getSecurityOrigin() const |
return m_document ? m_document->getSecurityOrigin() : nullptr; |
} |
-void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest) |
+// static |
+void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest, Document* document, FrameLoader* frameLoader) |
Nate Chapin
2016/08/26 16:04:34
Take a FrameLoader& instead?
arthursonzogni
2016/08/26 16:38:34
Yes we can. It is for saying it couldn't be null ?
|
{ |
// Tack an 'Upgrade-Insecure-Requests' header to outgoing navigational requests, as described in |
// https://w3c.github.io/webappsec/specs/upgrade/#feature-detect |
@@ -683,8 +684,8 @@ void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest) |
KURL url = resourceRequest.url(); |
// If we don't yet have an |m_document| (because we're loading an iframe, for instance), check the FrameLoader's policy. |
- WebInsecureRequestPolicy relevantPolicy = m_document ? m_document->getInsecureRequestPolicy() : frame()->loader().getInsecureRequestPolicy(); |
- SecurityContext::InsecureNavigationsSet* relevantNavigationSet = m_document ? m_document->insecureNavigationsToUpgrade() : frame()->loader().insecureNavigationsToUpgrade(); |
+ WebInsecureRequestPolicy relevantPolicy = document ? document->getInsecureRequestPolicy() : frameLoader->getInsecureRequestPolicy(); |
+ SecurityContext::InsecureNavigationsSet* relevantNavigationSet = document ? document->insecureNavigationsToUpgrade() : frameLoader->insecureNavigationsToUpgrade(); |
if (url.protocolIs("http") && relevantPolicy & kUpgradeInsecureRequests) { |
// We always upgrade requests that meet any of the following criteria: |
@@ -696,7 +697,7 @@ void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest) |
|| resourceRequest.frameType() == WebURLRequest::FrameTypeNested |
|| resourceRequest.requestContext() == WebURLRequest::RequestContextForm |
|| (!url.host().isNull() && relevantNavigationSet->contains(url.host().impl()->hash()))) { |
- UseCounter::count(m_document, UseCounter::UpgradeInsecureRequestsUpgradedRequest); |
+ UseCounter::count(document, UseCounter::UpgradeInsecureRequestsUpgradedRequest); |
url.setProtocol("https"); |
if (url.port() == 80) |
url.setPort(443); |
@@ -705,6 +706,11 @@ void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest) |
} |
} |
+void FrameFetchContext::upgradeInsecureRequest(ResourceRequest& resourceRequest) |
+{ |
+ upgradeInsecureRequest(resourceRequest, m_document, &(frame()->loader())); |
+} |
+ |
void FrameFetchContext::addClientHintsIfNecessary(FetchRequest& fetchRequest) |
{ |
if (!RuntimeEnabledFeatures::clientHintsEnabled() || !m_document) |