Index: chrome/browser/ui/views/platform_keys_certificate_selector_chromeos.cc |
diff --git a/chrome/browser/ui/views/platform_keys_certificate_selector_chromeos.cc b/chrome/browser/ui/views/platform_keys_certificate_selector_chromeos.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9147db4f9ad6c007da02454fba9d2755ced6c8a5 |
--- /dev/null |
+++ b/chrome/browser/ui/views/platform_keys_certificate_selector_chromeos.cc |
@@ -0,0 +1,58 @@ |
+// Copyright 2015 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. |
+ |
+#include "chrome/browser/ui/views/platform_keys_certificate_selector_chromeos.h" |
+ |
+#include "base/strings/utf_string_conversions.h" |
+#include "chrome/browser/ui/platform_keys_certificate_selector.h" |
+#include "chrome/grit/generated_resources.h" |
+#include "net/cert/x509_certificate.h" |
+#include "ui/base/l10n/l10n_util.h" |
+ |
+namespace chromeos { |
+ |
+PlatformKeysCertificateSelector::PlatformKeysCertificateSelector( |
+ const net::CertificateList& certificates, |
+ const std::string& extension_name, |
+ const CertificateSelectedCallback& callback, |
+ content::WebContents* web_contents) |
+ : CertificateSelector(certificates, web_contents), |
+ extension_name_(extension_name), |
+ callback_(callback) { |
+} |
+ |
+PlatformKeysCertificateSelector::~PlatformKeysCertificateSelector() { |
+} |
+ |
+void PlatformKeysCertificateSelector::Init() { |
+ const base::string16 text = |
bartfab (slow)
2015/02/19 18:55:42
Nit: #include "base/strings/string16.h"
pneubeck (no reviews)
2015/02/19 21:51:41
Done.
|
+ l10n_util::GetStringFUTF16(IDS_PLATFORM_KEYS_SELECT_CERT_DIALOG_TEXT, |
+ base::ASCIIToUTF16(extension_name_)); |
+ CertificateSelector::Init(text); |
+} |
+ |
+bool PlatformKeysCertificateSelector::Cancel() { |
+ callback_.Run(nullptr); |
+ return true; |
+} |
+ |
+bool PlatformKeysCertificateSelector::Accept() { |
+ scoped_refptr<net::X509Certificate> cert = GetSelectedCert(); |
+ if (!cert.get()) |
bartfab (slow)
2015/02/19 18:55:42
Nit: Are scoped-refptrs not testable, i.e. |if(!ce
pneubeck (no reviews)
2015/02/19 21:51:41
Done.
|
+ return false; |
+ callback_.Run(cert); |
+ return true; |
+} |
+ |
+void ShowPlatformKeysCertificateSelector( |
+ content::WebContents* web_contents, |
+ const std::string& extension_name, |
+ const net::CertificateList& certificates, |
+ const base::Callback<void(const scoped_refptr<net::X509Certificate>&)>& |
+ callback) { |
+ (new PlatformKeysCertificateSelector(certificates, extension_name, callback, |
+ web_contents))->Init(); |
+} |
+ |
+} // namespace chromeos |