1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ 6 7 #define CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ 8 9 #include "base/mac/scoped_nsobject.h" 10 #include "base/memory/scoped_ptr.h" 11 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h" 12 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h" 13 14 class SSLCertificateViewerCocoaBridge; 15 @class SFCertificatePanel; 16 17 namespace net { 18 class X509Certificate; 19 } 20 21 @interface SSLCertificateViewerCocoa : NSObject<ConstrainedWindowSheet> { 22 @private 23 // The corresponding list of certificates. 24 base::scoped_nsobject<NSArray> certificates_; 25 scoped_ptr<SSLCertificateViewerCocoaBridge> observer_; 26 base::scoped_nsobject<SFCertificatePanel> panel_; 27 scoped_ptr<ConstrainedWindowMac> constrainedWindow_; 28 base::scoped_nsobject<NSWindow> overlayWindow_; 29 BOOL closePending_; 30 // A copy of the sheet's frame used to restore on show. 31 NSRect oldSheetFrame_; 32 // A copy of the sheet's |autoresizesSubviews| flag to restore on show. 33 BOOL oldResizesSubviews_; 34 } 35 36 - (id)initWithCertificate:(net::X509Certificate*)certificate; 37 38 - (void)displayForWebContents:(content::WebContents*)webContents; 39 40 - (NSWindow*)overlayWindow; 41 42 @end 43 44 #endif // CHROME_BROWSER_UI_COCOA_CERTIFICATE_VIEWER_MAC_H_ 45