| Index: content/browser/ssl/ssl_host_state.h
|
| diff --git a/content/browser/ssl/ssl_host_state.h b/content/browser/ssl/ssl_host_state.h
|
| index 820821786d31180066f21fdfb900f1b7dd9a7fbd..392049bb4e252cfa44e719c0bf71bb3a9fca7feb 100644
|
| --- a/content/browser/ssl/ssl_host_state.h
|
| +++ b/content/browser/ssl/ssl_host_state.h
|
| @@ -19,6 +19,7 @@
|
|
|
| namespace content {
|
| class BrowserContext;
|
| +class SSLHostStateDelegate;
|
|
|
| // SSLHostState
|
| //
|
| @@ -27,11 +28,14 @@ class BrowserContext;
|
| // particular broken cert for use with particular host. We separate this state
|
| // from the SSLManager because this state is shared across many navigation
|
| // controllers.
|
| -
|
| class CONTENT_EXPORT SSLHostState
|
| : NON_EXPORTED_BASE(base::SupportsUserData::Data),
|
| NON_EXPORTED_BASE(public base::NonThreadSafe) {
|
| public:
|
| + // Contexts may specify a NULL certificate decision storage strategy. In that
|
| + // case, the returned SSLHostState from GetFor() will implement a default
|
| + // strategy of ignoring all exception requests and returning
|
| + // net::QueryPolicy::Judgment::UNKOWN from QueryPolicy().
|
| static SSLHostState* GetFor(BrowserContext* browser_context);
|
|
|
| SSLHostState();
|
| @@ -43,22 +47,27 @@ class CONTENT_EXPORT SSLHostState
|
| // Returns whether the specified host ran insecure content.
|
| bool DidHostRunInsecureContent(const std::string& host, int pid) const;
|
|
|
| - // Records that |cert| is not permitted to be used for |host| in the future,
|
| - // for a specified |error| type..
|
| + // Records that |cert| is not permitted to be used for |url| in the future,
|
| + // for a specified |error| type.
|
| void DenyCertForHost(net::X509Certificate* cert,
|
| const std::string& host,
|
| net::CertStatus error);
|
|
|
| - // Records that |cert| is permitted to be used for |host| in the future, for
|
| + // Records that |cert| is permitted to be used for |url| in the future, for
|
| // a specified |error| type.
|
| void AllowCertForHost(net::X509Certificate* cert,
|
| const std::string& host,
|
| net::CertStatus error);
|
|
|
| + // Revoke all allow/deny preferences for |url|.
|
| + void RevokeAllowAndDenyPreferences(const std::string& host);
|
| +
|
| + bool HasAllowedOrDeniedCert(const std::string& host);
|
| +
|
| // Clear all allow/deny preferences.
|
| void Clear();
|
|
|
| - // Queries whether |cert| is allowed or denied for |host| and |error|.
|
| + // Queries whether |cert| is allowed or denied for |url| and |error|.
|
| net::CertPolicy::Judgment QueryPolicy(net::X509Certificate* cert,
|
| const std::string& host,
|
| net::CertStatus error);
|
| @@ -73,8 +82,9 @@ class CONTENT_EXPORT SSLHostState
|
| // same-origin frames in one processs but cannot jump between processes.
|
| std::set<BrokenHostEntry> ran_insecure_content_hosts_;
|
|
|
| - // Certificate policies for each host.
|
| - std::map<std::string, net::CertPolicy> cert_policy_for_host_;
|
| + // The certificate decision store. It may be NULL, depending on the browsing
|
| + // context. This is owned by the browsing context.
|
| + SSLHostStateDelegate* delegate_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SSLHostState);
|
| };
|
|
|