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

Unified Diff: chrome/browser/ui/cocoa/certificate_viewer_mac.h

Issue 1779383002: MacViews: Remove constrained window dependencies for certificate viewer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert random change that was made accidentally? Created 4 years, 4 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/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_
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/certificate_viewer_mac.mm » ('j') | chrome/browser/ui/cocoa/certificate_viewer_mac.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698