| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/certificate_selector.h" | 5 #include "chrome/browser/ui/views/certificate_selector.h" |
| 6 | 6 |
| 7 #include <stddef.h> // For size_t. | 7 #include <stddef.h> // For size_t. |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/macros.h" | 12 #include "base/macros.h" |
| 13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
| 15 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
| 16 #include "build/build_config.h" | 16 #include "build/build_config.h" |
| 17 #include "chrome/browser/certificate_viewer.h" | 17 #include "chrome/browser/certificate_viewer.h" |
| 18 #include "chrome/browser/ui/views/harmony/chrome_layout_provider.h" |
| 18 #include "chrome/grit/generated_resources.h" | 19 #include "chrome/grit/generated_resources.h" |
| 19 #include "components/constrained_window/constrained_window_views.h" | 20 #include "components/constrained_window/constrained_window_views.h" |
| 20 #include "components/guest_view/browser/guest_view_base.h" | 21 #include "components/guest_view/browser/guest_view_base.h" |
| 21 #include "components/strings/grit/components_strings.h" | 22 #include "components/strings/grit/components_strings.h" |
| 22 #include "components/web_modal/web_contents_modal_dialog_manager.h" | 23 #include "components/web_modal/web_contents_modal_dialog_manager.h" |
| 23 #include "content/public/browser/web_contents.h" | 24 #include "content/public/browser/web_contents.h" |
| 24 #include "ui/base/l10n/l10n_util.h" | 25 #include "ui/base/l10n/l10n_util.h" |
| 25 #include "ui/base/models/table_model.h" | 26 #include "ui/base/models/table_model.h" |
| 26 #include "ui/base/models/table_model_observer.h" | 27 #include "ui/base/models/table_model_observer.h" |
| 27 #include "ui/views/controls/button/md_text_button.h" | 28 #include "ui/views/controls/button/md_text_button.h" |
| 28 #include "ui/views/controls/table/table_view.h" | 29 #include "ui/views/controls/table/table_view.h" |
| 29 #include "ui/views/layout/grid_layout.h" | 30 #include "ui/views/layout/grid_layout.h" |
| 30 #include "ui/views/layout/layout_constants.h" | |
| 31 #include "ui/views/widget/widget.h" | 31 #include "ui/views/widget/widget.h" |
| 32 #include "ui/views/window/dialog_client_view.h" | 32 #include "ui/views/window/dialog_client_view.h" |
| 33 | 33 |
| 34 #if defined(OS_CHROMEOS) | 34 #if defined(OS_CHROMEOS) |
| 35 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" | 35 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" |
| 36 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice_factory.h" | 36 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice_factory.h" |
| 37 #include "extensions/browser/extension_registry.h" | 37 #include "extensions/browser/extension_registry.h" |
| 38 #include "extensions/browser/extension_registry_factory.h" | 38 #include "extensions/browser/extension_registry_factory.h" |
| 39 #endif | 39 #endif |
| 40 | 40 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 views::GridLayout* const layout = views::GridLayout::CreatePanel(this); | 200 views::GridLayout* const layout = views::GridLayout::CreatePanel(this); |
| 201 | 201 |
| 202 const int kColumnSetId = 0; | 202 const int kColumnSetId = 0; |
| 203 views::ColumnSet* const column_set = layout->AddColumnSet(kColumnSetId); | 203 views::ColumnSet* const column_set = layout->AddColumnSet(kColumnSetId); |
| 204 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1, | 204 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1, |
| 205 views::GridLayout::USE_PREF, 0, 0); | 205 views::GridLayout::USE_PREF, 0, 0); |
| 206 | 206 |
| 207 layout->StartRow(0, kColumnSetId); | 207 layout->StartRow(0, kColumnSetId); |
| 208 layout->AddView(text_label.release()); | 208 layout->AddView(text_label.release()); |
| 209 | 209 |
| 210 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 210 ChromeLayoutProvider* provider = ChromeLayoutProvider::Get(); |
| 211 const int vertical_spacing = provider->GetDistanceMetric( |
| 212 views::DISTANCE_RELATED_CONTROL_VERTICAL); |
| 213 |
| 214 layout->AddPaddingRow(0, vertical_spacing); |
| 211 | 215 |
| 212 std::vector<ui::TableColumn> columns; | 216 std::vector<ui::TableColumn> columns; |
| 213 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_SUBJECT_COLUMN, | 217 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_SUBJECT_COLUMN, |
| 214 ui::TableColumn::LEFT, -1, 0.4f)); | 218 ui::TableColumn::LEFT, -1, 0.4f)); |
| 215 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_ISSUER_COLUMN, | 219 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_ISSUER_COLUMN, |
| 216 ui::TableColumn::LEFT, -1, 0.2f)); | 220 ui::TableColumn::LEFT, -1, 0.2f)); |
| 217 if (show_provider_column_) { | 221 if (show_provider_column_) { |
| 218 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_PROVIDER_COLUMN, | 222 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_PROVIDER_COLUMN, |
| 219 ui::TableColumn::LEFT, -1, 0.4f)); | 223 ui::TableColumn::LEFT, -1, 0.4f)); |
| 220 } | 224 } |
| 221 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_SERIAL_COLUMN, | 225 columns.push_back(ui::TableColumn(IDS_CERT_SELECTOR_SERIAL_COLUMN, |
| 222 ui::TableColumn::LEFT, -1, 0.2f)); | 226 ui::TableColumn::LEFT, -1, 0.2f)); |
| 223 table_ = new views::TableView(model_.get(), columns, views::TEXT_ONLY, | 227 table_ = new views::TableView(model_.get(), columns, views::TEXT_ONLY, |
| 224 true /* single_selection */); | 228 true /* single_selection */); |
| 225 table_->set_observer(this); | 229 table_->set_observer(this); |
| 226 layout->StartRow(1, kColumnSetId); | 230 layout->StartRow(1, kColumnSetId); |
| 227 layout->AddView(table_->CreateParentIfNecessary(), 1, 1, | 231 layout->AddView(table_->CreateParentIfNecessary(), 1, 1, |
| 228 views::GridLayout::FILL, views::GridLayout::FILL, | 232 views::GridLayout::FILL, views::GridLayout::FILL, |
| 229 kTableViewWidth, kTableViewHeight); | 233 kTableViewWidth, kTableViewHeight); |
| 230 | 234 |
| 231 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 235 layout->AddPaddingRow(0, vertical_spacing); |
| 232 } | 236 } |
| 233 | 237 |
| 234 ui::TableModel* CertificateSelector::table_model_for_testing() const { | 238 ui::TableModel* CertificateSelector::table_model_for_testing() const { |
| 235 return model_.get(); | 239 return model_.get(); |
| 236 } | 240 } |
| 237 | 241 |
| 238 net::X509Certificate* CertificateSelector::GetSelectedCert() const { | 242 net::X509Certificate* CertificateSelector::GetSelectedCert() const { |
| 239 const int selected = table_->FirstSelectedRow(); | 243 const int selected = table_->FirstSelectedRow(); |
| 240 if (selected < 0) // Nothing is selected in |table_|. | 244 if (selected < 0) // Nothing is selected in |table_|. |
| 241 return nullptr; | 245 return nullptr; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 void CertificateSelector::OnSelectionChanged() { | 288 void CertificateSelector::OnSelectionChanged() { |
| 285 GetDialogClientView()->ok_button()->SetEnabled(GetSelectedCert() != nullptr); | 289 GetDialogClientView()->ok_button()->SetEnabled(GetSelectedCert() != nullptr); |
| 286 } | 290 } |
| 287 | 291 |
| 288 void CertificateSelector::OnDoubleClick() { | 292 void CertificateSelector::OnDoubleClick() { |
| 289 if (GetSelectedCert()) | 293 if (GetSelectedCert()) |
| 290 GetDialogClientView()->AcceptWindow(); | 294 GetDialogClientView()->AcceptWindow(); |
| 291 } | 295 } |
| 292 | 296 |
| 293 } // namespace chrome | 297 } // namespace chrome |
| OLD | NEW |