Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / options / reset_profile_settings_handler.h
index 8c1528c..e4e3440 100644 (file)
@@ -17,6 +17,7 @@ class DictionaryValue;
 class ListValue;
 }  // namespace base
 
+class AutomaticProfileResetter;
 class BrandcodeConfigFetcher;
 class ProfileResetter;
 class ResettableSettingsSnapshot;
@@ -30,16 +31,16 @@ class ResetProfileSettingsHandler
       public base::SupportsWeakPtr<ResetProfileSettingsHandler> {
  public:
   ResetProfileSettingsHandler();
-  virtual ~ResetProfileSettingsHandler();
+  ~ResetProfileSettingsHandler() override;
 
   // OptionsPageUIHandler implementation.
-  virtual void GetLocalizedValues(
-      base::DictionaryValue* localized_strings) OVERRIDE;
-  virtual void InitializeHandler() OVERRIDE;
-  virtual void InitializePage() OVERRIDE;
+  void GetLocalizedValues(base::DictionaryValue* localized_strings) override;
+  void InitializeHandler() override;
+  void InitializePage() override;
+  void Uninitialize() override;
 
   // WebUIMessageHandler implementation.
-  virtual void RegisterMessages() OVERRIDE;
+  void RegisterMessages() override;
 
  private:
   // Javascript callback to start clearing data.
@@ -54,6 +55,9 @@ class ResetProfileSettingsHandler
   // Called when the confirmation box disappears.
   void OnHideResetProfileDialog(const base::ListValue* value);
 
+  // Called when the reset banner is dismissed from the WebUI.
+  void OnDismissedResetProfileSettingsBanner(const base::ListValue* args);
+
   // Called when BrandcodeConfigFetcher completed fetching settings.
   void OnSettingsFetched();
 
@@ -64,6 +68,14 @@ class ResetProfileSettingsHandler
   // Sets new values for the feedback area.
   void UpdateFeedbackUI();
 
+  // Destroyed with the Profile, thus it should outlive us. This will be NULL if
+  // the underlying profile is off-the-record (e.g. in Guest mode on Chrome OS).
+  AutomaticProfileResetter* automatic_profile_resetter_;
+
+  // Records whether or not the Profile Reset confirmation dialog was opened at
+  // least once during the lifetime of the settings page.
+  bool has_shown_confirmation_dialog_;
+
   scoped_ptr<ProfileResetter> resetter_;
 
   scoped_ptr<BrandcodeConfigFetcher> config_fetcher_;