Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: chrome/browser/ui/views/certificate_selector.cc

Issue 1918143005: Add a serial number column to the certificate selector dialog and fix its size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: msw comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/certificate_selector.cc
diff --git a/chrome/browser/ui/views/certificate_selector.cc b/chrome/browser/ui/views/certificate_selector.cc
index 6b9348b3ce33e1270cacbf8a2e020024b956d70d..b292d2cd736d2abf398f90ce749dd6466ffb9be0 100644
--- a/chrome/browser/ui/views/certificate_selector.cc
+++ b/chrome/browser/ui/views/certificate_selector.cc
@@ -11,6 +11,7 @@
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
+#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/browser/certificate_viewer.h"
@@ -39,8 +40,8 @@
namespace chrome {
-const int CertificateSelector::kTableViewWidth = 400;
-const int CertificateSelector::kTableViewHeight = 100;
+const int CertificateSelector::kTableViewWidth = 500;
+const int CertificateSelector::kTableViewHeight = 150;
class CertificateSelector::CertificateTableModel : public ui::TableModel {
public:
@@ -58,6 +59,7 @@ class CertificateSelector::CertificateTableModel : public ui::TableModel {
base::string16 subject;
base::string16 issuer;
base::string16 provider;
+ base::string16 serial;
};
std::vector<Row> rows_;
@@ -74,6 +76,10 @@ CertificateSelector::CertificateTableModel::CertificateTableModel(
row.subject = base::UTF8ToUTF16(cert->subject().GetDisplayName());
row.issuer = base::UTF8ToUTF16(cert->issuer().GetDisplayName());
row.provider = base::UTF8ToUTF16(provider_names[i]);
+ if (cert->serial_number().size() < std::numeric_limits<size_t>::max() / 2) {
+ row.serial = base::UTF8ToUTF16(base::HexEncode(
+ cert->serial_number().data(), cert->serial_number().size()));
+ }
rows_.push_back(row);
}
}
@@ -96,6 +102,8 @@ base::string16 CertificateSelector::CertificateTableModel::GetText(
return row.issuer;
case IDS_CERT_SELECTOR_PROVIDER_COLUMN:
return row.provider;
+ case IDS_CERT_SELECTOR_SERIAL_COLUMN:
+ return row.serial;
default:
NOTREACHED();
}
@@ -199,6 +207,8 @@ void CertificateSelector::InitWithText(
columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_PROVIDER_COLUMN,
ui::TableColumn::LEFT, -1, 0.4f));
}
+ columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_SERIAL_COLUMN,
+ ui::TableColumn::LEFT, -1, 0.2f));
table_ = new views::TableView(model_.get(), columns, views::TEXT_ONLY,
true /* single_selection */);
table_->SetObserver(this);
@@ -210,6 +220,10 @@ void CertificateSelector::InitWithText(
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
}
+ui::TableModel* CertificateSelector::table_model_for_testing() const {
+ return model_.get();
+}
+
net::X509Certificate* CertificateSelector::GetSelectedCert() const {
const int selected = table_->FirstSelectedRow();
if (selected < 0) // Nothing is selected in |table_|.
« no previous file with comments | « chrome/browser/ui/views/certificate_selector.h ('k') | chrome/browser/ui/views/certificate_selector_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698