Index: chrome/browser/ui/webui/settings/reset_settings_handler.h |
diff --git a/chrome/browser/ui/webui/settings/reset_settings_handler.h b/chrome/browser/ui/webui/settings/reset_settings_handler.h |
index 04079471a24444503c1efc49a24841d2d9cb3d4c..6238dec1b3a4e29e818245c566e3a2406d1b4f33 100644 |
--- a/chrome/browser/ui/webui/settings/reset_settings_handler.h |
+++ b/chrome/browser/ui/webui/settings/reset_settings_handler.h |
@@ -23,6 +23,7 @@ class WebUIDataSource; |
} |
class BrandcodeConfigFetcher; |
+class Profile; |
class ProfileResetter; |
class ResettableSettingsSnapshot; |
@@ -35,17 +36,24 @@ class ResetSettingsHandler |
: public SettingsPageUIHandler, |
public base::SupportsWeakPtr<ResetSettingsHandler> { |
public: |
- explicit ResetSettingsHandler( |
- content::WebUIDataSource* html_source, content::WebUI* web_ui); |
~ResetSettingsHandler() override; |
+ static ResetSettingsHandler* Create( |
+ content::WebUIDataSource* html_source, Profile* profile); |
+ |
// WebUIMessageHandler implementation. |
void RegisterMessages() override; |
- private: |
+ protected: |
+ ResetSettingsHandler(Profile* profile, bool allow_powerwash); |
+ |
+ // Overriden in tests to substitute with a test version of ProfileResetter. |
+ virtual ProfileResetter* GetResetter(); |
+ |
// Javascript callback to start clearing data. |
void HandleResetProfileSettings(const base::ListValue* value); |
+ private: |
// Closes the dialog once all requested settings has been reset. |
void OnResetProfileSettingsDone(bool send_feedback); |
@@ -77,6 +85,8 @@ class ResetSettingsHandler |
bool allow_powerwash_ = false; |
#endif // defined(OS_CHROMEOS) |
+ Profile* const profile_; |
+ |
scoped_ptr<ProfileResetter> resetter_; |
scoped_ptr<BrandcodeConfigFetcher> config_fetcher_; |