| Index: Source/core/loader/MixedContentChecker.cpp
|
| diff --git a/Source/core/loader/MixedContentChecker.cpp b/Source/core/loader/MixedContentChecker.cpp
|
| index a95506608316f069b44f0143160f2e87ba232705..00e80ada96be37a798c2b94e938c83ae22280f4a 100644
|
| --- a/Source/core/loader/MixedContentChecker.cpp
|
| +++ b/Source/core/loader/MixedContentChecker.cpp
|
| @@ -45,9 +45,6 @@
|
|
|
| namespace blink {
|
|
|
| -namespace {
|
| -} // namespace
|
| -
|
| MixedContentChecker::MixedContentChecker(LocalFrame* frame)
|
| : m_frame(frame)
|
| {
|
| @@ -213,6 +210,53 @@ void MixedContentChecker::logToConsole(LocalFrame* frame, const KURL& url, WebUR
|
| }
|
|
|
| // static
|
| +void MixedContentChecker::count(LocalFrame* frame, WebURLRequest::RequestContext requestContext)
|
| +{
|
| + UseCounter::count(frame, UseCounter::MixedContentPresent);
|
| +
|
| + // Roll blockable content up into a single counter, count unblocked types individually so we
|
| + // can determine when they can be safely moved to the blockable category:
|
| + ContextType contextType = contextTypeFromContext(requestContext);
|
| + if (contextType == ContextTypeBlockable || contextType == ContextTypeBlockableUnlessLax) {
|
| + UseCounter::count(frame, UseCounter::MixedContentBlockable);
|
| + return;
|
| + }
|
| +
|
| + UseCounter::Feature feature;
|
| + switch (requestContext) {
|
| + case WebURLRequest::RequestContextAudio:
|
| + feature = UseCounter::MixedContentAudio;
|
| + break;
|
| + case WebURLRequest::RequestContextDownload:
|
| + feature = UseCounter::MixedContentDownload;
|
| + break;
|
| + case WebURLRequest::RequestContextFavicon:
|
| + feature = UseCounter::MixedContentFavicon;
|
| + break;
|
| + case WebURLRequest::RequestContextImage:
|
| + feature = UseCounter::MixedContentImage;
|
| + break;
|
| + case WebURLRequest::RequestContextInternal:
|
| + feature = UseCounter::MixedContentInternal;
|
| + break;
|
| + case WebURLRequest::RequestContextPlugin:
|
| + feature = UseCounter::MixedContentPlugin;
|
| + break;
|
| + case WebURLRequest::RequestContextPrefetch:
|
| + feature = UseCounter::MixedContentPrefetch;
|
| + break;
|
| + case WebURLRequest::RequestContextVideo:
|
| + feature = UseCounter::MixedContentVideo;
|
| + break;
|
| +
|
| + default:
|
| + ASSERT_NOT_REACHED();
|
| + return;
|
| + }
|
| + UseCounter::count(frame, feature);
|
| +}
|
| +
|
| +// static
|
| bool MixedContentChecker::shouldBlockFetch(LocalFrame* frame, const ResourceRequest& resourceRequest, const KURL& url, MixedContentChecker::ReportingStatus reportingStatus)
|
| {
|
| // No frame, no mixed content:
|
| @@ -240,6 +284,8 @@ bool MixedContentChecker::shouldBlockFetch(LocalFrame* frame, const ResourceRequ
|
| if (!isMixedContent(frame->document()->securityOrigin(), url))
|
| return false;
|
|
|
| + MixedContentChecker::count(frame, resourceRequest.requestContext());
|
| +
|
| Settings* settings = frame->settings();
|
| FrameLoaderClient* client = frame->loader().client();
|
| SecurityOrigin* securityOrigin = frame->document()->securityOrigin();
|
|
|