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", |