| Index: chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc b/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
|
| index cd4db5e7cb74362a05bb21321eeec7a7e3c48029..86bacf30131f6a242c2fb20dcc806e7f928d8754 100644
|
| --- a/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
|
| @@ -11,6 +11,8 @@
|
| #include "base/strings/string16.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/google/google_brand.h"
|
| +#include "chrome/browser/profile_resetter/automatic_profile_resetter.h"
|
| +#include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h"
|
| #include "chrome/browser/profile_resetter/brandcode_config_fetcher.h"
|
| #include "chrome/browser/profile_resetter/brandcoded_default_settings.h"
|
| #include "chrome/browser/profile_resetter/profile_resetter.h"
|
| @@ -24,7 +26,9 @@
|
|
|
| namespace options {
|
|
|
| -ResetProfileSettingsHandler::ResetProfileSettingsHandler() {
|
| +ResetProfileSettingsHandler::ResetProfileSettingsHandler()
|
| + : automatic_profile_resetter_(NULL),
|
| + has_shown_confirmation_dialog_(false) {
|
| google_brand::GetBrand(&brandcode_);
|
| }
|
|
|
| @@ -33,12 +37,25 @@ ResetProfileSettingsHandler::~ResetProfileSettingsHandler() {}
|
| void ResetProfileSettingsHandler::InitializeHandler() {
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| resetter_.reset(new ProfileResetter(profile));
|
| + automatic_profile_resetter_ =
|
| + AutomaticProfileResetterFactory::GetForBrowserContext(profile);
|
| }
|
|
|
| void ResetProfileSettingsHandler::InitializePage() {
|
| web_ui()->CallJavascriptFunction(
|
| "ResetProfileSettingsOverlay.setResettingState",
|
| base::FundamentalValue(resetter_->IsActive()));
|
| + if (automatic_profile_resetter_ &&
|
| + automatic_profile_resetter_->ShouldShowResetBanner()) {
|
| + web_ui()->CallJavascriptFunction("ResetProfileSettingsBanner.show");
|
| + }
|
| +}
|
| +
|
| +void ResetProfileSettingsHandler::Uninitialize() {
|
| + if (has_shown_confirmation_dialog_ && automatic_profile_resetter_) {
|
| + automatic_profile_resetter_->NotifyDidCloseWebUIResetDialog(
|
| + false /*performed_reset*/);
|
| + }
|
| }
|
|
|
| void ResetProfileSettingsHandler::GetLocalizedValues(
|
| @@ -46,6 +63,8 @@ void ResetProfileSettingsHandler::GetLocalizedValues(
|
| DCHECK(localized_strings);
|
|
|
| static OptionsStringResource resources[] = {
|
| + { "resetProfileSettingsBannerText",
|
| + IDS_RESET_PROFILE_SETTINGS_BANNER_TEXT },
|
| { "resetProfileSettingsCommit", IDS_RESET_PROFILE_SETTINGS_COMMIT_BUTTON },
|
| { "resetProfileSettingsExplanation",
|
| IDS_RESET_PROFILE_SETTINGS_EXPLANATION },
|
| @@ -71,6 +90,10 @@ void ResetProfileSettingsHandler::RegisterMessages() {
|
| web_ui()->RegisterMessageCallback("onHideResetProfileDialog",
|
| base::Bind(&ResetProfileSettingsHandler::OnHideResetProfileDialog,
|
| base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback("onDismissedResetProfileSettingsBanner",
|
| + base::Bind(&ResetProfileSettingsHandler::
|
| + OnDismissedResetProfileSettingsBanner,
|
| + base::Unretained(this)));
|
| }
|
|
|
| void ResetProfileSettingsHandler::HandleResetProfileSettings(
|
| @@ -102,10 +125,17 @@ void ResetProfileSettingsHandler::OnResetProfileSettingsDone(
|
| setting_snapshot_->Subtract(current_snapshot);
|
| std::string report = SerializeSettingsReport(*setting_snapshot_,
|
| difference);
|
| - SendSettingsFeedback(report, profile);
|
| + bool is_reset_prompt_active = automatic_profile_resetter_ &&
|
| + automatic_profile_resetter_->IsResetPromptFlowActive();
|
| + SendSettingsFeedback(report, profile, is_reset_prompt_active ?
|
| + PROFILE_RESET_PROMPT : PROFILE_RESET_WEBUI);
|
| }
|
| }
|
| setting_snapshot_.reset();
|
| + if (automatic_profile_resetter_) {
|
| + automatic_profile_resetter_->NotifyDidCloseWebUIResetDialog(
|
| + true /*performed_reset*/);
|
| + }
|
| }
|
|
|
| void ResetProfileSettingsHandler::OnShowResetProfileDialog(
|
| @@ -118,6 +148,10 @@ void ResetProfileSettingsHandler::OnShowResetProfileDialog(
|
| UpdateFeedbackUI();
|
| }
|
|
|
| + if (automatic_profile_resetter_)
|
| + automatic_profile_resetter_->NotifyDidOpenWebUIResetDialog();
|
| + has_shown_confirmation_dialog_ = true;
|
| +
|
| if (brandcode_.empty())
|
| return;
|
| config_fetcher_.reset(new BrandcodeConfigFetcher(
|
| @@ -133,6 +167,12 @@ void ResetProfileSettingsHandler::OnHideResetProfileDialog(
|
| setting_snapshot_.reset();
|
| }
|
|
|
| +void ResetProfileSettingsHandler::OnDismissedResetProfileSettingsBanner(
|
| + const base::ListValue* args) {
|
| + if (automatic_profile_resetter_)
|
| + automatic_profile_resetter_->NotifyDidCloseWebUIResetBanner();
|
| +}
|
| +
|
| void ResetProfileSettingsHandler::OnSettingsFetched() {
|
| DCHECK(config_fetcher_);
|
| DCHECK(!config_fetcher_->IsActive());
|
|
|