| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ui/webui/options/automatic_settings_reset_handler.h" |
| |
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| #include "base/macros.h" |
| #include "base/time/time.h" |
| #include "chrome/browser/prefs/chrome_pref_service_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "content/public/browser/web_ui.h" |
| #include "grit/components_strings.h" |
| |
| namespace { |
| |
| void OnDismissedAutomaticSettingsResetBanner(Profile* profile, |
| const base::ListValue* value) { |
| chrome_prefs::ClearResetTime(profile); |
| } |
| |
| } // namespace |
| |
| namespace options { |
| |
| AutomaticSettingsResetHandler::AutomaticSettingsResetHandler() {} |
| AutomaticSettingsResetHandler::~AutomaticSettingsResetHandler() {} |
| |
| void AutomaticSettingsResetHandler::InitializePage() { |
| static const int kBannerShowTimeInDays = 5; |
| |
| const base::Time then = |
| chrome_prefs::GetResetTime(Profile::FromWebUI(web_ui())); |
| if (!then.is_null()) { |
| const base::Time now = base::Time::Now(); |
| if ((now - then).InDays() < kBannerShowTimeInDays) |
| web_ui()->CallJavascriptFunction("AutomaticSettingsResetBanner.show"); |
| } |
| } |
| |
| void AutomaticSettingsResetHandler::GetLocalizedValues( |
| base::DictionaryValue* localized_strings) { |
| DCHECK(localized_strings); |
| |
| static const OptionsStringResource resources[] = { |
| { "automaticSettingsResetBannerResetButtonText", |
| IDS_AUTOMATIC_SETTINGS_RESET_BANNER_RESET_BUTTON_TEXT }, |
| { "automaticSettingsResetBannerText", |
| IDS_AUTOMATIC_SETTINGS_RESET_BANNER_TEXT }, |
| { "automaticSettingsResetLearnMoreUrl", |
| IDS_LEARN_MORE }, |
| }; |
| |
| RegisterStrings(localized_strings, resources, arraysize(resources)); |
| localized_strings->SetString( |
| "automaticSettingsResetLearnMoreUrl", |
| chrome::kAutomaticSettingsResetLearnMoreURL); |
| } |
| |
| void AutomaticSettingsResetHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback( |
| "onDismissedAutomaticSettingsResetBanner", |
| base::Bind(&OnDismissedAutomaticSettingsResetBanner, |
| Profile::FromWebUI(web_ui()))); |
| } |
| |
| } // namespace options |