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

Side by Side Diff: chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.h

Issue 859213006: Cancel client auth requests when not promptable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@client-auth-cancel-1
Patch Set: worker_common.js was missing a license header (also a rebase) Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_ 5 #ifndef CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_
6 #define CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_ 6 #define CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/mac/scoped_cftyperef.h" 11 #include "base/mac/scoped_cftyperef.h"
12 #include "base/mac/scoped_nsobject.h" 12 #include "base/mac/scoped_nsobject.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "chrome/browser/ssl/ssl_client_certificate_selector.h" 15 #include "chrome/browser/ssl/ssl_client_certificate_selector.h"
16 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sh eet.h" 16 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sh eet.h"
17 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_con troller.h" 17 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_con troller.h"
18 18
19 namespace content { 19 namespace content {
20 class BrowserContext; 20 class BrowserContext;
21 class ClientCertificateDelegate;
21 } 22 }
22 23
23 class ConstrainedWindowMac; 24 class ConstrainedWindowMac;
24 @class SFChooseIdentityPanel; 25 @class SFChooseIdentityPanel;
25 class SSLClientAuthObserverCocoaBridge; 26 class SSLClientAuthObserverCocoaBridge;
26 27
27 @interface SSLClientCertificateSelectorCocoa 28 @interface SSLClientCertificateSelectorCocoa
28 : NSObject<ConstrainedWindowSheet> { 29 : NSObject<ConstrainedWindowSheet> {
29 @private 30 @private
30 // The list of identities offered to the user. 31 // The list of identities offered to the user.
31 base::ScopedCFTypeRef<CFMutableArrayRef> identities_; 32 base::ScopedCFTypeRef<CFMutableArrayRef> identities_;
32 // The corresponding list of certificates. 33 // The corresponding list of certificates.
33 std::vector<scoped_refptr<net::X509Certificate> > certificates_; 34 std::vector<scoped_refptr<net::X509Certificate> > certificates_;
34 // A C++ object to bridge SSLClientAuthObserver notifications to us. 35 // A C++ object to bridge SSLClientAuthObserver notifications to us.
35 scoped_ptr<SSLClientAuthObserverCocoaBridge> observer_; 36 scoped_ptr<SSLClientAuthObserverCocoaBridge> observer_;
36 base::scoped_nsobject<SFChooseIdentityPanel> panel_; 37 base::scoped_nsobject<SFChooseIdentityPanel> panel_;
37 scoped_ptr<ConstrainedWindowMac> constrainedWindow_; 38 scoped_ptr<ConstrainedWindowMac> constrainedWindow_;
38 base::scoped_nsobject<NSWindow> overlayWindow_; 39 base::scoped_nsobject<NSWindow> overlayWindow_;
39 BOOL closePending_; 40 BOOL closePending_;
40 // A copy of the sheet's frame used to restore on show. 41 // A copy of the sheet's frame used to restore on show.
41 NSRect oldSheetFrame_; 42 NSRect oldSheetFrame_;
42 // A copy of the sheet's |autoresizesSubviews| flag to restore on show. 43 // A copy of the sheet's |autoresizesSubviews| flag to restore on show.
43 BOOL oldResizesSubviews_; 44 BOOL oldResizesSubviews_;
45 // True if the user dismissed the dialog directly, either via the OK (continue
46 // the request with a certificate) or Cancel (continue the request with no
47 // certificate) buttons.
48 BOOL userResponded_;
44 } 49 }
45 50
46 @property (readonly, nonatomic) SFChooseIdentityPanel* panel; 51 @property (readonly, nonatomic) SFChooseIdentityPanel* panel;
47 52
48 - (id)initWithBrowserContext:(const content::BrowserContext*)browserContext 53 - (id)initWithBrowserContext:(const content::BrowserContext*)browserContext
49 certRequestInfo:(net::SSLCertRequestInfo*)certRequestInfo 54 certRequestInfo:(net::SSLCertRequestInfo*)certRequestInfo
50 callback:(const chrome::SelectCertificateCallback&)callback; 55 delegate:(scoped_ptr<content::ClientCertificateDelegate>)
56 delegate;
51 - (void)displayForWebContents:(content::WebContents*)webContents; 57 - (void)displayForWebContents:(content::WebContents*)webContents;
52 - (void)closeWebContentsModalDialog; 58 - (void)closeWebContentsModalDialog;
53 59
54 - (NSWindow*)overlayWindow; 60 - (NSWindow*)overlayWindow;
55 61
56 @end 62 @end
57 63
58 #endif // CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_ 64 #endif // CHROME_BROWSER_UI_COCOA_SSL_CLIENT_CERTIFICATE_SELECTOR_COCOA_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698