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

Side by Side Diff: chrome/browser/ui/gtk/ssl_client_certificate_selector.cc

Issue 10545115: TabContentsWrapper -> TabContents, part 41. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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 | Annotate | Revision Log
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 #include "chrome/browser/ssl_client_certificate_selector.h" 5 #include "chrome/browser/ssl_client_certificate_selector.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/i18n/time_formatting.h" 13 #include "base/i18n/time_formatting.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/utf_string_conversions.h" 15 #include "base/utf_string_conversions.h"
16 #include "chrome/browser/certificate_viewer.h" 16 #include "chrome/browser/certificate_viewer.h"
17 #include "chrome/browser/ssl/ssl_client_auth_observer.h" 17 #include "chrome/browser/ssl/ssl_client_auth_observer.h"
18 #include "chrome/browser/ui/crypto_module_password_dialog.h" 18 #include "chrome/browser/ui/crypto_module_password_dialog.h"
19 #include "chrome/browser/ui/gtk/constrained_window_gtk.h" 19 #include "chrome/browser/ui/gtk/constrained_window_gtk.h"
20 #include "chrome/browser/ui/gtk/gtk_util.h" 20 #include "chrome/browser/ui/gtk/gtk_util.h"
21 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 21 #include "chrome/browser/ui/tab_contents/tab_contents.h"
22 #include "chrome/common/net/x509_certificate_model.h" 22 #include "chrome/common/net/x509_certificate_model.h"
23 #include "content/public/browser/browser_thread.h" 23 #include "content/public/browser/browser_thread.h"
24 #include "grit/generated_resources.h" 24 #include "grit/generated_resources.h"
25 #include "net/base/ssl_cert_request_info.h" 25 #include "net/base/ssl_cert_request_info.h"
26 #include "net/base/x509_certificate.h" 26 #include "net/base/x509_certificate.h"
27 #include "ui/base/gtk/gtk_compat.h" 27 #include "ui/base/gtk/gtk_compat.h"
28 #include "ui/base/gtk/gtk_hig_constants.h" 28 #include "ui/base/gtk/gtk_hig_constants.h"
29 #include "ui/base/gtk/gtk_signal.h" 29 #include "ui/base/gtk/gtk_signal.h"
30 #include "ui/base/gtk/owned_widget_gtk.h" 30 #include "ui/base/gtk/owned_widget_gtk.h"
31 #include "ui/base/l10n/l10n_util.h" 31 #include "ui/base/l10n/l10n_util.h"
32 #include "ui/gfx/native_widget_types.h" 32 #include "ui/gfx/native_widget_types.h"
33 33
34 using content::BrowserThread; 34 using content::BrowserThread;
35 35
36 namespace { 36 namespace {
37 37
38 enum { 38 enum {
39 RESPONSE_SHOW_CERT_INFO = 1, 39 RESPONSE_SHOW_CERT_INFO = 1,
40 }; 40 };
41 41
42 /////////////////////////////////////////////////////////////////////////////// 42 ///////////////////////////////////////////////////////////////////////////////
43 // SSLClientCertificateSelector 43 // SSLClientCertificateSelector
44 44
45 class SSLClientCertificateSelector : public SSLClientAuthObserver, 45 class SSLClientCertificateSelector : public SSLClientAuthObserver,
46 public ConstrainedWindowGtkDelegate { 46 public ConstrainedWindowGtkDelegate {
47 public: 47 public:
48 explicit SSLClientCertificateSelector( 48 explicit SSLClientCertificateSelector(
49 TabContentsWrapper* parent, 49 TabContents* parent,
50 const net::HttpNetworkSession* network_session, 50 const net::HttpNetworkSession* network_session,
51 net::SSLCertRequestInfo* cert_request_info, 51 net::SSLCertRequestInfo* cert_request_info,
52 const base::Callback<void(net::X509Certificate*)>& callback); 52 const base::Callback<void(net::X509Certificate*)>& callback);
53 ~SSLClientCertificateSelector(); 53 ~SSLClientCertificateSelector();
54 54
55 void Show(); 55 void Show();
56 56
57 // SSLClientAuthObserver implementation: 57 // SSLClientAuthObserver implementation:
58 virtual void OnCertSelectedByNotification(); 58 virtual void OnCertSelectedByNotification();
59 59
(...skipping 25 matching lines...) Expand all
85 85
86 std::vector<std::string> details_strings_; 86 std::vector<std::string> details_strings_;
87 87
88 GtkWidget* cert_combo_box_; 88 GtkWidget* cert_combo_box_;
89 GtkTextBuffer* cert_details_buffer_; 89 GtkTextBuffer* cert_details_buffer_;
90 90
91 ui::OwnedWidgetGtk root_widget_; 91 ui::OwnedWidgetGtk root_widget_;
92 // Hold on to the select button to focus it. 92 // Hold on to the select button to focus it.
93 GtkWidget* select_button_; 93 GtkWidget* select_button_;
94 94
95 TabContentsWrapper* wrapper_; 95 TabContents* tab_contents_;
96 ConstrainedWindow* window_; 96 ConstrainedWindow* window_;
97 97
98 DISALLOW_COPY_AND_ASSIGN(SSLClientCertificateSelector); 98 DISALLOW_COPY_AND_ASSIGN(SSLClientCertificateSelector);
99 }; 99 };
100 100
101 SSLClientCertificateSelector::SSLClientCertificateSelector( 101 SSLClientCertificateSelector::SSLClientCertificateSelector(
102 TabContentsWrapper* wrapper, 102 TabContents* tab_contents,
103 const net::HttpNetworkSession* network_session, 103 const net::HttpNetworkSession* network_session,
104 net::SSLCertRequestInfo* cert_request_info, 104 net::SSLCertRequestInfo* cert_request_info,
105 const base::Callback<void(net::X509Certificate*)>& callback) 105 const base::Callback<void(net::X509Certificate*)>& callback)
106 : SSLClientAuthObserver(network_session, cert_request_info, callback), 106 : SSLClientAuthObserver(network_session, cert_request_info, callback),
107 wrapper_(wrapper), 107 tab_contents_(tab_contents),
108 window_(NULL) { 108 window_(NULL) {
109 root_widget_.Own(gtk_vbox_new(FALSE, ui::kControlSpacing)); 109 root_widget_.Own(gtk_vbox_new(FALSE, ui::kControlSpacing));
110 110
111 GtkWidget* site_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing); 111 GtkWidget* site_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing);
112 gtk_box_pack_start(GTK_BOX(root_widget_.get()), site_vbox, 112 gtk_box_pack_start(GTK_BOX(root_widget_.get()), site_vbox,
113 FALSE, FALSE, 0); 113 FALSE, FALSE, 0);
114 114
115 GtkWidget* site_description_label = gtk_util::CreateBoldLabel( 115 GtkWidget* site_description_label = gtk_util::CreateBoldLabel(
116 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_SITE_DESCRIPTION_LABEL)); 116 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_SITE_DESCRIPTION_LABEL));
117 gtk_box_pack_start(GTK_BOX(site_vbox), site_description_label, 117 gtk_box_pack_start(GTK_BOX(site_vbox), site_description_label,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 190
191 StartObserving(); 191 StartObserving();
192 } 192 }
193 193
194 SSLClientCertificateSelector::~SSLClientCertificateSelector() { 194 SSLClientCertificateSelector::~SSLClientCertificateSelector() {
195 root_widget_.Destroy(); 195 root_widget_.Destroy();
196 } 196 }
197 197
198 void SSLClientCertificateSelector::Show() { 198 void SSLClientCertificateSelector::Show() {
199 DCHECK(!window_); 199 DCHECK(!window_);
200 window_ = new ConstrainedWindowGtk(wrapper_, this); 200 window_ = new ConstrainedWindowGtk(tab_contents_, this);
201 } 201 }
202 202
203 void SSLClientCertificateSelector::OnCertSelectedByNotification() { 203 void SSLClientCertificateSelector::OnCertSelectedByNotification() {
204 DCHECK(window_); 204 DCHECK(window_);
205 window_->CloseConstrainedWindow(); 205 window_->CloseConstrainedWindow();
206 } 206 }
207 207
208 GtkWidget* SSLClientCertificateSelector::GetFocusWidget() { 208 GtkWidget* SSLClientCertificateSelector::GetFocusWidget() {
209 return select_button_; 209 return select_button_;
210 } 210 }
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 } 381 }
382 382
383 } // namespace 383 } // namespace
384 384
385 /////////////////////////////////////////////////////////////////////////////// 385 ///////////////////////////////////////////////////////////////////////////////
386 // SSLClientAuthHandler platform specific implementation: 386 // SSLClientAuthHandler platform specific implementation:
387 387
388 namespace browser { 388 namespace browser {
389 389
390 void ShowSSLClientCertificateSelector( 390 void ShowSSLClientCertificateSelector(
391 TabContentsWrapper* wrapper, 391 TabContents* tab_contents,
392 const net::HttpNetworkSession* network_session, 392 const net::HttpNetworkSession* network_session,
393 net::SSLCertRequestInfo* cert_request_info, 393 net::SSLCertRequestInfo* cert_request_info,
394 const base::Callback<void(net::X509Certificate*)>& callback) { 394 const base::Callback<void(net::X509Certificate*)>& callback) {
395 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 395 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
396 (new SSLClientCertificateSelector( 396 (new SSLClientCertificateSelector(
397 wrapper, network_session, cert_request_info, callback))->Show(); 397 tab_contents, network_session, cert_request_info, callback))->Show();
398 } 398 }
399 399
400 } // namespace browser 400 } // namespace browser
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698