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..ac8e37845e6d700c3f37161814999d1ca2e18da9 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_(nullptr), |
+ sync_service_(nullptr) { |
} |
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 |