| Index: content/browser/web_contents/web_contents_impl.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
| index 878fdb7be889bc4a7f3dfcf32129d4eadbe1b142..a965f5155eda7c6e4624a8f3f0ff75c2523fd0e7 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -624,6 +624,10 @@ bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host,
|
| OnDidDisplayInsecureContent)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_DidRunInsecureContent,
|
| OnDidRunInsecureContent)
|
| + IPC_MESSAGE_HANDLER(FrameHostMsg_DidDisplayContentWithCertificateErrors,
|
| + OnDidDisplayContentWithCertificateErrors)
|
| + IPC_MESSAGE_HANDLER(FrameHostMsg_DidRunContentWithCertificateErrors,
|
| + OnDidRunContentWithCertificateErrors)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_GoToEntryAtOffset, OnGoToEntryAtOffset)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateZoomLimits, OnUpdateZoomLimits)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_PageScaleFactorChanged,
|
| @@ -3140,12 +3144,12 @@ void WebContentsImpl::OnDidDisplayInsecureContent() {
|
| GetController().GetBrowserContext());
|
| }
|
|
|
| -void WebContentsImpl::OnDidRunInsecureContent(
|
| - const std::string& security_origin, const GURL& target_url) {
|
| +void WebContentsImpl::OnDidRunInsecureContent(const GURL& security_origin,
|
| + const GURL& target_url) {
|
| LOG(WARNING) << security_origin << " ran insecure content from "
|
| << target_url.possibly_invalid_spec();
|
| RecordAction(base::UserMetricsAction("SSL.RanInsecureContent"));
|
| - if (base::EndsWith(security_origin, kDotGoogleDotCom,
|
| + if (base::EndsWith(security_origin.spec(), kDotGoogleDotCom,
|
| base::CompareCase::INSENSITIVE_ASCII))
|
| RecordAction(base::UserMetricsAction("SSL.RanInsecureContentGoogle"));
|
| controller_.ssl_manager()->DidRunInsecureContent(security_origin);
|
| @@ -3153,6 +3157,39 @@ void WebContentsImpl::OnDidRunInsecureContent(
|
| GetController().GetBrowserContext());
|
| }
|
|
|
| +void WebContentsImpl::OnDidDisplayContentWithCertificateErrors(
|
| + const GURL& url,
|
| + const std::string& security_info) {
|
| + SSLStatus ssl;
|
| + if (!DeserializeSecurityInfo(security_info, &ssl)) {
|
| + bad_message::ReceivedBadMessage(
|
| + GetRenderProcessHost(),
|
| + bad_message::WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO);
|
| + return;
|
| + }
|
| +
|
| + displayed_insecure_content_ = true;
|
| + SSLManager::NotifySSLInternalStateChanged(
|
| + GetController().GetBrowserContext());
|
| +}
|
| +
|
| +void WebContentsImpl::OnDidRunContentWithCertificateErrors(
|
| + const GURL& security_origin,
|
| + const GURL& url,
|
| + const std::string& security_info) {
|
| + SSLStatus ssl;
|
| + if (!DeserializeSecurityInfo(security_info, &ssl)) {
|
| + bad_message::ReceivedBadMessage(
|
| + GetRenderProcessHost(),
|
| + bad_message::WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO);
|
| + return;
|
| + }
|
| +
|
| + controller_.ssl_manager()->DidRunInsecureContent(security_origin);
|
| + SSLManager::NotifySSLInternalStateChanged(
|
| + GetController().GetBrowserContext());
|
| +}
|
| +
|
| void WebContentsImpl::OnDocumentLoadedInFrame() {
|
| if (!HasValidFrameSource())
|
| return;
|
|
|