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..67acc0956b5ac1d02c967ed32c85f2003fb03c1c |
--- /dev/null |
+++ b/chrome/browser/ui/certificate_viewer_mac.h |
@@ -0,0 +1,64 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
Robert Sesek
2016/08/24 18:42:40
nit: no (c) in new files, and it's 2016
Patti Lor
2016/08/25 08:25:12
These files are actually from chrome/browser/ui/co
Robert Sesek
2016/08/25 21:32:38
I'd still probably update it, but not required.
Patti Lor
2016/08/26 07:38:29
Acknowledged.
|
+// 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; |
+} |
+ |
+@interface SFCertificatePanel (SystemPrivate) |
Robert Sesek
2016/08/24 18:42:41
This should be in the .mm file if nobody else need
Patti Lor
2016/08/25 08:25:12
Done.
|
+// A system-private interface that dismisses a panel whose sheet was started by |
+// -beginSheetForWindow: |
+// modalDelegate: |
+// didEndSelector: |
+// contextInfo: |
+// certificates: |
+// showGroup: |
+// as though the user clicked the button identified by returnCode. Verified |
+// present in 10.8. |
+- (void)_dismissWithCode:(NSInteger)code; |
+@end |
+ |
+// Base class for the certificate viewer generated by OSX for Chrome Mac. |
Robert Sesek
2016/08/24 18:42:41
nit: "macOS" instead of "OSX" now
Patti Lor
2016/08/25 08:25:12
Done.
|
+// 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. |
+- (id)initWithCertificate:(net::X509Certificate*)certificate; |
Robert Sesek
2016/08/24 18:42:41
instancetype for new code is preferred
Patti Lor
2016/08/25 08:25:12
Done.
|
+ |
+// Closes the certificate viewer Cocoa sheet. Subclasses must implement this. |
+- (void)sheetDidEnd:(NSWindow*)parent |
+ returnCode:(NSInteger)returnCode |
+ context:(void*)context; |
+ |
+// Initializes the SFCertificatePanel provided by the OS to show the |
+// certificate. Also handles showing revoked certificates. |
+- (void)displayForWebContents:(content::WebContents*)webContents; |
Robert Sesek
2016/08/24 18:42:41
I'm a little confused by the API here, between the
Patti Lor
2016/08/25 08:25:12
Yeah, it could probably be named better. showCerti
|
+ |
+// Shows the certificate viewer as a Cocoa sheet. |
+- (void)showCertificateSheet:(NSWindow*)window; |
+ |
+// Closes the certificate viewer sheet. |
+- (void)closeCertificateSheet; |
+ |
+// Releases the native SFCertificatePanel window sheet. |
+- (void)releaseSheetWindow; |
Robert Sesek
2016/08/24 18:42:41
Why not just have the sheet released when closed?
Patti Lor
2016/08/25 08:25:12
Cocoa and MacViews need to call this at different
Robert Sesek
2016/08/25 21:32:39
OK, I think more of this should be documented in t
Patti Lor
2016/08/26 07:38:29
Acknowledged.
|
+ |
+// Returns the certificate panel used as the certificate viewer sheet. |
+- (NSWindow*)certificatePanel; |
+ |
+@end |
+ |
+#endif // CHROME_BROWSER_UI_CERTIFICATE_VIEWER_MAC_H_ |