Chromium Code Reviews| Index: chrome/browser/ui/webui/options/clear_browser_data_handler.cc |
| diff --git a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc |
| index 396baa3886795920387994cff76f5b44e39b9bdd..93f80fd41dcec12f4ce41635f275dbd8a8dc8ec1 100644 |
| --- a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc |
| +++ b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc |
| @@ -21,6 +21,7 @@ |
| #include "chrome/browser/browsing_data/passwords_counter.h" |
| #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chrome/browser/sync/profile_sync_service_factory.h" |
| #include "chrome/browser/ui/accelerator_utils.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/pref_names.h" |
| @@ -43,17 +44,25 @@ bool AreCountersEnabled() { |
| switches::kEnableClearBrowsingDataCounters); |
| } |
| +bool IsSupportStringSimplified() { |
| + return base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kSimpleClearBrowsingDataSupportString); |
| +} |
| + |
| } // namespace |
| namespace options { |
| ClearBrowserDataHandler::ClearBrowserDataHandler() |
| - : remover_(NULL) { |
| + : remover_(NULL), |
| + sync_service_(NULL) { |
|
Bernhard Bauer
2015/09/26 06:46:07
Prefer nullptr over NULL (the line above as well i
msramek
2015/09/28 08:41:42
Done.
|
| } |
| ClearBrowserDataHandler::~ClearBrowserDataHandler() { |
| if (remover_) |
| remover_->RemoveObserver(this); |
| + if (sync_service_) |
| + sync_service_->RemoveObserver(this); |
| } |
| void ClearBrowserDataHandler::InitializeHandler() { |
| @@ -72,9 +81,20 @@ void ClearBrowserDataHandler::InitializeHandler() { |
| make_scoped_ptr(new PasswordsCounter()), IDS_DEL_PASSWORDS_COUNTER); |
| // TODO(msramek): Add counters for browsing history and cache. |
| } |
| + |
| + if (IsSupportStringSimplified()) { |
| + sync_service_ = |
| + ProfileSyncServiceFactory::GetForProfile(Profile::FromWebUI(web_ui())); |
| + if (sync_service_) |
| + sync_service_->AddObserver(this); |
| + } |
| } |
| void ClearBrowserDataHandler::InitializePage() { |
| + web_ui()->CallJavascriptFunction( |
| + "ClearBrowserDataOverlay.createFooter", |
| + base::FundamentalValue(IsSupportStringSimplified()), |
| + base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); |
| UpdateInfoBannerVisibility(); |
| OnBrowsingHistoryPrefChanged(); |
| bool removal_in_progress = !!remover_; |
| @@ -118,8 +138,10 @@ void ClearBrowserDataHandler::GetLocalizedValues( |
| static OptionsStringResource resources[] = { |
| { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, |
| - { "contentSettingsAndSearchEnginesRemain", |
| - IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS }, |
| + { "clearBrowserDataSyncWarning", IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION }, |
| + { "clearBrowserDataSupportString", IsSupportStringSimplified() |
| + ? IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE |
| + : IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS }, |
| { "deleteBrowsingHistoryCheckbox", IDS_DEL_BROWSING_HISTORY_CHKBOX }, |
| { "deleteDownloadHistoryCheckbox", IDS_DEL_DOWNLOAD_HISTORY_CHKBOX }, |
| { "deleteCacheCheckbox", IDS_DEL_CACHE_CHKBOX }, |
| @@ -310,4 +332,10 @@ void ClearBrowserDataHandler::UpdateCounterText(const std::string& pref_name, |
| base::StringValue(text)); |
| } |
| +void ClearBrowserDataHandler::OnStateChanged() { |
| + web_ui()->CallJavascriptFunction( |
| + "ClearBrowserDataOverlay.updateSyncWarning", |
| + base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); |
| +} |
| + |
| } // namespace options |