Chromium Code Reviews| Index: content/browser/renderer_host/pepper/pepper_socket_utils.cc | 
| diff --git a/content/browser/renderer_host/pepper/pepper_socket_utils.cc b/content/browser/renderer_host/pepper/pepper_socket_utils.cc | 
| index d14ce51586a033732d0eb452a116b12586fd816a..73fcb5697355d0dc2556f1db78ebeb7aa05afc63 100644 | 
| --- a/content/browser/renderer_host/pepper/pepper_socket_utils.cc | 
| +++ b/content/browser/renderer_host/pepper/pepper_socket_utils.cc | 
| @@ -8,6 +8,7 @@ | 
| #include <vector> | 
| #include "base/logging.h" | 
| +#include "base/memory/ptr_util.h" | 
| #include "base/memory/ref_counted.h" | 
| #include "base/strings/string_util.h" | 
| #include "build/build_config.h" | 
| @@ -79,47 +80,48 @@ bool GetCertificateFields(const net::X509Certificate& cert, | 
| ppapi::PPB_X509Certificate_Fields* fields) { | 
| const net::CertPrincipal& issuer = cert.issuer(); | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_COMMON_NAME, | 
| - new base::StringValue(issuer.common_name)); | 
| + base::MakeUnique<base::StringValue>(issuer.common_name)); | 
| 
 
dcheng
2016/06/15 08:34:03
We pass a created BinaryValue to SetField(), so I
 
 | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_LOCALITY_NAME, | 
| - new base::StringValue(issuer.locality_name)); | 
| - fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_STATE_OR_PROVINCE_NAME, | 
| - new base::StringValue(issuer.state_or_province_name)); | 
| - fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_COUNTRY_NAME, | 
| - new base::StringValue(issuer.country_name)); | 
| - fields->SetField( | 
| - PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_NAME, | 
| - new base::StringValue(base::JoinString(issuer.organization_names, "\n"))); | 
| + base::MakeUnique<base::StringValue>(issuer.locality_name)); | 
| fields->SetField( | 
| - PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_UNIT_NAME, | 
| - new base::StringValue( | 
| - base::JoinString(issuer.organization_unit_names, "\n"))); | 
| + PP_X509CERTIFICATE_PRIVATE_ISSUER_STATE_OR_PROVINCE_NAME, | 
| + base::MakeUnique<base::StringValue>(issuer.state_or_province_name)); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_COUNTRY_NAME, | 
| + base::MakeUnique<base::StringValue>(issuer.country_name)); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_NAME, | 
| + base::MakeUnique<base::StringValue>( | 
| + base::JoinString(issuer.organization_names, "\n"))); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_UNIT_NAME, | 
| + base::MakeUnique<base::StringValue>( | 
| + base::JoinString(issuer.organization_unit_names, "\n"))); | 
| const net::CertPrincipal& subject = cert.subject(); | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_COMMON_NAME, | 
| - new base::StringValue(subject.common_name)); | 
| + base::MakeUnique<base::StringValue>(subject.common_name)); | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_LOCALITY_NAME, | 
| - new base::StringValue(subject.locality_name)); | 
| - fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_STATE_OR_PROVINCE_NAME, | 
| - new base::StringValue(subject.state_or_province_name)); | 
| - fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_COUNTRY_NAME, | 
| - new base::StringValue(subject.country_name)); | 
| + base::MakeUnique<base::StringValue>(subject.locality_name)); | 
| fields->SetField( | 
| - PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_NAME, | 
| - new base::StringValue( | 
| - base::JoinString(subject.organization_names, "\n"))); | 
| - fields->SetField( | 
| - PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_UNIT_NAME, | 
| - new base::StringValue( | 
| - base::JoinString(subject.organization_unit_names, "\n"))); | 
| + PP_X509CERTIFICATE_PRIVATE_SUBJECT_STATE_OR_PROVINCE_NAME, | 
| + base::MakeUnique<base::StringValue>(subject.state_or_province_name)); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_COUNTRY_NAME, | 
| + base::MakeUnique<base::StringValue>(subject.country_name)); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_NAME, | 
| + base::MakeUnique<base::StringValue>( | 
| + base::JoinString(subject.organization_names, "\n"))); | 
| + fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_UNIT_NAME, | 
| + base::MakeUnique<base::StringValue>(base::JoinString( | 
| + subject.organization_unit_names, "\n"))); | 
| const std::string& serial_number = cert.serial_number(); | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_SERIAL_NUMBER, | 
| base::BinaryValue::CreateWithCopiedBuffer( | 
| serial_number.data(), serial_number.length())); | 
| - fields->SetField(PP_X509CERTIFICATE_PRIVATE_VALIDITY_NOT_BEFORE, | 
| - new base::FundamentalValue(cert.valid_start().ToDoubleT())); | 
| + fields->SetField( | 
| + PP_X509CERTIFICATE_PRIVATE_VALIDITY_NOT_BEFORE, | 
| + base::MakeUnique<base::FundamentalValue>(cert.valid_start().ToDoubleT())); | 
| fields->SetField(PP_X509CERTIFICATE_PRIVATE_VALIDITY_NOT_AFTER, | 
| - new base::FundamentalValue(cert.valid_expiry().ToDoubleT())); | 
| + base::MakeUnique<base::FundamentalValue>( | 
| + cert.valid_expiry().ToDoubleT())); | 
| std::string der; | 
| net::X509Certificate::GetDEREncoded(cert.os_cert_handle(), &der); | 
| fields->SetField( |