Index: chrome/browser/ui/certificate_viewer_mac.h |
diff --git a/chrome/browser/ui/certificate_viewer_mac.h b/chrome/browser/ui/certificate_viewer_mac.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b6ff51669d24e8a93623f9b6695fa904cc3f0cd0 |
--- /dev/null |
+++ b/chrome/browser/ui/certificate_viewer_mac.h |
@@ -0,0 +1,53 @@ |
+// Copyright (c) 2013 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_UI_CERTIFICATE_VIEWER_MAC_H_ |
+#define CHROME_BROWSER_UI_CERTIFICATE_VIEWER_MAC_H_ |
+ |
+#import <Cocoa/Cocoa.h> |
+#import <SecurityInterface/SFCertificatePanel.h> |
+ |
+namespace content { |
+class WebContents; |
+} |
+ |
+namespace net { |
+class X509Certificate; |
+} |
+ |
+// Base class for the certificate viewer generated by macOS for Chrome Mac. |
+// It grabs the certificates for a given WebContents object and displays the |
+// certificate viewer. |
+@interface SSLCertificateViewerMac : NSObject |
+ |
+// Initializes |certificates_| with the certificate chain for a given |
+// certificate. |
+- (instancetype)initWithCertificate:(net::X509Certificate*)certificate |
+ forWebContents:(content::WebContents*)webContents; |
+ |
+// Shows the certificate viewer as a Cocoa sheet. |
+- (void)showCertificateSheet:(NSWindow*)window; |
+ |
+// Closes the certificate viewer sheet, but doesn't release it. |
+- (void)closeCertificateSheet; |
+ |
+// Releases the native SFCertificatePanel window sheet created in |
+// initWithCertificate:forWebContents:. |
+- (void)releaseSheetWindow; |
+ |
+// Returns the certificate panel used as the certificate viewer sheet. |
+- (NSWindow*)certificatePanel; |
+ |
+@end |
+ |
+// SSLCertificateViewerMac is split into two interfaces to separate the public |
+// interface (above) to the one only subclasses need to know (below). |
+@interface SSLCertificateViewerMac (Protected) |
+// Closes the certificate viewer Cocoa sheet. Subclasses must implement this. |
+- (void)sheetDidEnd:(NSWindow*)parent |
+ returnCode:(NSInteger)returnCode |
+ context:(void*)context; |
+@end |
+ |
+#endif // CHROME_BROWSER_UI_CERTIFICATE_VIEWER_MAC_H_ |