| Index: third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
|
| index 2f43443c53e210cc7b80effedd9cced05ce55a5a..bad6f49a5b41b8dcfe1957a851377d4102ac42ea 100644
|
| --- a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
|
| @@ -2015,6 +2015,32 @@ void WebLocalFrameImpl::loadData(const WebData& data,
|
| static_cast<HistoryLoadType>(webHistoryLoadType));
|
| }
|
|
|
| +void WebLocalFrameImpl::mixedContentUpdateFromBrowser(
|
| + const std::set<int>& features,
|
| + bool mixedContentWasFound,
|
| + const WebURL& mixedContentUrl,
|
| + bool mixedContentHadRedirect) {
|
| + // Assimilate all features detected during mixed content checks in the
|
| + // browser.
|
| + DCHECK(!features.empty() || mixedContentWasFound);
|
| + for (int feature : features) {
|
| + UseCounter::count(frame(), static_cast<UseCounter::Feature>(feature));
|
| + }
|
| +
|
| + // Report found mixed content to the CSP policy.
|
| + if (mixedContentWasFound) {
|
| + ContentSecurityPolicy* policy =
|
| + frame()->securityContext()->contentSecurityPolicy();
|
| + if (policy) {
|
| + policy->reportMixedContent(
|
| + mixedContentUrl,
|
| + mixedContentHadRedirect
|
| + ? ResourceRequest::RedirectStatus::FollowedRedirect
|
| + : ResourceRequest::RedirectStatus::NoRedirect);
|
| + }
|
| + }
|
| +}
|
| +
|
| bool WebLocalFrameImpl::maybeRenderFallbackContent(
|
| const WebURLError& error) const {
|
| DCHECK(frame());
|
|
|