Index: chrome/browser/interstitials/security_interstitial_page.h |
diff --git a/chrome/browser/interstitials/security_interstitial_page.h b/chrome/browser/interstitials/security_interstitial_page.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2a9a9d2dbb9050600952dfb0e76086044e958ed9 |
--- /dev/null |
+++ b/chrome/browser/interstitials/security_interstitial_page.h |
@@ -0,0 +1,66 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_H_ |
+#define CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_H_ |
+ |
+#include "base/strings/string16.h" |
+#include "content/public/browser/interstitial_page_delegate.h" |
+#include "url/gurl.h" |
+ |
+namespace base { |
+class DictionaryValue; |
+} |
+ |
+namespace content { |
+class InterstitialPage; |
+class WebContents; |
+} |
+ |
+class SecurityInterstitialPage : public content::InterstitialPageDelegate { |
+ public: |
+ SecurityInterstitialPage(content::WebContents* web_contents, |
+ const GURL& url); |
+ virtual ~SecurityInterstitialPage(); |
+ |
+ // Creates an interstitial and shows it. |
+ virtual void Show(); |
+ |
+ // Returns interstitial type for testing. |
+ virtual const void* GetTypeForTesting() const = 0; |
+ |
+ // Prevents creating the actual interstitial view for testing. |
+ void DontCreateViewForTesting(); |
+ |
+ protected: |
+ // Returns true if the interstitial should create a new navigation entry. |
+ virtual bool ShouldCreateNewNavigation() const = 0; |
+ |
+ // Populates the strings used to generate the HTML from the template. |
+ virtual void PopulateInterstitialStrings( |
+ base::DictionaryValue* load_time_data) = 0; |
+ |
+ // InterstitialPageDelegate method: |
+ std::string GetHTMLContents() override; |
+ |
+ // Returns the formatted host name for the request url. |
+ base::string16 GetFormattedHostName() const; |
+ |
+ content::InterstitialPage* interstitial_page() const; |
+ content::WebContents* web_contents() const; |
+ GURL request_url() const; |
+ |
+ private: |
+ content::WebContents* web_contents_; |
+ const GURL request_url_; |
+ // Once shown, |interstitial_page| takes ownership of this |
+ // SecurityInterstitialPage instance. |
+ content::InterstitialPage* interstitial_page_; |
+ // Whether the interstitial should create a view. |
+ bool create_view_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(SecurityInterstitialPage); |
+}; |
+ |
+#endif // CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_H_ |