diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-14 00:19:04 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-14 00:19:04 +0000 |
commit | 736d1898191dc530e603a996d8c4bf2415326aa7 (patch) | |
tree | 79c524d49f164c8c970b119279be072aaaaee91d /chrome/browser/gtk/certificate_dialogs.cc | |
parent | 2dee6d5003f0d5a9fffd55856b9f54b404988cab (diff) | |
download | chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.zip chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.tar.gz chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.tar.bz2 |
Move chrome/browser/gtk/ to chrome/browser/ui/gtk/
(moved *.cc using 'svn mv' to preserve history)
(copied *.h using 'svn cp' to preserve history and stub out originals)
Stubbed out original headers in chrome/browser/gtk/
Update header guards & copyright dates in chrome/browser/ui/gtk/
Update .gypi files
Remove chrome/chrome_browser.gypi:4228 reference to nonexistant:
['include', '^browser/gtk/pk11_password_dialog.h'],
Remove stray header guard in:
chrome/browser/ui/gtk/bookmark_bar_instructions_gtk.cc
Add #pragma once to the following files:
chrome/browser/ui/gtk/instant_confirm_dialog_gtk.h
chrome/browser/ui/gtk/infobar_arrow_model.h
Ran the following to appease presubmit: 'svn pset svn:eol-style LF \
chrome/browser/ui/gtk/info_bubble_accelerators_gtk.cc \
chrome/browser/ui/gtk/gtk_custom_menu.cc \
chrome/browser/ui/gtk/info_bubble_accelerators_gtk.h \
chrome/browser/ui/gtk/gtk_custom_menu.h \
chrome/browser/ui/gtk/options/managed_prefs_banner_gtk.h \
chrome/browser/ui/gtk/chrome_gtk_frame.h \
chrome/browser/ui/gtk/chrome_gtk_frame.cc \
chrome/browser/ui/gtk/gtk_custom_menu_item.h \
chrome/browser/gtk/info_bubble_accelerators_gtk.h \
chrome/browser/gtk/gtk_custom_menu.h \
chrome/browser/gtk/options/managed_prefs_banner_gtk.h \
chrome/browser/gtk/chrome_gtk_frame.h \
chrome/browser/gtk/gtk_custom_menu_item.h'
BUG=69289
TEST=Compile&Trybots
Review URL: http://codereview.chromium.org/6251001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71397 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/certificate_dialogs.cc')
-rw-r--r-- | chrome/browser/gtk/certificate_dialogs.cc | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/chrome/browser/gtk/certificate_dialogs.cc b/chrome/browser/gtk/certificate_dialogs.cc deleted file mode 100644 index 8709bb4..0000000 --- a/chrome/browser/gtk/certificate_dialogs.cc +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// TODO(mattm): this isn't gtk specific, it shouldn't be under the gtk dir - -#include "chrome/browser/gtk/certificate_dialogs.h" - - -#include <vector> - -#include "app/l10n_util.h" -#include "base/base64.h" -#include "base/file_util.h" -#include "base/logging.h" -#include "base/scoped_ptr.h" -#include "base/task.h" -#include "chrome/browser/browser_thread.h" -#include "chrome/browser/shell_dialogs.h" -#include "chrome/common/net/x509_certificate_model.h" -#include "grit/generated_resources.h" - -namespace { - -//////////////////////////////////////////////////////////////////////////////// -// General utility functions. - -class Writer : public Task { - public: - Writer(const FilePath& path, const std::string& data) - : path_(path), data_(data) { - } - - virtual void Run() { - int bytes_written = file_util::WriteFile(path_, data_.data(), data_.size()); - if (bytes_written != static_cast<ssize_t>(data_.size())) { - LOG(ERROR) << "Writing " << path_.value() << " (" - << data_.size() << "B) returned " << bytes_written; - } - } - private: - FilePath path_; - std::string data_; -}; - -void WriteFileOnFileThread(const FilePath& path, const std::string& data) { - BrowserThread::PostTask( - BrowserThread::FILE, FROM_HERE, new Writer(path, data)); -} - -std::string WrapAt64(const std::string &str) { - std::string result; - for (size_t i = 0; i < str.size(); i += 64) { - result.append(str, i, 64); // Append clamps the len arg internally. - result.append("\r\n"); - } - return result; -} - -std::string GetBase64String(net::X509Certificate::OSCertHandle cert) { - std::string base64; - if (!base::Base64Encode( - x509_certificate_model::GetDerString(cert), &base64)) { - LOG(ERROR) << "base64 encoding error"; - return ""; - } - return "-----BEGIN CERTIFICATE-----\r\n" + - WrapAt64(base64) + - "-----END CERTIFICATE-----\r\n"; -} - -//////////////////////////////////////////////////////////////////////////////// -// General utility functions. - -class Exporter : public SelectFileDialog::Listener { - public: - Exporter(gfx::NativeWindow parent, net::X509Certificate::OSCertHandle cert); - ~Exporter(); - - // SelectFileDialog::Listener implemenation. - virtual void FileSelected(const FilePath& path, - int index, void* params); - virtual void FileSelectionCanceled(void* params); - private: - scoped_refptr<SelectFileDialog> select_file_dialog_; - - // The certificate hierarchy (leaf cert first). - net::X509Certificate::OSCertHandles cert_chain_list_; -}; - -Exporter::Exporter(gfx::NativeWindow parent, - net::X509Certificate::OSCertHandle cert) - : select_file_dialog_(SelectFileDialog::Create(this)) { - x509_certificate_model::GetCertChainFromCert(cert, &cert_chain_list_); - - // TODO(mattm): should this default to some directory? - // Maybe SavePackage::GetSaveDirPreference? (Except that it's private.) - FilePath suggested_path("certificate"); - std::string cert_title = x509_certificate_model::GetTitle(cert); - if (!cert_title.empty()) - suggested_path = FilePath(cert_title); - - ShowCertSelectFileDialog(select_file_dialog_.get(), - SelectFileDialog::SELECT_SAVEAS_FILE, - suggested_path, - parent, - NULL); -} - -Exporter::~Exporter() { - x509_certificate_model::DestroyCertChain(&cert_chain_list_); -} - -void Exporter::FileSelected(const FilePath& path, int index, void* params) { - std::string data; - switch (index) { - case 2: - for (size_t i = 0; i < cert_chain_list_.size(); ++i) - data += GetBase64String(cert_chain_list_[i]); - break; - case 3: - data = x509_certificate_model::GetDerString(cert_chain_list_[0]); - break; - case 4: - data = x509_certificate_model::GetCMSString(cert_chain_list_, 0, 1); - break; - case 5: - data = x509_certificate_model::GetCMSString( - cert_chain_list_, 0, cert_chain_list_.size()); - break; - case 1: - default: - data = GetBase64String(cert_chain_list_[0]); - break; - } - - if (!data.empty()) - WriteFileOnFileThread(path, data); - - delete this; -} - -void Exporter::FileSelectionCanceled(void* params) { - delete this; -} - -} // 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); -} |