| Index: content/common/ssl_status_serialization.cc
|
| diff --git a/content/common/ssl_status_serialization.cc b/content/common/ssl_status_serialization.cc
|
| index 71dba9e5bfe3d453b7a6f4220b1165f93c499731..cebc4c3d638aab76be211f34ae119c90c521f61b 100644
|
| --- a/content/common/ssl_status_serialization.cc
|
| +++ b/content/common/ssl_status_serialization.cc
|
| @@ -31,48 +31,35 @@ std::string SerializeSecurityInfo(
|
| return std::string(static_cast<const char*>(pickle.data()), pickle.size());
|
| }
|
|
|
| -bool DeserializeSecurityInfo(
|
| - const std::string& state,
|
| - int* cert_id,
|
| - net::CertStatus* cert_status,
|
| - int* security_bits,
|
| - int* ssl_connection_status,
|
| - SignedCertificateTimestampIDStatusList* signed_certificate_timestamp_ids) {
|
| - DCHECK(cert_id && cert_status && security_bits && ssl_connection_status &&
|
| - signed_certificate_timestamp_ids);
|
| +SSLStatus DeserializeSecurityInfo(const std::string& state) {
|
| if (state.empty()) {
|
| // No SSL used.
|
| - *cert_id = 0;
|
| - // The following are not applicable and are set to the default values.
|
| - *cert_status = 0;
|
| - *security_bits = -1;
|
| - *ssl_connection_status = 0;
|
| - signed_certificate_timestamp_ids->clear();
|
| - return false;
|
| + return SSLStatus();
|
| }
|
|
|
| + SSLStatus ssl_status;
|
| base::Pickle pickle(state.data(), static_cast<int>(state.size()));
|
| base::PickleIterator iter(pickle);
|
| int num_scts_to_read;
|
| - if (!iter.ReadInt(cert_id) ||
|
| - !iter.ReadUInt32(cert_status) ||
|
| - !iter.ReadInt(security_bits) ||
|
| - !iter.ReadInt(ssl_connection_status) ||
|
| + if (!iter.ReadInt(&ssl_status.cert_id) ||
|
| + !iter.ReadUInt32(&ssl_status.cert_status) ||
|
| + !iter.ReadInt(&ssl_status.security_bits) ||
|
| + !iter.ReadInt(&ssl_status.connection_status) ||
|
| !iter.ReadInt(&num_scts_to_read))
|
| - return false;
|
| + return SSLStatus();
|
|
|
| for (; num_scts_to_read > 0; --num_scts_to_read) {
|
| int id;
|
| uint16 status;
|
| if (!iter.ReadInt(&id) || !iter.ReadUInt16(&status))
|
| - return false;
|
| - signed_certificate_timestamp_ids->push_back(
|
| + return SSLStatus();
|
| + ssl_status.signed_certificate_timestamp_ids.push_back(
|
| SignedCertificateTimestampIDAndStatus(
|
| id,
|
| static_cast<net::ct::SCTVerifyStatus>(status)));
|
| }
|
|
|
| - return true;
|
| + return ssl_status;
|
| }
|
|
|
| } // namespace content
|
|
|