Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / supervised_user / supervised_user_interstitial.h
index 790b824..7956761 100644 (file)
@@ -8,8 +8,7 @@
 #include <string>
 
 #include "base/callback.h"
-#include "base/compiler_specific.h"
-#include "base/prefs/pref_change_registrar.h"
+#include "chrome/browser/supervised_user/supervised_user_service_observer.h"
 #include "content/public/browser/interstitial_page_delegate.h"
 #include "url/gurl.h"
 
@@ -18,10 +17,13 @@ class InterstitialPage;
 class WebContents;
 }
 
+class Profile;
+
 // Delegate for an interstitial page when a page is blocked for a supervised
 // user because it is on a blacklist (in "allow everything" mode) or not on any
 // whitelist (in "allow only specified sites" mode).
-class SupervisedUserInterstitial : public content::InterstitialPageDelegate {
+class SupervisedUserInterstitial : public content::InterstitialPageDelegate,
+                                   public SupervisedUserServiceObserver {
  public:
   static void Show(content::WebContents* web_contents,
                    const GURL& url,
@@ -41,23 +43,23 @@ class SupervisedUserInterstitial : public content::InterstitialPageDelegate {
   virtual void OnProceed() OVERRIDE;
   virtual void OnDontProceed() OVERRIDE;
 
+  // SupervisedUserServiceObserver implementation.
+  virtual void OnURLFilterChanged() OVERRIDE;
+
   // Returns whether the blocked URL is now allowed. Called initially before the
   // interstitial is shown (to catch race conditions), or when the URL filtering
   // prefs change.
   bool ShouldProceed();
 
-  void OnFilteringPrefsChanged();
   void DispatchContinueRequest(bool continue_request);
 
   // Owns the interstitial, which owns us.
   content::WebContents* web_contents_;
 
-  content::InterstitialPage* interstitial_page_;  // Owns us.
+  Profile* profile_;
 
-  PrefChangeRegistrar pref_change_registrar_;
+  content::InterstitialPage* interstitial_page_;  // Owns us.
 
-  // The UI language. Used for formatting the URL for display.
-  std::string languages_;
   GURL url_;
 
   base::Callback<void(bool)> callback_;