Chromium Code Reviews| 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..a52e68cdffa661543e9a52c2cba4ff18051f5b75 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" |
| @@ -21,6 +22,7 @@ |
| #include "content/public/browser/web_contents.h" |
| #include "grit/components_strings.h" |
| #include "ui/base/l10n/l10n_util.h" |
| + |
|
msw
2016/04/29 18:04:54
nit: remove
meacer
2016/04/29 21:50:53
Done.
|
| #include "ui/base/models/table_model.h" |
| #include "ui/base/models/table_model_observer.h" |
| #include "ui/views/controls/button/label_button.h" |
| @@ -39,8 +41,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 +60,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 +77,8 @@ CertificateSelector::CertificateTableModel::CertificateTableModel( |
| row.subject = base::UTF8ToUTF16(cert->subject().GetDisplayName()); |
| row.issuer = base::UTF8ToUTF16(cert->issuer().GetDisplayName()); |
| row.provider = base::UTF8ToUTF16(provider_names[i]); |
| + row.serial = base::UTF8ToUTF16(base::HexEncode( |
|
msw
2016/04/29 18:04:54
nit: maybe ensure the size is less than (std::nume
meacer
2016/04/29 21:50:53
Ryan mentioned earlier that serial lengths are lim
|
| + cert->serial_number().data(), cert->serial_number().size())); |
|
msw
2016/04/29 18:04:54
I know absolutely nothing about DER encoding or he
|
| rows_.push_back(row); |
| } |
| } |
| @@ -96,6 +101,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 +206,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 +219,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_|. |