1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/ssl/ssl_host_state.h" 6 7 #include "base/logging.h" 8 9 SSLHostState::SSLHostState() { 10 } 11 12 SSLHostState::~SSLHostState() { 13 } 14 15 void SSLHostState::HostRanInsecureContent(const std::string& host, int pid) { 16 DCHECK(CalledOnValidThread()); 17 ran_insecure_content_hosts_.insert(BrokenHostEntry(host, pid)); 18 } 19 20 bool SSLHostState::DidHostRunInsecureContent(const std::string& host, 21 int pid) const { 22 DCHECK(CalledOnValidThread()); 23 return !!ran_insecure_content_hosts_.count(BrokenHostEntry(host, pid)); 24 } 25 26 void SSLHostState::DenyCertForHost(net::X509Certificate* cert, 27 const std::string& host) { 28 DCHECK(CalledOnValidThread()); 29 30 cert_policy_for_host_[host].Deny(cert); 31 } 32 33 void SSLHostState::AllowCertForHost(net::X509Certificate* cert, 34 const std::string& host) { 35 DCHECK(CalledOnValidThread()); 36 37 cert_policy_for_host_[host].Allow(cert); 38 } 39 40 net::CertPolicy::Judgment SSLHostState::QueryPolicy( 41 net::X509Certificate* cert, const std::string& host) { 42 DCHECK(CalledOnValidThread()); 43 44 return cert_policy_for_host_[host].Check(cert); 45 } 46