Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: chrome/browser/ssl/chrome_ssl_host_state_delegate.h

Issue 465133004: Remove DenyCertForHost from SSLHostStateDelegate API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on ToT Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ssl/chrome_ssl_host_state_delegate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ssl/chrome_ssl_host_state_delegate.h
diff --git a/chrome/browser/ssl/chrome_ssl_host_state_delegate.h b/chrome/browser/ssl/chrome_ssl_host_state_delegate.h
index 9365ea9a12757b4e3efe0cb8d314a48236e6d8a9..da95d89f231691027a78d84347fdd472c8ade502 100644
--- a/chrome/browser/ssl/chrome_ssl_host_state_delegate.h
+++ b/chrome/browser/ssl/chrome_ssl_host_state_delegate.h
@@ -17,45 +17,44 @@ class Clock;
class DictionaryValue;
} // namespace base
-// Implementation of the tracking of user decisions on SSL errors for sites.
-// Tracks if the user has allowed, denied, or not seen an exception for the
-// specified site, SSL fingerprint, and error. If the user makes a decision,
-// stores the decision until either the session ends or for a length of time
-// (across session restarts), based on command line flags.
+// Tracks whether the user has allowed a certificate error exception for a
+// specific site, SSL fingerprint, and error. Based on command-line flags and
+// experimental group, remembers this decision either until end-of-session or
+// for a particular length of time.
class ChromeSSLHostStateDelegate : public content::SSLHostStateDelegate {
public:
explicit ChromeSSLHostStateDelegate(Profile* profile);
virtual ~ChromeSSLHostStateDelegate();
// SSLHostStateDelegate:
- virtual void DenyCert(const std::string& host,
- const net::X509Certificate& cert,
- net::CertStatus error) OVERRIDE;
virtual void AllowCert(const std::string& host,
const net::X509Certificate& cert,
net::CertStatus error) OVERRIDE;
virtual void Clear() OVERRIDE;
- virtual net::CertPolicy::Judgment QueryPolicy(
- const std::string& host,
- const net::X509Certificate& cert,
- net::CertStatus error,
- bool* expired_previous_decision) OVERRIDE;
+ virtual CertJudgment QueryPolicy(const std::string& host,
+ const net::X509Certificate& cert,
+ net::CertStatus error,
+ bool* expired_previous_decision) OVERRIDE;
virtual void HostRanInsecureContent(const std::string& host,
int pid) OVERRIDE;
virtual bool DidHostRunInsecureContent(const std::string& host,
int pid) const OVERRIDE;
- // ChromeSSLHostStateDelegate implementation:
- // Revoke all user decisions for |host| in the given Profile. The
- // RevokeUserDecisionsHard version may close idle connections in the process.
- // This version should be used *only* for rare events, such as a user
- // controlled button, as it may be very disruptive to the networking stack.
- virtual void RevokeUserDecisions(const std::string& host);
- virtual void RevokeUserDecisionsHard(const std::string& host);
+ // Revokes all SSL certificate error allow exceptions made by the user for
+ // |host| in the given Profile.
+ virtual void RevokeUserAllowExceptions(const std::string& host);
- // Returns true if any decisions has been recorded for |host| for the given
- // Profile, otherwise false.
- virtual bool HasUserDecision(const std::string& host) const;
+ // RevokeUserAllowExceptionsHard is the same as RevokeUserAllowExceptions but
+ // additionally may close idle connections in the process. This should be used
+ // *only* for rare events, such as a user controlled button, as it may be very
+ // disruptive to the networking stack.
+ virtual void RevokeUserAllowExceptionsHard(const std::string& host);
+
+ // Returns whether the user has allowed a certificate error exception for
+ // |host|. This does not mean that *all* certificate errors are allowed, just
+ // that there exists an exception. To see if a particular certificate and
+ // error combination exception is allowed, use QueryPolicy().
+ virtual bool HasAllowException(const std::string& host) const;
protected:
// SetClock takes ownership of the passed in clock.
@@ -85,18 +84,8 @@ class ChromeSSLHostStateDelegate : public content::SSLHostStateDelegate {
REMEMBER_SSL_EXCEPTION_DECISIONS_FOR_DELTA
};
- // Modify the user's content settings to specify a judgement made for a
- // specific site and certificate, where |url| is the site in question, |cert|
- // is the certificate with an error, |error| is the error in the certificate,
- // and |judgement| is the user decision to be recorded.
- void ChangeCertPolicy(const std::string& host,
- const net::X509Certificate& cert,
- net::CertStatus error,
- net::CertPolicy::Judgment judgment);
-
- // Query the content settings to retrieve a dictionary of certificate
- // fingerprints and errors of certificates to user decisions, as set by
- // ChangeCertPolicy. Returns NULL on a failure.
+ // Returns a dictionary of certificate fingerprints and errors that have been
+ // allowed as exceptions by the user.
//
// |dict| specifies the user's full exceptions dictionary for a specific site
// in their content settings. Must be retrieved directly from a website
« no previous file with comments | « no previous file | chrome/browser/ssl/chrome_ssl_host_state_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698