Index: chrome/browser/ui/cocoa/certificate_viewer_mac.h |
diff --git a/chrome/browser/ui/cocoa/certificate_viewer_mac.h b/chrome/browser/ui/cocoa/certificate_viewer_mac.h |
index c9213273a128ae8266ab52f8896f2717e6e63886..abec0dd4461fc25fcf258ba7e1ddda50b296593e 100644 |
--- a/chrome/browser/ui/cocoa/certificate_viewer_mac.h |
+++ b/chrome/browser/ui/cocoa/certificate_viewer_mac.h |
@@ -3,43 +3,62 @@ |
// found in the LICENSE file. |
#ifndef CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ |
- |
#define CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ |
-#include <memory> |
- |
-#include "base/mac/scoped_nsobject.h" |
-#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h" |
-#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h" |
+#import <Cocoa/Cocoa.h> |
+#import <SecurityInterface/SFCertificatePanel.h> |
-class SSLCertificateViewerCocoaBridge; |
-@class SFCertificatePanel; |
+namespace content { |
+class WebContents; |
+} |
namespace net { |
- class X509Certificate; |
+class X509Certificate; |
} |
-@interface SSLCertificateViewerCocoa : NSObject<ConstrainedWindowSheet> { |
- @private |
- // The corresponding list of certificates. |
- base::scoped_nsobject<NSArray> certificates_; |
- std::unique_ptr<SSLCertificateViewerCocoaBridge> observer_; |
- base::scoped_nsobject<SFCertificatePanel> panel_; |
- std::unique_ptr<ConstrainedWindowMac> constrainedWindow_; |
- base::scoped_nsobject<NSWindow> overlayWindow_; |
- BOOL closePending_; |
- // A copy of the overlay window's size used to restore on show. |
- NSSize oldOverlaySize_; |
- // A copy of the sheet's |autoresizesSubviews| flag to restore on show. |
- BOOL oldResizesSubviews_; |
-} |
+@interface SFCertificatePanel (SystemPrivate) |
+// 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. |
+// 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; |
+// 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; |
-- (NSWindow*)overlayWindow; |
+// 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; |
+ |
+// Returns the certificate panel used as the certificate viewer sheet. |
+- (NSWindow*)certificatePanel; |
@end |
-#endif // CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ |
+#endif // CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ |