Index: chrome/browser/ssl/ssl_blocking_page.h |
diff --git a/chrome/browser/ssl/ssl_blocking_page.h b/chrome/browser/ssl/ssl_blocking_page.h |
index ad42c0d7312f1aca6a2d2ba1ba9451a0d64a49af..02c3bbf32c8bd7095e59b22ae1b9377707e8a192 100644 |
--- a/chrome/browser/ssl/ssl_blocking_page.h |
+++ b/chrome/browser/ssl/ssl_blocking_page.h |
@@ -43,8 +43,16 @@ class SSLBlockingPage : public SecurityInterstitialPage { |
}; |
enum SSLBlockingPageOptionsMask { |
+ // Indicates whether or not the user could (assuming perfect knowledge) |
+ // successfully override the error and still get the security guarantees |
+ // of TLS. |
OVERRIDABLE = 1 << 0, |
+ // Indicates whether or not the site the user is trying to connect to has |
+ // requested strict enforcement of certificate validation (e.g. with HTTP |
+ // Strict-Transport-Security). |
STRICT_ENFORCEMENT = 1 << 1, |
+ // Indicates whether a user decision had been previously made but the |
+ // decision has expired. |
EXPIRED_BUT_PREVIOUSLY_ALLOWED = 1 << 2 |
}; |
@@ -74,6 +82,9 @@ class SSLBlockingPage : public SecurityInterstitialPage { |
static void SetExtraInfo(base::DictionaryValue* strings, |
const std::vector<base::string16>& extra_info); |
+ // Returns true if |options_mask| refers to an overridable SSL error. |
+ static bool IsOptionsOverridable(int options_mask); |
+ |
protected: |
// InterstitialPageDelegate implementation. |
void CommandReceived(const std::string& command) override; |