| 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 |