Index: chrome/browser/ssl/captive_portal_blocking_page.h |
diff --git a/chrome/browser/ssl/captive_portal_blocking_page.h b/chrome/browser/ssl/captive_portal_blocking_page.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5e8142034ab48ed3c314999367b5df72724d200f |
--- /dev/null |
+++ b/chrome/browser/ssl/captive_portal_blocking_page.h |
@@ -0,0 +1,45 @@ |
+// Copyright (c) 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_SSL_CAPTIVE_PORTAL_BLOCKING_PAGE_H_ |
+#define CHROME_BROWSER_SSL_CAPTIVE_PORTAL_BLOCKING_PAGE_H_ |
+ |
+#include <string> |
mmenke
2014/06/20 16:07:09
include macros.h for OVERRIDE and DISALLOW_COPY_AN
mmenke
2014/06/20 16:07:09
Blank line after C++ headers.
meacer
2014/06/20 23:28:14
Done.
|
+#include "content/public/browser/interstitial_page_delegate.h" |
+#include "url/gurl.h" |
+ |
+namespace content{ |
mmenke
2014/06/20 16:07:08
nit: Space before "{"
meacer
2014/06/20 23:28:14
Done.
|
+class InterstitialPage; |
+class WebContents; |
+} |
+ |
+// This class is responsible for showing/hiding the interstitial page that is |
+// shown when a captive portal and an SSL error is detected. |
+// It deletes itself when the interstitial page is closed.. |
+// |
+// This class should only be used on the UI thread because its implementation |
+// uses captive_portal::CaptivePortalService which can only be accessed on the |
+// UI thread. |
mmenke
2014/06/20 16:07:08
More fundamentally, it's not safe to muck with a W
meacer
2014/06/20 23:28:15
Done.
|
+class CaptivePortalBlockingPage : public content::InterstitialPageDelegate { |
+ public: |
+ CaptivePortalBlockingPage(content::WebContents* web_contents, |
+ const GURL& request_url); |
+ virtual ~CaptivePortalBlockingPage(); |
+ |
+ protected: |
+ // InterstitialPageDelegate implementation. |
+ virtual std::string GetHTMLContents() OVERRIDE; |
+ virtual void CommandReceived(const std::string& command) OVERRIDE; |
+ |
+ private: |
+ content::WebContents* web_contents_; |
+ // The URL which had the SSL error. |
+ GURL request_url_; |
+ // The interstitial page owns us. |
+ content::InterstitialPage* interstitial_page_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(CaptivePortalBlockingPage); |
+}; |
+ |
+#endif // CHROME_BROWSER_SSL_CAPTIVE_PORTAL_BLOCKING_PAGE_H_ |