| 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
|
|
|