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

Side by Side Diff: chrome/browser/ui/webui/settings/certificates_handler.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/webui/settings/certificates_handler.h" 5 #include "chrome/browser/ui/webui/settings/certificates_handler.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10
10 #include <algorithm> 11 #include <algorithm>
11 #include <map> 12 #include <map>
12 #include <utility> 13 #include <utility>
13 14
14 #include "base/bind.h" 15 #include "base/bind.h"
15 #include "base/bind_helpers.h" 16 #include "base/bind_helpers.h"
16 #include "base/files/file_util.h" // for FileAccessProvider 17 #include "base/files/file_util.h" // for FileAccessProvider
17 #include "base/i18n/string_compare.h" 18 #include "base/i18n/string_compare.h"
18 #include "base/id_map.h" 19 #include "base/id_map.h"
19 #include "base/macros.h" 20 #include "base/macros.h"
21 #include "base/memory/ptr_util.h"
20 #include "base/memory/scoped_vector.h" 22 #include "base/memory/scoped_vector.h"
21 #include "base/posix/safe_strerror.h" 23 #include "base/posix/safe_strerror.h"
22 #include "base/strings/string_number_conversions.h" 24 #include "base/strings/string_number_conversions.h"
23 #include "base/strings/utf_string_conversions.h" 25 #include "base/strings/utf_string_conversions.h"
24 #include "base/values.h" 26 #include "base/values.h"
25 #include "build/build_config.h" 27 #include "build/build_config.h"
26 #include "chrome/browser/browser_process.h" 28 #include "chrome/browser/browser_process.h"
27 #include "chrome/browser/certificate_viewer.h" 29 #include "chrome/browser/certificate_viewer.h"
28 #include "chrome/browser/profiles/profile.h" 30 #include "chrome/browser/profiles/profile.h"
29 #include "chrome/browser/ui/certificate_dialogs.h" 31 #include "chrome/browser/ui/certificate_dialogs.h"
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 CHECK_EQ(2U, args->GetSize()); 489 CHECK_EQ(2U, args->GetSize());
488 AssignWebUICallbackId(args); 490 AssignWebUICallbackId(args);
489 std::string node_id; 491 std::string node_id;
490 CHECK(args->GetString(1, &node_id)); 492 CHECK(args->GetString(1, &node_id));
491 493
492 net::X509Certificate* cert = cert_id_map_->IdToCert(node_id); 494 net::X509Certificate* cert = cert_id_map_->IdToCert(node_id);
493 CHECK(cert); 495 CHECK(cert);
494 496
495 net::NSSCertDatabase::TrustBits trust_bits = 497 net::NSSCertDatabase::TrustBits trust_bits =
496 certificate_manager_model_->cert_db()->GetCertTrust(cert, net::CA_CERT); 498 certificate_manager_model_->cert_db()->GetCertTrust(cert, net::CA_CERT);
497 scoped_ptr<base::DictionaryValue> ca_trust_info(new base::DictionaryValue); 499 std::unique_ptr<base::DictionaryValue> ca_trust_info(
500 new base::DictionaryValue);
498 ca_trust_info->SetBoolean( 501 ca_trust_info->SetBoolean(
499 kSslField, 502 kSslField,
500 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_SSL)); 503 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_SSL));
501 ca_trust_info->SetBoolean( 504 ca_trust_info->SetBoolean(
502 kEmailField, 505 kEmailField,
503 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_EMAIL)); 506 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_EMAIL));
504 ca_trust_info->SetBoolean( 507 ca_trust_info->SetBoolean(
505 kObjSignField, 508 kObjSignField,
506 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_OBJ_SIGN)); 509 static_cast<bool>(trust_bits & net::NSSCertDatabase::TRUSTED_OBJ_SIGN));
507 ResolveCallback(*ca_trust_info); 510 ResolveCallback(*ca_trust_info);
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 l10n_util::GetStringUTF8( 968 l10n_util::GetStringUTF8(
966 IDS_SETTINGS_CERTIFICATE_MANAGER_DELETE_CERT_ERROR_TITLE), 969 IDS_SETTINGS_CERTIFICATE_MANAGER_DELETE_CERT_ERROR_TITLE),
967 l10n_util::GetStringUTF8( 970 l10n_util::GetStringUTF8(
968 IDS_SETTINGS_CERTIFICATE_MANAGER_UNKNOWN_ERROR)); 971 IDS_SETTINGS_CERTIFICATE_MANAGER_UNKNOWN_ERROR));
969 } else { 972 } else {
970 ResolveCallback(*base::Value::CreateNullValue()); 973 ResolveCallback(*base::Value::CreateNullValue());
971 } 974 }
972 } 975 }
973 976
974 void CertificatesHandler::OnCertificateManagerModelCreated( 977 void CertificatesHandler::OnCertificateManagerModelCreated(
975 scoped_ptr<CertificateManagerModel> model) { 978 std::unique_ptr<CertificateManagerModel> model) {
976 certificate_manager_model_ = std::move(model); 979 certificate_manager_model_ = std::move(model);
977 CertificateManagerModelReady(); 980 CertificateManagerModelReady();
978 } 981 }
979 982
980 void CertificatesHandler::CertificateManagerModelReady() { 983 void CertificatesHandler::CertificateManagerModelReady() {
981 base::FundamentalValue user_db_available_value( 984 base::FundamentalValue user_db_available_value(
982 certificate_manager_model_->is_user_db_available()); 985 certificate_manager_model_->is_user_db_available());
983 base::FundamentalValue tpm_available_value( 986 base::FundamentalValue tpm_available_value(
984 certificate_manager_model_->is_tpm_available()); 987 certificate_manager_model_->is_tpm_available());
985 web_ui()->CallJavascriptFunction( 988 web_ui()->CallJavascriptFunction(
(...skipping 22 matching lines...) Expand all
1008 } 1011 }
1009 1012
1010 // We are already waiting for a CertificateManagerModel to be created, no need 1013 // We are already waiting for a CertificateManagerModel to be created, no need
1011 // to do anything. 1014 // to do anything.
1012 } 1015 }
1013 1016
1014 void CertificatesHandler::PopulateTree( 1017 void CertificatesHandler::PopulateTree(
1015 const std::string& tab_name, 1018 const std::string& tab_name,
1016 net::CertType type, 1019 net::CertType type,
1017 const net::CertificateList& web_trust_certs) { 1020 const net::CertificateList& web_trust_certs) {
1018 scoped_ptr<icu::Collator> collator; 1021 std::unique_ptr<icu::Collator> collator;
1019 UErrorCode error = U_ZERO_ERROR; 1022 UErrorCode error = U_ZERO_ERROR;
1020 collator.reset(icu::Collator::createInstance( 1023 collator.reset(icu::Collator::createInstance(
1021 icu::Locale(g_browser_process->GetApplicationLocale().c_str()), error)); 1024 icu::Locale(g_browser_process->GetApplicationLocale().c_str()), error));
1022 if (U_FAILURE(error)) 1025 if (U_FAILURE(error))
1023 collator.reset(NULL); 1026 collator.reset(NULL);
1024 DictionaryIdComparator comparator(collator.get()); 1027 DictionaryIdComparator comparator(collator.get());
1025 CertificateManagerModel::OrgGroupingMap map; 1028 CertificateManagerModel::OrgGroupingMap map;
1026 1029
1027 certificate_manager_model_->FilterAndBuildOrgGroupingMap(type, &map); 1030 certificate_manager_model_->FilterAndBuildOrgGroupingMap(type, &map);
1028 1031
1029 { 1032 {
1030 scoped_ptr<base::ListValue> nodes = make_scoped_ptr(new base::ListValue()); 1033 std::unique_ptr<base::ListValue> nodes =
1034 base::WrapUnique(new base::ListValue());
1031 for (CertificateManagerModel::OrgGroupingMap::iterator i = map.begin(); 1035 for (CertificateManagerModel::OrgGroupingMap::iterator i = map.begin();
1032 i != map.end(); ++i) { 1036 i != map.end(); ++i) {
1033 // Populate first level (org name). 1037 // Populate first level (org name).
1034 base::DictionaryValue* dict = new base::DictionaryValue; 1038 base::DictionaryValue* dict = new base::DictionaryValue;
1035 dict->SetString(kKeyField, OrgNameToId(i->first)); 1039 dict->SetString(kKeyField, OrgNameToId(i->first));
1036 dict->SetString(kNameField, i->first); 1040 dict->SetString(kNameField, i->first);
1037 1041
1038 // Populate second level (certs). 1042 // Populate second level (certs).
1039 base::ListValue* subnodes = new base::ListValue; 1043 base::ListValue* subnodes = new base::ListValue;
1040 for (net::CertificateList::const_iterator org_cert_it = i->second.begin(); 1044 for (net::CertificateList::const_iterator org_cert_it = i->second.begin();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 } 1089 }
1086 1090
1087 void CertificatesHandler::RejectCallback(const base::Value& response) { 1091 void CertificatesHandler::RejectCallback(const base::Value& response) {
1088 DCHECK(!webui_callback_id_.empty()); 1092 DCHECK(!webui_callback_id_.empty());
1089 RejectJavascriptCallback(base::StringValue(webui_callback_id_), response); 1093 RejectJavascriptCallback(base::StringValue(webui_callback_id_), response);
1090 webui_callback_id_.clear(); 1094 webui_callback_id_.clear();
1091 } 1095 }
1092 1096
1093 void CertificatesHandler::RejectCallbackWithError(const std::string& title, 1097 void CertificatesHandler::RejectCallbackWithError(const std::string& title,
1094 const std::string& error) { 1098 const std::string& error) {
1095 scoped_ptr<base::DictionaryValue> error_info(new base::DictionaryValue); 1099 std::unique_ptr<base::DictionaryValue> error_info(new base::DictionaryValue);
1096 error_info->SetString(kErrorTitle, title); 1100 error_info->SetString(kErrorTitle, title);
1097 error_info->SetString(kErrorDescription, error); 1101 error_info->SetString(kErrorDescription, error);
1098 RejectCallback(*error_info); 1102 RejectCallback(*error_info);
1099 } 1103 }
1100 1104
1101 void CertificatesHandler::RejectCallbackWithImportError( 1105 void CertificatesHandler::RejectCallbackWithImportError(
1102 const std::string& title, 1106 const std::string& title,
1103 const net::NSSCertDatabase::ImportCertFailureList& not_imported) { 1107 const net::NSSCertDatabase::ImportCertFailureList& not_imported) {
1104 std::string error; 1108 std::string error;
1105 if (selected_cert_list_.size() == 1) 1109 if (selected_cert_list_.size() == 1)
1106 error = l10n_util::GetStringUTF8( 1110 error = l10n_util::GetStringUTF8(
1107 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_SINGLE_NOT_IMPORTED); 1111 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_SINGLE_NOT_IMPORTED);
1108 else if (not_imported.size() == selected_cert_list_.size()) 1112 else if (not_imported.size() == selected_cert_list_.size())
1109 error = l10n_util::GetStringUTF8( 1113 error = l10n_util::GetStringUTF8(
1110 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_ALL_NOT_IMPORTED); 1114 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_ALL_NOT_IMPORTED);
1111 else 1115 else
1112 error = l10n_util::GetStringUTF8( 1116 error = l10n_util::GetStringUTF8(
1113 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_SOME_NOT_IMPORTED); 1117 IDS_SETTINGS_CERTIFICATE_MANAGER_IMPORT_SOME_NOT_IMPORTED);
1114 1118
1115 scoped_ptr<base::ListValue> cert_error_list = 1119 std::unique_ptr<base::ListValue> cert_error_list =
1116 make_scoped_ptr(new base::ListValue()); 1120 base::WrapUnique(new base::ListValue());
1117 for (size_t i = 0; i < not_imported.size(); ++i) { 1121 for (size_t i = 0; i < not_imported.size(); ++i) {
1118 const net::NSSCertDatabase::ImportCertFailure& failure = not_imported[i]; 1122 const net::NSSCertDatabase::ImportCertFailure& failure = not_imported[i];
1119 base::DictionaryValue* dict = new base::DictionaryValue; 1123 base::DictionaryValue* dict = new base::DictionaryValue;
1120 dict->SetString(kNameField, 1124 dict->SetString(kNameField,
1121 failure.certificate->subject().GetDisplayName()); 1125 failure.certificate->subject().GetDisplayName());
1122 dict->SetString(kErrorField, NetErrorToString(failure.net_error)); 1126 dict->SetString(kErrorField, NetErrorToString(failure.net_error));
1123 cert_error_list->Append(dict); 1127 cert_error_list->Append(dict);
1124 } 1128 }
1125 1129
1126 scoped_ptr<base::DictionaryValue> error_info(new base::DictionaryValue); 1130 std::unique_ptr<base::DictionaryValue> error_info(new base::DictionaryValue);
1127 error_info->SetString(kErrorTitle, title); 1131 error_info->SetString(kErrorTitle, title);
1128 error_info->SetString(kErrorDescription, error); 1132 error_info->SetString(kErrorDescription, error);
1129 error_info->Set(kCertificateErrors, 1133 error_info->Set(kCertificateErrors,
1130 make_scoped_ptr(cert_error_list.release())); 1134 base::WrapUnique(cert_error_list.release()));
1131 RejectCallback(*error_info); 1135 RejectCallback(*error_info);
1132 } 1136 }
1133 1137
1134 gfx::NativeWindow CertificatesHandler::GetParentWindow() const { 1138 gfx::NativeWindow CertificatesHandler::GetParentWindow() const {
1135 return web_ui()->GetWebContents()->GetTopLevelNativeWindow(); 1139 return web_ui()->GetWebContents()->GetTopLevelNativeWindow();
1136 } 1140 }
1137 1141
1138 } // namespace settings 1142 } // namespace settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698