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); |