| Index: chrome/browser/ssl/ssl_blocking_page.cc
|
| ===================================================================
|
| --- chrome/browser/ssl/ssl_blocking_page.cc (revision 14518)
|
| +++ chrome/browser/ssl/ssl_blocking_page.cc (working copy)
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/browser/ssl/ssl_blocking_page.h"
|
|
|
| +#include "base/histogram.h"
|
| #include "base/string_piece.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browser.h"
|
| @@ -22,6 +23,22 @@
|
| #include "grit/browser_resources.h"
|
| #include "grit/generated_resources.h"
|
|
|
| +namespace {
|
| +
|
| +enum SSLBlockingPageEvent {
|
| + SHOW,
|
| + PROCEED,
|
| + DONT_PROCEED,
|
| +};
|
| +
|
| +void RecordSSLBlockingPageStats(SSLBlockingPageEvent event) {
|
| + static LinearHistogram histogram("interstial.ssl", 0, 2, 4);
|
| + histogram.SetFlags(kUmaTargetedHistogramFlag);
|
| + histogram.Add(event);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| // Note that we always create a navigation entry with SSL errors.
|
| // No error happening loading a sub-resource triggers an interstitial so far.
|
| SSLBlockingPage::SSLBlockingPage(SSLManager::CertError* error,
|
| @@ -30,6 +47,7 @@
|
| error_(error),
|
| delegate_(delegate),
|
| delegate_has_been_notified_(false) {
|
| + RecordSSLBlockingPageStats(SHOW);
|
| }
|
|
|
| SSLBlockingPage::~SSLBlockingPage() {
|
| @@ -94,6 +112,8 @@
|
| }
|
|
|
| void SSLBlockingPage::Proceed() {
|
| + RecordSSLBlockingPageStats(PROCEED);
|
| +
|
| // Accepting the certificate resumes the loading of the page.
|
| NotifyAllowCertificate();
|
|
|
| @@ -102,11 +122,12 @@
|
| }
|
|
|
| void SSLBlockingPage::DontProceed() {
|
| + RecordSSLBlockingPageStats(DONT_PROCEED);
|
| +
|
| NotifyDenyCertificate();
|
| InterstitialPage::DontProceed();
|
| }
|
|
|
| -
|
| void SSLBlockingPage::NotifyDenyCertificate() {
|
| DCHECK(!delegate_has_been_notified_);
|
|
|
|
|