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
14class SSLCertificateViewerCocoaBridge;
15@class SFCertificatePanel;
16
17namespace 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