class ListValue;
} // namespace base
+class AutomaticProfileResetter;
class BrandcodeConfigFetcher;
class ProfileResetter;
class ResettableSettingsSnapshot;
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.
// 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();
// 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_;