diff options
Diffstat (limited to 'chrome/browser/gtk/certificate_dialogs.cc')
-rw-r--r-- | chrome/browser/gtk/certificate_dialogs.cc | 62 |
1 files changed, 37 insertions, 25 deletions
diff --git a/chrome/browser/gtk/certificate_dialogs.cc b/chrome/browser/gtk/certificate_dialogs.cc index 920899c..8709bb4 100644 --- a/chrome/browser/gtk/certificate_dialogs.cc +++ b/chrome/browser/gtk/certificate_dialogs.cc @@ -100,31 +100,11 @@ Exporter::Exporter(gfx::NativeWindow parent, if (!cert_title.empty()) suggested_path = FilePath(cert_title); - SelectFileDialog::FileTypeInfo file_type_info; - file_type_info.extensions.resize(5); - file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("pem")); - file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("crt")); - file_type_info.extension_description_overrides.push_back( - l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_BASE64)); - file_type_info.extensions[1].push_back(FILE_PATH_LITERAL("pem")); - file_type_info.extensions[1].push_back(FILE_PATH_LITERAL("crt")); - file_type_info.extension_description_overrides.push_back( - l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_BASE64_CHAIN)); - file_type_info.extensions[2].push_back(FILE_PATH_LITERAL("der")); - file_type_info.extension_description_overrides.push_back( - l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_DER)); - file_type_info.extensions[3].push_back(FILE_PATH_LITERAL("p7c")); - file_type_info.extension_description_overrides.push_back( - l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_PKCS7)); - file_type_info.extensions[4].push_back(FILE_PATH_LITERAL("p7c")); - file_type_info.extension_description_overrides.push_back( - l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_PKCS7_CHAIN)); - file_type_info.include_all_files = true; - select_file_dialog_->SelectFile( - SelectFileDialog::SELECT_SAVEAS_FILE, string16(), - suggested_path, &file_type_info, 1, - FILE_PATH_LITERAL("crt"), parent, - NULL); + ShowCertSelectFileDialog(select_file_dialog_.get(), + SelectFileDialog::SELECT_SAVEAS_FILE, + suggested_path, + parent, + NULL); } Exporter::~Exporter() { @@ -166,6 +146,38 @@ void Exporter::FileSelectionCanceled(void* params) { } // namespace +void ShowCertSelectFileDialog(SelectFileDialog* select_file_dialog, + SelectFileDialog::Type type, + const FilePath& suggested_path, + gfx::NativeWindow parent, + void* params) { + SelectFileDialog::FileTypeInfo file_type_info; + file_type_info.extensions.resize(5); + file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("pem")); + file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("crt")); + file_type_info.extension_description_overrides.push_back( + l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_BASE64)); + file_type_info.extensions[1].push_back(FILE_PATH_LITERAL("pem")); + file_type_info.extensions[1].push_back(FILE_PATH_LITERAL("crt")); + file_type_info.extension_description_overrides.push_back( + l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_BASE64_CHAIN)); + file_type_info.extensions[2].push_back(FILE_PATH_LITERAL("der")); + file_type_info.extension_description_overrides.push_back( + l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_DER)); + file_type_info.extensions[3].push_back(FILE_PATH_LITERAL("p7c")); + file_type_info.extension_description_overrides.push_back( + l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_PKCS7)); + file_type_info.extensions[4].push_back(FILE_PATH_LITERAL("p7c")); + file_type_info.extension_description_overrides.push_back( + l10n_util::GetStringUTF16(IDS_CERT_EXPORT_TYPE_PKCS7_CHAIN)); + file_type_info.include_all_files = true; + select_file_dialog->SelectFile( + type, string16(), + suggested_path, &file_type_info, 1, + FILE_PATH_LITERAL("crt"), parent, + params); +} + void ShowCertExportDialog(gfx::NativeWindow parent, net::X509Certificate::OSCertHandle cert) { new Exporter(parent, cert); |