| Index: third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp b/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
|
| index c6a9cfbced4bfe55958a79c0b58845cd0c6ed79f..bb242516a9ff57f48cfc998b15da41b31475c93b 100644
|
| --- a/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
|
| @@ -29,6 +29,7 @@
|
| #include "core/loader/MixedContentChecker.h"
|
|
|
| #include "core/dom/Document.h"
|
| +#include "core/frame/ContentSettingsClient.h"
|
| #include "core/frame/Frame.h"
|
| #include "core/frame/LocalFrame.h"
|
| #include "core/frame/LocalFrameClient.h"
|
| @@ -323,6 +324,7 @@ bool MixedContentChecker::shouldBlockFetch(
|
| // Use the current local frame's client; the embedder doesn't distinguish
|
| // mixed content signals from different frames on the same page.
|
| LocalFrameClient* client = frame->loader().client();
|
| + ContentSettingsClient* contentSettingsClient = frame->contentSettingsClient();
|
| SecurityOrigin* securityOrigin =
|
| mixedFrame->securityContext()->getSecurityOrigin();
|
| bool allowed = false;
|
| @@ -354,7 +356,7 @@ bool MixedContentChecker::shouldBlockFetch(
|
| case WebMixedContentContextType::OptionallyBlockable:
|
| allowed = !strictMode;
|
| if (allowed) {
|
| - client->passiveInsecureContentFound(url);
|
| + contentSettingsClient->passiveInsecureContentFound(url);
|
| client->didDisplayInsecureContent();
|
| }
|
| break;
|
| @@ -381,7 +383,7 @@ bool MixedContentChecker::shouldBlockFetch(
|
| (!settings->getStrictlyBlockBlockableMixedContent() ||
|
| settings->getAllowRunningOfInsecureContent());
|
| allowed = shouldAskEmbedder &&
|
| - client->allowRunningInsecureContent(
|
| + contentSettingsClient->allowRunningInsecureContent(
|
| settings && settings->getAllowRunningOfInsecureContent(),
|
| securityOrigin, url);
|
| if (allowed) {
|
| @@ -449,7 +451,8 @@ bool MixedContentChecker::shouldBlockWebSocket(
|
| Settings* settings = mixedFrame->settings();
|
| // Use the current local frame's client; the embedder doesn't distinguish
|
| // mixed content signals from different frames on the same page.
|
| - LocalFrameClient* client = frame->loader().client();
|
| + ContentSettingsClient* contentSettingsClient = frame->contentSettingsClient();
|
| + LocalFrameClient* client = frame->client();
|
| SecurityOrigin* securityOrigin =
|
| mixedFrame->securityContext()->getSecurityOrigin();
|
| bool allowed = false;
|
| @@ -463,8 +466,8 @@ bool MixedContentChecker::shouldBlockWebSocket(
|
| if (!strictMode) {
|
| bool allowedPerSettings =
|
| settings && settings->getAllowRunningOfInsecureContent();
|
| - allowed = client->allowRunningInsecureContent(allowedPerSettings,
|
| - securityOrigin, url);
|
| + allowed = contentSettingsClient->allowRunningInsecureContent(
|
| + allowedPerSettings, securityOrigin, url);
|
| }
|
|
|
| if (allowed)
|
|
|