| Index: chrome/browser/ssl/ssl_blocking_page.cc
|
| diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc
|
| index c81e436e986cc9671867d0a09c767795e878495f..cdb0f160367133c7a5d5ebd3636a3ca0ed9a7a61 100644
|
| --- a/chrome/browser/ssl/ssl_blocking_page.cc
|
| +++ b/chrome/browser/ssl/ssl_blocking_page.cc
|
| @@ -587,7 +587,7 @@ void SSLBlockingPage::OnProceed() {
|
|
|
| // Finish collecting information about invalid certificates, if the
|
| // user opted in to.
|
| - FinishCertCollection();
|
| + FinishCertCollection(CertificateErrorReport::USER_PROCEEDED);
|
|
|
| RecordSSLExpirationPageEventState(
|
| expired_but_previously_allowed_, true, overridable_);
|
| @@ -601,7 +601,7 @@ void SSLBlockingPage::OnDontProceed() {
|
|
|
| // Finish collecting information about invalid certificates, if the
|
| // user opted in to.
|
| - FinishCertCollection();
|
| + FinishCertCollection(CertificateErrorReport::USER_DID_NOT_PROCEED);
|
|
|
| RecordSSLExpirationPageEventState(
|
| expired_but_previously_allowed_, false, overridable_);
|
| @@ -650,7 +650,8 @@ std::string SSLBlockingPage::GetSamplingEventName() const {
|
| return event_name;
|
| }
|
|
|
| -void SSLBlockingPage::FinishCertCollection() {
|
| +void SSLBlockingPage::FinishCertCollection(
|
| + CertificateErrorReport::ProceedDecision user_proceeded) {
|
| if (!ShouldShowCertificateReporterCheckbox())
|
| return;
|
|
|
| @@ -667,6 +668,21 @@ void SSLBlockingPage::FinishCertCollection() {
|
| std::string serialized_report;
|
| CertificateErrorReport report(request_url().host(), ssl_info_);
|
|
|
| + CertificateErrorReport::InterstitialReason report_interstitial_reason;
|
| + switch (interstitial_reason_) {
|
| + case SSL_REASON_SSL:
|
| + report_interstitial_reason = CertificateErrorReport::INTERSTITIAL_SSL;
|
| + break;
|
| + case SSL_REASON_BAD_CLOCK:
|
| + report_interstitial_reason = CertificateErrorReport::INTERSTITIAL_CLOCK;
|
| + break;
|
| + }
|
| +
|
| + report.SetInterstitialInfo(
|
| + report_interstitial_reason, user_proceeded,
|
| + overridable_ ? CertificateErrorReport::INTERSTITIAL_OVERRIDABLE
|
| + : CertificateErrorReport::INTERSTITIAL_NOT_OVERRIDABLE);
|
| +
|
| if (!report.Serialize(&serialized_report)) {
|
| LOG(ERROR) << "Failed to serialize certificate report.";
|
| return;
|
|
|