OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/i18n/time_formatting.h" | 12 #include "base/i18n/time_formatting.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/utf_string_conversions.h" | 14 #include "base/utf_string_conversions.h" |
15 #include "chrome/browser/certificate_viewer.h" | 15 #include "chrome/browser/certificate_viewer.h" |
16 #include "chrome/browser/ui/crypto_module_password_dialog.h" | 16 #include "chrome/browser/ui/crypto_module_password_dialog.h" |
17 #include "chrome/browser/ui/gtk/constrained_window_gtk.h" | 17 #include "chrome/browser/ui/gtk/constrained_window_gtk.h" |
18 #include "chrome/browser/ui/gtk/gtk_util.h" | 18 #include "chrome/browser/ui/gtk/gtk_util.h" |
19 #include "chrome/common/net/x509_certificate_model.h" | 19 #include "chrome/common/net/x509_certificate_model.h" |
20 #include "content/browser/browser_thread.h" | 20 #include "content/browser/browser_thread.h" |
21 #include "content/browser/ssl/ssl_client_auth_handler.h" | 21 #include "content/browser/ssl/ssl_client_auth_handler.h" |
22 #include "content/browser/tab_contents/tab_contents.h" | 22 #include "content/browser/tab_contents/tab_contents.h" |
23 #include "grit/generated_resources.h" | 23 #include "grit/generated_resources.h" |
24 #include "net/base/x509_certificate.h" | 24 #include "net/base/x509_certificate.h" |
25 #include "ui/base/gtk/gtk_hig_constants.h" | |
26 #include "ui/base/gtk/gtk_signal.h" | 25 #include "ui/base/gtk/gtk_signal.h" |
27 #include "ui/base/gtk/owned_widget_gtk.h" | 26 #include "ui/base/gtk/owned_widget_gtk.h" |
28 #include "ui/base/l10n/l10n_util.h" | 27 #include "ui/base/l10n/l10n_util.h" |
29 #include "ui/gfx/native_widget_types.h" | 28 #include "ui/gfx/native_widget_types.h" |
30 | 29 |
31 namespace { | 30 namespace { |
32 | 31 |
33 enum { | 32 enum { |
34 RESPONSE_SHOW_CERT_INFO = 1, | 33 RESPONSE_SHOW_CERT_INFO = 1, |
35 }; | 34 }; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 | 97 |
99 SSLClientCertificateSelector::SSLClientCertificateSelector( | 98 SSLClientCertificateSelector::SSLClientCertificateSelector( |
100 TabContents* parent, | 99 TabContents* parent, |
101 net::SSLCertRequestInfo* cert_request_info, | 100 net::SSLCertRequestInfo* cert_request_info, |
102 SSLClientAuthHandler* delegate) | 101 SSLClientAuthHandler* delegate) |
103 : SSLClientAuthObserver(cert_request_info, delegate), | 102 : SSLClientAuthObserver(cert_request_info, delegate), |
104 cert_request_info_(cert_request_info), | 103 cert_request_info_(cert_request_info), |
105 delegate_(delegate), | 104 delegate_(delegate), |
106 parent_(parent), | 105 parent_(parent), |
107 window_(NULL) { | 106 window_(NULL) { |
108 root_widget_.Own(gtk_vbox_new(FALSE, ui::kControlSpacing)); | 107 root_widget_.Own(gtk_vbox_new(FALSE, gtk_util::kControlSpacing)); |
109 | 108 |
110 GtkWidget* site_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing); | 109 GtkWidget* site_vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); |
111 gtk_box_pack_start(GTK_BOX(root_widget_.get()), site_vbox, | 110 gtk_box_pack_start(GTK_BOX(root_widget_.get()), site_vbox, |
112 FALSE, FALSE, 0); | 111 FALSE, FALSE, 0); |
113 | 112 |
114 GtkWidget* site_description_label = gtk_util::CreateBoldLabel( | 113 GtkWidget* site_description_label = gtk_util::CreateBoldLabel( |
115 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_SITE_DESCRIPTION_LABEL)); | 114 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_SITE_DESCRIPTION_LABEL)); |
116 gtk_box_pack_start(GTK_BOX(site_vbox), site_description_label, | 115 gtk_box_pack_start(GTK_BOX(site_vbox), site_description_label, |
117 FALSE, FALSE, 0); | 116 FALSE, FALSE, 0); |
118 | 117 |
119 GtkWidget* site_label = gtk_label_new( | 118 GtkWidget* site_label = gtk_label_new( |
120 cert_request_info->host_and_port.c_str()); | 119 cert_request_info->host_and_port.c_str()); |
121 gtk_util::LeftAlignMisc(site_label); | 120 gtk_util::LeftAlignMisc(site_label); |
122 gtk_box_pack_start(GTK_BOX(site_vbox), site_label, FALSE, FALSE, 0); | 121 gtk_box_pack_start(GTK_BOX(site_vbox), site_label, FALSE, FALSE, 0); |
123 | 122 |
124 GtkWidget* selector_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing); | 123 GtkWidget* selector_vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); |
125 gtk_box_pack_start(GTK_BOX(root_widget_.get()), selector_vbox, | 124 gtk_box_pack_start(GTK_BOX(root_widget_.get()), selector_vbox, |
126 TRUE, TRUE, 0); | 125 TRUE, TRUE, 0); |
127 | 126 |
128 GtkWidget* choose_description_label = gtk_util::CreateBoldLabel( | 127 GtkWidget* choose_description_label = gtk_util::CreateBoldLabel( |
129 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_CHOOSE_DESCRIPTION_LABEL)); | 128 l10n_util::GetStringUTF8(IDS_CERT_SELECTOR_CHOOSE_DESCRIPTION_LABEL)); |
130 gtk_box_pack_start(GTK_BOX(selector_vbox), choose_description_label, | 129 gtk_box_pack_start(GTK_BOX(selector_vbox), choose_description_label, |
131 FALSE, FALSE, 0); | 130 FALSE, FALSE, 0); |
132 | 131 |
133 | 132 |
134 cert_combo_box_ = gtk_combo_box_new_text(); | 133 cert_combo_box_ = gtk_combo_box_new_text(); |
(...skipping 18 matching lines...) Expand all Loading... |
153 // dialog. This does however mean the dialog will grow itself if you switch | 152 // dialog. This does however mean the dialog will grow itself if you switch |
154 // to different cert that has longer details text. | 153 // to different cert that has longer details text. |
155 GtkWidget* details_frame = gtk_frame_new(NULL); | 154 GtkWidget* details_frame = gtk_frame_new(NULL); |
156 gtk_frame_set_shadow_type(GTK_FRAME(details_frame), GTK_SHADOW_ETCHED_IN); | 155 gtk_frame_set_shadow_type(GTK_FRAME(details_frame), GTK_SHADOW_ETCHED_IN); |
157 gtk_container_add(GTK_CONTAINER(details_frame), cert_details_view); | 156 gtk_container_add(GTK_CONTAINER(details_frame), cert_details_view); |
158 gtk_box_pack_start(GTK_BOX(selector_vbox), details_frame, TRUE, TRUE, 0); | 157 gtk_box_pack_start(GTK_BOX(selector_vbox), details_frame, TRUE, TRUE, 0); |
159 | 158 |
160 // And then create a set of buttons like a GtkDialog would. | 159 // And then create a set of buttons like a GtkDialog would. |
161 GtkWidget* button_box = gtk_hbutton_box_new(); | 160 GtkWidget* button_box = gtk_hbutton_box_new(); |
162 gtk_button_box_set_layout(GTK_BUTTON_BOX(button_box), GTK_BUTTONBOX_END); | 161 gtk_button_box_set_layout(GTK_BUTTON_BOX(button_box), GTK_BUTTONBOX_END); |
163 gtk_box_set_spacing(GTK_BOX(button_box), ui::kControlSpacing); | 162 gtk_box_set_spacing(GTK_BOX(button_box), gtk_util::kControlSpacing); |
164 gtk_box_pack_end(GTK_BOX(root_widget_.get()), button_box, FALSE, FALSE, 0); | 163 gtk_box_pack_end(GTK_BOX(root_widget_.get()), button_box, FALSE, FALSE, 0); |
165 | 164 |
166 GtkWidget* view_button = gtk_button_new_with_mnemonic( | 165 GtkWidget* view_button = gtk_button_new_with_mnemonic( |
167 l10n_util::GetStringUTF8(IDS_PAGEINFO_CERT_INFO_BUTTON).c_str()); | 166 l10n_util::GetStringUTF8(IDS_PAGEINFO_CERT_INFO_BUTTON).c_str()); |
168 gtk_box_pack_start(GTK_BOX(button_box), view_button, FALSE, FALSE, 0); | 167 gtk_box_pack_start(GTK_BOX(button_box), view_button, FALSE, FALSE, 0); |
169 g_signal_connect(view_button, "clicked", | 168 g_signal_connect(view_button, "clicked", |
170 G_CALLBACK(OnViewClickedThunk), this); | 169 G_CALLBACK(OnViewClickedThunk), this); |
171 | 170 |
172 GtkWidget* cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); | 171 GtkWidget* cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); |
173 gtk_box_pack_end(GTK_BOX(button_box), cancel_button, FALSE, FALSE, 0); | 172 gtk_box_pack_end(GTK_BOX(button_box), cancel_button, FALSE, FALSE, 0); |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 TabContents* parent, | 394 TabContents* parent, |
396 net::SSLCertRequestInfo* cert_request_info, | 395 net::SSLCertRequestInfo* cert_request_info, |
397 SSLClientAuthHandler* delegate) { | 396 SSLClientAuthHandler* delegate) { |
398 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 397 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
399 (new SSLClientCertificateSelector(parent, | 398 (new SSLClientCertificateSelector(parent, |
400 cert_request_info, | 399 cert_request_info, |
401 delegate))->Show(); | 400 delegate))->Show(); |
402 } | 401 } |
403 | 402 |
404 } // namespace browser | 403 } // namespace browser |
OLD | NEW |