Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2496)

Unified Diff: chrome/browser/ssl/ssl_blocking_page.h

Issue 622683006: Refactor security interstitials, add SecurityInterstitialPage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 279a575c72a6e92e1e40ce8f4df9d90f27bac8cf..a73fbf7cd99c04d23eef8743162981d341f26ce2 100644
--- a/chrome/browser/ssl/ssl_blocking_page.h
+++ b/chrome/browser/ssl/ssl_blocking_page.h
@@ -13,19 +13,10 @@
#include "base/task/cancelable_task_tracker.h"
#include "base/time/time.h"
#include "chrome/browser/history/history_service.h"
-#include "content/public/browser/interstitial_page_delegate.h"
+#include "chrome/browser/interstitials/security_interstitial_page.h"
#include "net/ssl/ssl_info.h"
#include "url/gurl.h"
-namespace base {
-class DictionaryValue;
-}
-
-namespace content {
-class InterstitialPage;
-class WebContents;
-}
-
#if defined(ENABLE_EXTENSIONS)
namespace extensions {
class ExperienceSamplingEvent;
@@ -37,7 +28,7 @@ class SSLErrorClassification;
// This class is responsible for showing/hiding the interstitial page that is
// shown when a certificate error happens.
// It deletes itself when the interstitial page is closed.
-class SSLBlockingPage : public content::InterstitialPageDelegate {
+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.
@@ -59,9 +50,6 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
virtual ~SSLBlockingPage();
- // Create an interstitial and show it.
- void Show();
-
// Creates an SSL blocking page. If the blocking page isn't shown, the caller
// is responsible for cleaning up the blocking page, otherwise the
// interstitial takes ownership when shown. |options_mask| must be a bitwise
@@ -73,6 +61,9 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
int options_mask,
const base::Callback<void(bool)>& callback);
+ // SecurityInterstitialPage method:
+ virtual SecurityInterstitialPage::Type GetTypeForTesting() const OVERRIDE;
+
// A method that sets strings in the specified dictionary from the passed
// vector so that they can be used to resource the ssl_roadblock.html/
// ssl_error.html files.
@@ -82,7 +73,6 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
protected:
// InterstitialPageDelegate implementation.
- virtual std::string GetHTMLContents() OVERRIDE;
virtual void CommandReceived(const std::string& command) OVERRIDE;
virtual void OverrideEntry(content::NavigationEntry* entry) OVERRIDE;
virtual void OverrideRendererPrefs(
@@ -90,6 +80,11 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
virtual void OnProceed() OVERRIDE;
virtual void OnDontProceed() OVERRIDE;
+ // SecurityInterstitialPage implementation:
+ virtual bool ShouldCreateNewNavigation() const OVERRIDE;
+ virtual void PopulateLoadTimeData(
+ base::DictionaryValue* load_time_data) OVERRIDE;
+
private:
void NotifyDenyCertificate();
void NotifyAllowCertificate();
@@ -99,7 +94,6 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
base::Callback<void(bool)> callback_;
- content::WebContents* web_contents_;
const int cert_error_;
const net::SSLInfo ssl_info_;
const GURL request_url_;
@@ -108,7 +102,6 @@ class SSLBlockingPage : public content::InterstitialPageDelegate {
const bool overridable_;
// Has the site requested strict enforcement of certificate errors?
const bool strict_enforcement_;
- content::InterstitialPage* interstitial_page_; // Owns us.
// Is the hostname for an internal network?
bool internal_;
// How many times is this same URL in history?

Powered by Google App Engine
This is Rietveld 408576698