• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
SSLHostState()9 SSLHostState::SSLHostState() {
10 }
11 
~SSLHostState()12 SSLHostState::~SSLHostState() {
13 }
14 
HostRanInsecureContent(const std::string & host,int pid)15 void SSLHostState::HostRanInsecureContent(const std::string& host, int pid) {
16   DCHECK(CalledOnValidThread());
17   ran_insecure_content_hosts_.insert(BrokenHostEntry(host, pid));
18 }
19 
DidHostRunInsecureContent(const std::string & host,int pid) const20 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 
DenyCertForHost(net::X509Certificate * cert,const std::string & host)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 
AllowCertForHost(net::X509Certificate * cert,const std::string & host)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 
QueryPolicy(net::X509Certificate * cert,const std::string & host)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