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 |