| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" | 5 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 web_ui()->CallJavascriptFunction( | 90 web_ui()->CallJavascriptFunction( |
| 91 "ClearBrowserDataOverlay.createFooter", | 91 "ClearBrowserDataOverlay.createFooter", |
| 92 base::FundamentalValue(AreCountersEnabled()), | 92 base::FundamentalValue(AreCountersEnabled()), |
| 93 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); | 93 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); |
| 94 UpdateInfoBannerVisibility(); | 94 UpdateInfoBannerVisibility(); |
| 95 OnBrowsingHistoryPrefChanged(); | 95 OnBrowsingHistoryPrefChanged(); |
| 96 bool removal_in_progress = !!remover_; | 96 bool removal_in_progress = !!remover_; |
| 97 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.setClearing", | 97 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.setClearing", |
| 98 base::FundamentalValue(removal_in_progress)); | 98 base::FundamentalValue(removal_in_progress)); |
| 99 | 99 |
| 100 for (BrowsingDataCounter* counter : counters_) { | |
| 101 DCHECK(AreCountersEnabled()); | |
| 102 counter->Restart(); | |
| 103 } | |
| 104 web_ui()->CallJavascriptFunction( | 100 web_ui()->CallJavascriptFunction( |
| 105 "ClearBrowserDataOverlay.markInitializationComplete"); | 101 "ClearBrowserDataOverlay.markInitializationComplete"); |
| 106 } | 102 } |
| 107 | 103 |
| 108 void ClearBrowserDataHandler::UpdateInfoBannerVisibility() { | 104 void ClearBrowserDataHandler::UpdateInfoBannerVisibility() { |
| 109 base::string16 text; | 105 base::string16 text; |
| 110 | 106 |
| 111 Profile* profile = Profile::FromWebUI(web_ui()); | 107 Profile* profile = Profile::FromWebUI(web_ui()); |
| 112 auto availability = IncognitoModePrefs::GetAvailability(profile->GetPrefs()); | 108 auto availability = IncognitoModePrefs::GetAvailability(profile->GetPrefs()); |
| 113 if (availability == IncognitoModePrefs::ENABLED) { | 109 if (availability == IncognitoModePrefs::ENABLED) { |
| 114 base::Time last_clear_time = base::Time::FromInternalValue( | 110 base::Time last_clear_time = base::Time::FromInternalValue( |
| 115 profile->GetPrefs()->GetInt64(prefs::kLastClearBrowsingDataTime)); | 111 profile->GetPrefs()->GetInt64(prefs::kLastClearBrowsingDataTime)); |
| 116 | 112 |
| 117 const base::TimeDelta since_clear = base::Time::Now() - last_clear_time; | 113 const base::TimeDelta since_clear = base::Time::Now() - last_clear_time; |
| 118 if (since_clear < base::TimeDelta::FromHours(base::Time::kHoursPerDay)) { | 114 if (since_clear < base::TimeDelta::FromHours(base::Time::kHoursPerDay)) { |
| 119 ui::Accelerator acc = chrome::GetPrimaryChromeAcceleratorForCommandId( | 115 ui::Accelerator acc = chrome::GetPrimaryChromeAcceleratorForCommandId( |
| 120 IDC_NEW_INCOGNITO_WINDOW); | 116 IDC_NEW_INCOGNITO_WINDOW); |
| 121 DCHECK_NE(ui::VKEY_UNKNOWN, acc.key_code()); | 117 DCHECK_NE(ui::VKEY_UNKNOWN, acc.key_code()); |
| 122 text = l10n_util::GetStringFUTF16(IDS_CLEAR_BROWSING_DATA_INFO_BAR_TEXT, | 118 text = l10n_util::GetStringFUTF16(IDS_CLEAR_BROWSING_DATA_INFO_BAR_TEXT, |
| 123 acc.GetShortcutText()); | 119 acc.GetShortcutText()); |
| 124 } | 120 } |
| 125 } | 121 } |
| 126 | 122 |
| 127 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.setBannerText", | 123 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.setBannerText", |
| 128 base::StringValue(text)); | 124 base::StringValue(text)); |
| 129 } | 125 } |
| 130 | 126 |
| 127 void ClearBrowserDataHandler::OnPageOpened(const base::ListValue* value) { |
| 128 for (BrowsingDataCounter* counter : counters_) { |
| 129 DCHECK(AreCountersEnabled()); |
| 130 counter->Restart(); |
| 131 } |
| 132 } |
| 133 |
| 131 void ClearBrowserDataHandler::GetLocalizedValues( | 134 void ClearBrowserDataHandler::GetLocalizedValues( |
| 132 base::DictionaryValue* localized_strings) { | 135 base::DictionaryValue* localized_strings) { |
| 133 DCHECK(localized_strings); | 136 DCHECK(localized_strings); |
| 134 | 137 |
| 135 static OptionsStringResource resources[] = { | 138 static OptionsStringResource resources[] = { |
| 136 { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, | 139 { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, |
| 137 { "clearBrowserDataSyncWarning", IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION }, | 140 { "clearBrowserDataSyncWarning", IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION }, |
| 138 { "clearBrowserDataSupportString", AreCountersEnabled() | 141 { "clearBrowserDataSupportString", AreCountersEnabled() |
| 139 ? IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE | 142 ? IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE |
| 140 : IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS }, | 143 : IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS }, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 localized_strings->Set("clearBrowserDataTimeList", time_list); | 189 localized_strings->Set("clearBrowserDataTimeList", time_list); |
| 187 localized_strings->SetBoolean("showDeleteBrowsingHistoryCheckboxes", | 190 localized_strings->SetBoolean("showDeleteBrowsingHistoryCheckboxes", |
| 188 !Profile::FromWebUI(web_ui())->IsSupervised()); | 191 !Profile::FromWebUI(web_ui())->IsSupervised()); |
| 189 } | 192 } |
| 190 | 193 |
| 191 void ClearBrowserDataHandler::RegisterMessages() { | 194 void ClearBrowserDataHandler::RegisterMessages() { |
| 192 // Setup handlers specific to this panel. | 195 // Setup handlers specific to this panel. |
| 193 web_ui()->RegisterMessageCallback("performClearBrowserData", | 196 web_ui()->RegisterMessageCallback("performClearBrowserData", |
| 194 base::Bind(&ClearBrowserDataHandler::HandleClearBrowserData, | 197 base::Bind(&ClearBrowserDataHandler::HandleClearBrowserData, |
| 195 base::Unretained(this))); | 198 base::Unretained(this))); |
| 199 web_ui()->RegisterMessageCallback("openedClearBrowserData", |
| 200 base::Bind(&ClearBrowserDataHandler::OnPageOpened, |
| 201 base::Unretained(this))); |
| 196 } | 202 } |
| 197 | 203 |
| 198 void ClearBrowserDataHandler::HandleClearBrowserData( | 204 void ClearBrowserDataHandler::HandleClearBrowserData( |
| 199 const base::ListValue* value) { | 205 const base::ListValue* value) { |
| 200 // We should never be called when the previous clearing has not yet finished. | 206 // We should never be called when the previous clearing has not yet finished. |
| 201 CHECK(!remover_); | 207 CHECK(!remover_); |
| 202 | 208 |
| 203 Profile* profile = Profile::FromWebUI(web_ui()); | 209 Profile* profile = Profile::FromWebUI(web_ui()); |
| 204 PrefService* prefs = profile->GetPrefs(); | 210 PrefService* prefs = profile->GetPrefs(); |
| 205 | 211 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 base::StringValue(text)); | 334 base::StringValue(text)); |
| 329 } | 335 } |
| 330 | 336 |
| 331 void ClearBrowserDataHandler::OnStateChanged() { | 337 void ClearBrowserDataHandler::OnStateChanged() { |
| 332 web_ui()->CallJavascriptFunction( | 338 web_ui()->CallJavascriptFunction( |
| 333 "ClearBrowserDataOverlay.updateSyncWarning", | 339 "ClearBrowserDataOverlay.updateSyncWarning", |
| 334 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); | 340 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive())); |
| 335 } | 341 } |
| 336 | 342 |
| 337 } // namespace options | 343 } // namespace options |
| OLD | NEW |