Chromium Code Reviews| 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) |