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

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

Issue 1123943002: Move SecurityLevel into a class of its own (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pkasting nits Created 5 years, 7 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
Index: chrome/browser/ssl/security_level_policy.h
diff --git a/chrome/browser/ssl/security_level_policy.h b/chrome/browser/ssl/security_level_policy.h
new file mode 100644
index 0000000000000000000000000000000000000000..28874cea7e9419af71cdb0d7e26d0887407604ee
--- /dev/null
+++ b/chrome/browser/ssl/security_level_policy.h
@@ -0,0 +1,55 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SSL_SECURITY_LEVEL_POLICY_H_
+#define CHROME_BROWSER_SSL_SECURITY_LEVEL_POLICY_H_
+
+#include "base/macros.h"
+
+namespace content {
+class WebContents;
+} // namespace content
+
+// This class is responsible for computing the security level of a page.
+class SecurityLevelPolicy {
+ public:
+ // TODO(wtc): unify ToolbarModel::SecurityLevel with SecurityStyle. We
+ // don't need two sets of security UI levels. SECURITY_STYLE_AUTHENTICATED
+ // needs to be refined into three levels: warning, standard, and EV.
Ryan Sleevi 2015/05/08 00:24:24 This TODO probably shouldn't be preserved - wtc no
felt 2015/05/08 00:27:23 there is a bug here: https://code.google.com/p/chr
estark 2015/05/08 04:54:33 I think we should remove the TODO because 1. there
Peter Kasting 2015/05/08 06:38:00 Hmm, to be pedantic, I don't think (1) or (2) are
estark 2015/05/09 02:29:08 Ok, fair enough. I'll leave it in for now.
+ //
+ // A Java counterpart will be generated for this enum.
+ // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.ssl
+ // GENERATED_JAVA_CLASS_NAME_OVERRIDE: SecurityLevelPolicySecurityLevel
+ enum SecurityLevel {
Ryan Sleevi 2015/05/08 00:24:23 Why are you assigning explicit values? Enums will
estark 2015/05/09 02:29:08 Hmm, I'm not sure why they're there. (This was rel
felt 2015/05/12 00:01:26 A switch statement sounds much less likely to brea
estark 2015/05/12 04:37:47 Done. (And removed NUM_SECURITY_LEVELS which no lo
+ // HTTP/no URL/user is editing
+ NONE = 0,
+
+ // HTTPS with valid EV cert
+ EV_SECURE = 1,
+
+ // HTTPS (non-EV)
+ SECURE = 2,
+
+ // HTTPS, but unable to check certificate revocation status or with insecure
+ // content on the page
+ SECURITY_WARNING = 3,
+
+ // HTTPS, but the certificate verification chain is anchored on a
+ // certificate that was installed by the system administrator
+ SECURITY_POLICY_WARNING = 4,
+
+ // Attempted HTTPS and failed, page not authenticated
+ SECURITY_ERROR = 5,
+
+ NUM_SECURITY_LEVELS = 6,
Ryan Sleevi 2015/05/08 00:24:24 Is this necessary?
estark 2015/05/08 04:54:32 It's used to sanity check the icons that the secur
+ };
+
+ static SecurityLevel GetSecurityLevelForWebContents(
+ content::WebContents* web_contents);
+
+ private:
+DISALLOW_IMPLICIT_CONSTRUCTORS(SecurityLevelPolicy);
Ryan Sleevi 2015/05/08 00:24:24 style: INDENT
estark 2015/05/09 02:29:08 Done.
+};
+
+#endif // CHROME_BROWSER_SSL_SECURITY_LEVEL_POLICY_H_

Powered by Google App Engine
This is Rietveld 408576698