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

Unified Diff: chrome/browser/ui/webui/certificate_viewer_webui.cc

Issue 2812953002: Stop passing raw pointers to base::Value API in c/b/ui (Closed)
Patch Set: Created 3 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/webui/certificate_viewer_webui.cc
diff --git a/chrome/browser/ui/webui/certificate_viewer_webui.cc b/chrome/browser/ui/webui/certificate_viewer_webui.cc
index 1ab60ce8fe4fd98d068cd496b386bca0727a0359..981e8ef9001880af8c77f88bc4281a02ab513f7d 100644
--- a/chrome/browser/ui/webui/certificate_viewer_webui.cc
+++ b/chrome/browser/ui/webui/certificate_viewer_webui.cc
@@ -169,7 +169,7 @@ std::string CertificateViewerModalDialog::GetDialogArgs() const {
x509_certificate_model::HashCertSHA1(cert_hnd));
// Certificate hierarchy is constructed from bottom up.
- base::ListValue* children = NULL;
+ std::unique_ptr<base::ListValue> children;
int index = 0;
for (net::X509Certificate::OSCertHandles::const_iterator i =
cert_chain.begin(); i != cert_chain.end(); ++i, ++index) {
@@ -180,14 +180,14 @@ std::string CertificateViewerModalDialog::GetDialogArgs() const {
cert_node->SetDouble("payload.index", index);
// Add the child from the previous iteration.
if (children)
- cert_node->Set("children", children);
+ cert_node->Set("children", std::move(children));
// Add this node to the children list for the next iteration.
- children = new base::ListValue();
+ children = base::MakeUnique<base::ListValue>();
children->Append(std::move(cert_node));
}
// Set the last node as the top of the certificate hierarchy.
- cert_info.Set("hierarchy", children);
+ cert_info.Set("hierarchy", std::move(children));
base::JSONWriter::Write(cert_info, &data);
@@ -291,109 +291,112 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
net::X509Certificate::OSCertHandle cert = cert_chain_[cert_index];
- base::ListValue root_list;
- base::DictionaryValue* node_details;
- base::DictionaryValue* alt_node_details;
- base::ListValue* cert_sub_fields;
- root_list.Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label", x509_certificate_model::GetTitle(cert));
-
- base::ListValue* cert_fields;
- node_details->Set("children", cert_fields = new base::ListValue());
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
-
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE));
- node_details->Set("children", cert_fields = new base::ListValue());
+ auto root_node_details = base::MakeUnique<base::DictionaryValue>();
+ root_node_details->SetString("label", x509_certificate_model::GetTitle(cert));
+
+ auto root_cert_fields = base::MakeUnique<base::ListValue>();
+ auto root_cert_field = base::MakeUnique<base::DictionaryValue>();
+ root_cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE));
+
+ auto cert_fields = base::MakeUnique<base::ListValue>();
// Main certificate fields.
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_VERSION));
+ auto cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString("label",
+ l10n_util::GetStringUTF8(IDS_CERT_DETAILS_VERSION));
std::string version = x509_certificate_model::GetVersion(cert);
- if (!version.empty())
- node_details->SetString("payload.val",
- l10n_util::GetStringFUTF8(IDS_CERT_DETAILS_VERSION_FORMAT,
- base::UTF8ToUTF16(version)));
-
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SERIAL_NUMBER));
- node_details->SetString("payload.val",
- x509_certificate_model::GetSerialNumberHexified(cert,
- l10n_util::GetStringUTF8(IDS_CERT_INFO_FIELD_NOT_PRESENT)));
-
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG));
- node_details->SetString("payload.val",
+ if (!version.empty()) {
+ cert_field->SetString("payload.val", l10n_util::GetStringFUTF8(
+ IDS_CERT_DETAILS_VERSION_FORMAT,
+ base::UTF8ToUTF16(version)));
+ }
+ cert_fields->Append(std::move(cert_field));
+
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SERIAL_NUMBER));
+ cert_field->SetString(
+ "payload.val",
+ x509_certificate_model::GetSerialNumberHexified(
+ cert, l10n_util::GetStringUTF8(IDS_CERT_INFO_FIELD_NOT_PRESENT)));
+ cert_fields->Append(std::move(cert_field));
+
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG));
+ cert_field->SetString(
+ "payload.val",
x509_certificate_model::ProcessSecAlgorithmSignature(cert));
+ cert_fields->Append(std::move(cert_field));
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_ISSUER));
- node_details->SetString("payload.val",
- x509_certificate_model::GetIssuerName(cert));
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString("label",
+ l10n_util::GetStringUTF8(IDS_CERT_DETAILS_ISSUER));
+ cert_field->SetString("payload.val",
+ x509_certificate_model::GetIssuerName(cert));
+ cert_fields->Append(std::move(cert_field));
// Validity period.
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_VALIDITY));
-
- node_details->Set("children", cert_sub_fields = new base::ListValue());
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_NOT_BEFORE));
- cert_sub_fields->Append(
- base::WrapUnique(alt_node_details = new base::DictionaryValue()));
- alt_node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_NOT_AFTER));
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString("label",
+ l10n_util::GetStringUTF8(IDS_CERT_DETAILS_VALIDITY));
+
base::Time issued, expires;
- if (x509_certificate_model::GetTimes(cert, &issued, &expires)) {
- node_details->SetString(
+ bool obtained_times =
+ x509_certificate_model::GetTimes(cert, &issued, &expires);
+ auto cert_sub_fields = base::MakeUnique<base::ListValue>();
+ auto cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_NOT_BEFORE));
+ if (obtained_times) {
+ cert_sub_field->SetString(
"payload.val",
base::UTF16ToUTF8(
base::TimeFormatShortDateAndTimeWithTimeZone(issued)));
- alt_node_details->SetString(
+ }
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_NOT_AFTER));
+ if (obtained_times) {
+ cert_sub_field->SetString(
"payload.val",
base::UTF16ToUTF8(
base::TimeFormatShortDateAndTimeWithTimeZone(expires)));
}
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_field->Set("children", std::move(cert_sub_fields));
+ cert_fields->Append(std::move(cert_field));
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT));
- node_details->SetString("payload.val",
- x509_certificate_model::GetSubjectName(cert));
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString("label",
+ l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT));
+ cert_field->SetString("payload.val",
+ x509_certificate_model::GetSubjectName(cert));
+ cert_fields->Append(std::move(cert_field));
// Subject key information.
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY_INFO));
-
- node_details->Set("children", cert_sub_fields = new base::ListValue());
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY_ALG));
- node_details->SetString("payload.val",
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY_INFO));
+
+ cert_sub_fields = base::MakeUnique<base::ListValue>();
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY_ALG));
+ cert_sub_field->SetString(
+ "payload.val",
x509_certificate_model::ProcessSecAlgorithmSubjectPublicKey(cert));
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY));
- node_details->SetString("payload.val",
- x509_certificate_model::ProcessSubjectPublicKeyInfo(cert));
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_SUBJECT_KEY));
+ cert_sub_field->SetString(
+ "payload.val", x509_certificate_model::ProcessSubjectPublicKeyInfo(cert));
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_field->Set("children", std::move(cert_sub_fields));
+ cert_fields->Append(std::move(cert_field));
// Extensions.
x509_certificate_model::Extensions extensions;
@@ -403,54 +406,66 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
cert, &extensions);
if (!extensions.empty()) {
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_EXTENSIONS));
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_EXTENSIONS));
- node_details->Set("children", cert_sub_fields = new base::ListValue());
+ cert_sub_fields = base::MakeUnique<base::ListValue>();
for (x509_certificate_model::Extensions::const_iterator i =
- extensions.begin(); i != extensions.end(); ++i) {
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label", i->name);
- node_details->SetString("payload.val", i->value);
+ extensions.begin();
+ i != extensions.end(); ++i) {
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString("label", i->name);
+ cert_sub_field->SetString("payload.val", i->value);
+ cert_sub_fields->Append(std::move(cert_sub_field));
}
+ cert_field->Set("children", std::move(cert_sub_fields));
+ cert_fields->Append(std::move(cert_field));
}
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG));
- node_details->SetString("payload.val",
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG));
+ cert_field->SetString(
+ "payload.val",
x509_certificate_model::ProcessSecAlgorithmSignatureWrap(cert));
-
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_DETAILS_CERTIFICATE_SIG_VALUE));
- node_details->SetString("payload.val",
- x509_certificate_model::ProcessRawBitsSignatureWrap(cert));
-
- cert_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_INFO_FINGERPRINTS_GROUP));
- node_details->Set("children", cert_sub_fields = new base::ListValue());
-
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
+ cert_fields->Append(std::move(cert_field));
+
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString("label", l10n_util::GetStringUTF8(
+ IDS_CERT_DETAILS_CERTIFICATE_SIG_VALUE));
+ cert_field->SetString(
+ "payload.val", x509_certificate_model::ProcessRawBitsSignatureWrap(cert));
+ cert_fields->Append(std::move(cert_field));
+
+ cert_field = base::MakeUnique<base::DictionaryValue>();
+ cert_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_INFO_FINGERPRINTS_GROUP));
+ cert_field->Set("children", std::move(cert_sub_fields));
vabr (Chromium) 2017/04/11 19:20:19 This line needs to be deleted.
+
+ cert_sub_fields = base::MakeUnique<base::ListValue>();
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label",
l10n_util::GetStringUTF8(IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL));
- node_details->SetString("payload.val",
- x509_certificate_model::HashCertSHA256(cert));
- cert_sub_fields->Append(
- base::WrapUnique(node_details = new base::DictionaryValue()));
- node_details->SetString("label",
- l10n_util::GetStringUTF8(IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL));
- node_details->SetString("payload.val",
- x509_certificate_model::HashCertSHA1(cert));
+ cert_sub_field->SetString("payload.val",
+ x509_certificate_model::HashCertSHA256(cert));
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_sub_field = base::MakeUnique<base::DictionaryValue>();
+ cert_sub_field->SetString(
+ "label", l10n_util::GetStringUTF8(IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL));
+ cert_sub_field->SetString("payload.val",
+ x509_certificate_model::HashCertSHA1(cert));
+ cert_sub_fields->Append(std::move(cert_sub_field));
+ cert_field->Set("children", std::move(cert_sub_fields));
+ cert_fields->Append(std::move(cert_field));
+
+ root_cert_field->Set("children", std::move(cert_fields));
+ root_cert_fields->Append(std::move(root_cert_field));
+ root_node_details->Set("children", std::move(root_cert_fields));
+ base::ListValue root_list;
+ root_list.Append(std::move(root_node_details));
// Send certificate information to javascript.
web_ui()->CallJavascriptFunctionUnsafe("cert_viewer.getCertificateFields",
root_list);
« no previous file with comments | « chrome/browser/ui/webui/browsing_history_handler.cc ('k') | chrome/browser/ui/webui/chromeos/drive_internals_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698