| 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 589388d68900f54a04b2390611c957ceb0db66f5..1ab60ce8fe4fd98d068cd496b386bca0727a0359 100644
|
| --- a/chrome/browser/ui/webui/certificate_viewer_webui.cc
|
| +++ b/chrome/browser/ui/webui/certificate_viewer_webui.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/bind_helpers.h"
|
| #include "base/i18n/time_formatting.h"
|
| #include "base/json/json_writer.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/certificate_viewer.h"
|
| @@ -294,19 +295,22 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
|
| base::DictionaryValue* node_details;
|
| base::DictionaryValue* alt_node_details;
|
| base::ListValue* cert_sub_fields;
|
| - root_list.Append(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + 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());
|
|
|
| // Main certificate fields.
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + cert_fields->Append(
|
| + base::WrapUnique(node_details = new base::DictionaryValue()));
|
| node_details->SetString("label",
|
| l10n_util::GetStringUTF8(IDS_CERT_DETAILS_VERSION));
|
| std::string version = x509_certificate_model::GetVersion(cert);
|
| @@ -315,35 +319,41 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
|
| l10n_util::GetStringFUTF8(IDS_CERT_DETAILS_VERSION_FORMAT,
|
| base::UTF8ToUTF16(version)));
|
|
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + 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",
|
| x509_certificate_model::ProcessSecAlgorithmSignature(cert));
|
|
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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));
|
|
|
| // Validity period.
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + 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(alt_node_details = new base::DictionaryValue());
|
| + 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));
|
| base::Time issued, expires;
|
| @@ -358,24 +368,28 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
|
| base::TimeFormatShortDateAndTimeWithTimeZone(expires)));
|
| }
|
|
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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));
|
|
|
| // Subject key information.
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + 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",
|
| x509_certificate_model::ProcessSecAlgorithmSubjectPublicKey(cert));
|
| - cert_sub_fields->Append(node_details = new base::DictionaryValue());
|
| + 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",
|
| @@ -389,42 +403,49 @@ void CertificateViewerDialogHandler::RequestCertificateFields(
|
| cert, &extensions);
|
|
|
| if (!extensions.empty()) {
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + cert_fields->Append(
|
| + base::WrapUnique(node_details = new base::DictionaryValue()));
|
| node_details->SetString("label",
|
| l10n_util::GetStringUTF8(IDS_CERT_DETAILS_EXTENSIONS));
|
|
|
| node_details->Set("children", cert_sub_fields = new base::ListValue());
|
| for (x509_certificate_model::Extensions::const_iterator i =
|
| extensions.begin(); i != extensions.end(); ++i) {
|
| - cert_sub_fields->Append(node_details = new base::DictionaryValue());
|
| + cert_sub_fields->Append(
|
| + base::WrapUnique(node_details = new base::DictionaryValue()));
|
| node_details->SetString("label", i->name);
|
| node_details->SetString("payload.val", i->value);
|
| }
|
| }
|
|
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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",
|
| x509_certificate_model::ProcessSecAlgorithmSignatureWrap(cert));
|
|
|
| - cert_fields->Append(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + 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(node_details = new base::DictionaryValue());
|
| + cert_sub_fields->Append(
|
| + base::WrapUnique(node_details = new base::DictionaryValue()));
|
| node_details->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(node_details = new base::DictionaryValue());
|
| + 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",
|
|
|