Index: components/security_interstitials/content/security_interstitial_controller_client.h |
diff --git a/components/security_interstitials/content/security_interstitial_controller_client.h b/components/security_interstitials/content/security_interstitial_controller_client.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bd9c62adc7f721419d2c6e87b6d042ee420d593a |
--- /dev/null |
+++ b/components/security_interstitials/content/security_interstitial_controller_client.h |
@@ -0,0 +1,71 @@ |
+// Copyright 2016 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 COMPONENTS_SECURITY_INTERSTITIALS_CONTENT_SECURITY_INTERSTITIAL_CONTROLLER_CLIENT_H_ |
+#define COMPONENTS_SECURITY_INTERSTITIALS_CONTENT_SECURITY_INTERSTITIAL_CONTROLLER_CLIENT_H_ |
+ |
+#include "base/macros.h" |
+#include "components/security_interstitials/core/controller_client.h" |
+ |
+namespace content { |
+ class InterstitialPage; |
+ class WebContents; |
+} |
+ |
+namespace security_interstitials { |
+ |
+class MetricsHelper; |
+ |
+// Handle commands from security interstitial pages. This class is instantiated |
+// by SafeBrowsingBlockingPage. |
meacer
2016/12/27 23:22:34
Is the class really only instantiated by SafeBrows
Jialiu Lin
2016/12/28 18:30:00
Yes, SSLBlockingPage and CaptivePortalBlockingPage
meacer
2016/12/28 19:02:22
Sounds good. Can you add a comment or a todo sayin
Jialiu Lin
2016/12/28 19:40:32
Sure. Refined comments and added a todo.
|
+class SecurityInterstitialControllerClient |
+ : public security_interstitials::ControllerClient { |
+ public: |
+ SecurityInterstitialControllerClient( |
+ content::WebContents* web_contents, |
+ std::unique_ptr<MetricsHelper> metrics_helper, |
+ const GURL& default_safe_page); |
meacer
2016/12/27 23:22:34
As I commented in chrome_controller_client.cc, loo
Jialiu Lin
2016/12/28 18:30:00
Done.
|
+ |
+ SecurityInterstitialControllerClient( |
+ content::WebContents* web_contents, |
+ std::unique_ptr<MetricsHelper> metrics_helper, |
+ PrefService* prefs, |
+ const std::string& app_locale, |
+ const GURL& default_safe_page); |
+ |
+ ~SecurityInterstitialControllerClient() override; |
+ |
+ void set_interstitial_page(content::InterstitialPage* interstitial_page); |
+ content::InterstitialPage* interstitial_page(); |
+ |
+ // security_interstitials::ControllerClient overrides |
meacer
2016/12/27 23:22:34
nit: Missing dot or colon at the end of the line
Jialiu Lin
2016/12/28 18:30:00
Done.
|
+ void GoBack() override; |
+ void GoBackAfterNavigationCommitted() override; |
+ void Proceed() override; |
+ void Reload() override; |
+ void OpenUrlInCurrentTab(const GURL& url) override; |
+ PrefService* GetPrefService() override; |
+ const std::string& GetApplicationLocale() override; |
+ bool CanLaunchDateAndTimeSettings() override; |
+ void LaunchDateAndTimeSettings() override; |
+ |
+protected: |
+ // security_interstitials::ControllerClient overrides |
+ const std::string GetExtendedReportingPrefName() override; |
meacer
2016/12/27 23:22:34
This could be a const method in security_interstit
meacer
2016/12/27 23:22:34
nit: Missing dot or colon at the end of the line
Jialiu Lin
2016/12/28 18:30:00
Done.
Jialiu Lin
2016/12/28 18:30:00
Done.
|
+ content::WebContents* web_contents_; |
+ |
+ private: |
+ content::InterstitialPage* interstitial_page_; |
+ PrefService* prefs_; |
+ const std::string app_locale_; |
+ // The default safe page we should go to if there is no previous page to go |
+ // back to, e.g. chrome:kChromeUINewTabURL. |
+ const GURL& default_safe_page_; |
meacer
2016/12/27 23:22:34
I think you can make this a non-reference member:
Jialiu Lin
2016/12/28 18:30:00
Done.
|
+ |
+ DISALLOW_COPY_AND_ASSIGN(SecurityInterstitialControllerClient); |
+}; |
+ |
+} // namespace security_interstitials |
+ |
+#endif // COMPONENTS_SECURITY_INTERSTITIALS_CONTENT_SECURITY_INTERSTITIAL_CONTROLLER_CLIENT_H_ |