| Index: content/public/common/ssl_status.cc
|
| diff --git a/content/public/common/ssl_status.cc b/content/public/common/ssl_status.cc
|
| index 3490a81c46a0dd277a71d283f78ce4c8e8a94aa0..96e84f26ff71fa0c3da5491e14d60bc959b8f0ed 100644
|
| --- a/content/public/common/ssl_status.cc
|
| +++ b/content/public/common/ssl_status.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "content/public/common/ssl_status.h"
|
|
|
| +#include "net/cert/sct_status_flags.h"
|
| #include "net/ssl/ssl_info.h"
|
|
|
| namespace content {
|
| @@ -20,8 +21,6 @@ SSLStatus::SSLStatus()
|
|
|
| SSLStatus::SSLStatus(SecurityStyle security_style,
|
| int cert_id,
|
| - const SignedCertificateTimestampIDStatusList&
|
| - signed_certificate_timestamp_ids,
|
| const net::SSLInfo& ssl_info)
|
| : security_style(security_style),
|
| cert_id(cert_id),
|
| @@ -30,7 +29,29 @@ SSLStatus::SSLStatus(SecurityStyle security_style,
|
| key_exchange_info(ssl_info.key_exchange_info),
|
| connection_status(ssl_info.connection_status),
|
| content_status(NORMAL_CONTENT),
|
| - signed_certificate_timestamp_ids(signed_certificate_timestamp_ids) {}
|
| + num_unknown_scts(0),
|
| + num_invalid_scts(0),
|
| + num_valid_scts(0) {
|
| + // Count unknown, invalid and valid SCTs.
|
| + for (const auto& sct_and_status : ssl_info.signed_certificate_timestamps) {
|
| + switch (sct_and_status.status) {
|
| + case net::ct::SCT_STATUS_LOG_UNKNOWN:
|
| + num_unknown_scts++;
|
| + break;
|
| + case net::ct::SCT_STATUS_INVALID:
|
| + num_invalid_scts++;
|
| + break;
|
| + case net::ct::SCT_STATUS_OK:
|
| + num_valid_scts++;
|
| + break;
|
| + case net::ct::SCT_STATUS_NONE:
|
| + case net::ct::SCT_STATUS_MAX:
|
| + // These enum values do not represent SCTs that are taken into account
|
| + // for CT compliance calculations, so we ignore them.
|
| + break;
|
| + }
|
| + }
|
| +}
|
|
|
| SSLStatus::SSLStatus(const SSLStatus& other) = default;
|
|
|
|
|