Index: chrome/browser/ssl/ssl_blocking_page.h |
diff --git a/chrome/browser/ssl/ssl_blocking_page.h b/chrome/browser/ssl/ssl_blocking_page.h |
index dac5ab41a2f8050a7f99685cf017b820cde0716b..29a7568224bb803cc1c9c80e76f1c1ebbf080577 100644 |
--- a/chrome/browser/ssl/ssl_blocking_page.h |
+++ b/chrome/browser/ssl/ssl_blocking_page.h |
@@ -15,6 +15,7 @@ |
#include "chrome/browser/interstitials/security_interstitial_metrics_helper.h" |
#include "chrome/browser/interstitials/security_interstitial_page.h" |
#include "net/ssl/ssl_info.h" |
+#include "net/url_request/url_request_context_getter.h" |
Ryan Sleevi
2015/02/27 00:46:33
Forward declare
estark
2015/02/27 02:49:37
Just removed the #include all together because I m
|
#include "url/gurl.h" |
#if defined(ENABLE_EXTENSIONS) |
@@ -30,16 +31,20 @@ class SSLErrorClassification; |
// It deletes itself when the interstitial page is closed. |
class SSLBlockingPage : public SecurityInterstitialPage { |
public: |
- // These represent the commands sent from the interstitial JavaScript. They |
- // are defined in chrome/browser/resources/ssl/ssl_errors_common.js. |
- // DO NOT reorder or change these without also changing the JavaScript! |
+ // These represent the commands sent from the interstitial |
+ // JavaScript. They are defined in |
+ // chrome/browser/resources/security_warnings/ssl_errors_common.js. |
+ // DO NOT reorder or change these without also changing the |
+ // JavaScript! |
enum SSLBlockingPageCommands { |
CMD_DONT_PROCEED = 0, |
CMD_PROCEED = 1, |
CMD_MORE = 2, |
CMD_RELOAD = 3, |
CMD_HELP = 4, |
- CMD_CLOCK = 5 |
+ CMD_CLOCK = 5, |
+ CMD_DO_REPORT = 6, |
+ CMD_DONT_REPORT = 7 |
}; |
enum SSLBlockingPageOptionsMask { |
@@ -91,6 +96,10 @@ class SSLBlockingPage : public SecurityInterstitialPage { |
void PopulateInterstitialStrings( |
base::DictionaryValue* load_time_data) override; |
+ // SecurityInterstitialPageWithExtendedReporting implementation: |
+ void PopulateExtendedReportingOption( |
+ base::DictionaryValue* load_time_data) override; |
+ |
private: |
void NotifyDenyCertificate(); |
void NotifyAllowCertificate(); |
@@ -98,6 +107,17 @@ class SSLBlockingPage : public SecurityInterstitialPage { |
std::string GetUmaHistogramPrefix() const; |
std::string GetSamplingEventName() const; |
+ // Send a report about an invalid certificate to the server (by |
+ // posting a FinishCertCollectionInternal task to the IO thread). |
+ void FinishCertCollection(); |
+ |
+ // The method that actually sends the cert collection report over the |
+ // network. Must be called only on the IO thread. |
+ static void FinishCertCollectionInternal( |
+ scoped_refptr<net::URLRequestContextGetter> request_context_getter, |
Ryan Sleevi
2015/02/27 00:46:33
This should be "const scoped_refptr<net::URLReques
estark
2015/02/27 02:49:37
Done.
|
+ const std::string& hostname, |
+ const net::SSLInfo& ssl_info); |
+ |
base::Callback<void(bool)> callback_; |
const int cert_error_; |