Index: ios/web/navigation/crw_session_certificate_policy_manager.h |
diff --git a/ios/web/navigation/crw_session_certificate_policy_manager.h b/ios/web/navigation/crw_session_certificate_policy_manager.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a97e913b7652556b460af82a92bbfb3ca87fb599 |
--- /dev/null |
+++ b/ios/web/navigation/crw_session_certificate_policy_manager.h |
@@ -0,0 +1,43 @@ |
+// Copyright 2012 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 IOS_WEB_NAVIGATION_CRW_SESSION_CERTIFICATE_POLICY_MANAGER_H_ |
+#define IOS_WEB_NAVIGATION_CRW_SESSION_CERTIFICATE_POLICY_MANAGER_H_ |
+ |
+#import <Foundation/Foundation.h> |
+#include <string> |
+ |
+#include "base/memory/ref_counted.h" |
+#include "net/cert/cert_status_flags.h" |
+ |
+@class CRWSessionEntry; |
+ |
+namespace net { |
+class X509Certificate; |
+} |
+ |
+namespace web { |
+class CertificatePolicyCache; |
+} |
+ |
+// The CRWSessionCertificatePolicyManager keeps track of the certificates that |
+// have been manually allowed by the user despite the errors. |
+// The CRWSessionCertificatePolicyManager lives on the main thread. |
+@interface CRWSessionCertificatePolicyManager : NSObject <NSCoding, NSCopying> |
+ |
+- (void)registerAllowedCertificate:(net::X509Certificate*)certificate |
+ forHost:(const std::string&)host |
+ status:(net::CertStatus)status; |
+ |
+// Removes all the certificates associated with this session. Note that this has |
+// no effect on the policy cache service. |
+- (void)clearCertificates; |
+ |
+// Copies the certificate polices for the session into |cache|. |
+- (void)updateCertificatePolicyCache: |
+ (const scoped_refptr<web::CertificatePolicyCache>&)cache; |
+ |
+@end |
+ |
+#endif // IOS_WEB_NAVIGATION_CRW_SESSION_CERTIFICATE_POLICY_MANAGER_H_ |