Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: chrome/browser/ui/webui/options/clear_browser_data_handler.cc

Issue 2075023002: UI Changes to support clearing EME/CDM data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 11 matching lines...) Expand all
22 #include "chrome/app/chrome_command_ids.h" 22 #include "chrome/app/chrome_command_ids.h"
23 #include "chrome/browser/browser_process.h" 23 #include "chrome/browser/browser_process.h"
24 #include "chrome/browser/browsing_data/autofill_counter.h" 24 #include "chrome/browser/browsing_data/autofill_counter.h"
25 #include "chrome/browser/browsing_data/browsing_data_counter.h" 25 #include "chrome/browser/browsing_data/browsing_data_counter.h"
26 #include "chrome/browser/browsing_data/browsing_data_counter_utils.h" 26 #include "chrome/browser/browsing_data/browsing_data_counter_utils.h"
27 #include "chrome/browser/browsing_data/browsing_data_helper.h" 27 #include "chrome/browser/browsing_data/browsing_data_helper.h"
28 #include "chrome/browser/browsing_data/browsing_data_remover.h" 28 #include "chrome/browser/browsing_data/browsing_data_remover.h"
29 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 29 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
30 #include "chrome/browser/browsing_data/cache_counter.h" 30 #include "chrome/browser/browsing_data/cache_counter.h"
31 #include "chrome/browser/browsing_data/history_counter.h" 31 #include "chrome/browser/browsing_data/history_counter.h"
32 #include "chrome/browser/browsing_data/media_licenses_counter.h"
32 #include "chrome/browser/browsing_data/passwords_counter.h" 33 #include "chrome/browser/browsing_data/passwords_counter.h"
33 #include "chrome/browser/history/web_history_service_factory.h" 34 #include "chrome/browser/history/web_history_service_factory.h"
34 #include "chrome/browser/prefs/incognito_mode_prefs.h" 35 #include "chrome/browser/prefs/incognito_mode_prefs.h"
35 #include "chrome/browser/profiles/profile.h" 36 #include "chrome/browser/profiles/profile.h"
36 #include "chrome/browser/sync/profile_sync_service_factory.h" 37 #include "chrome/browser/sync/profile_sync_service_factory.h"
37 #include "chrome/browser/ui/accelerator_utils.h" 38 #include "chrome/browser/ui/accelerator_utils.h"
38 #include "chrome/common/channel_info.h" 39 #include "chrome/common/channel_info.h"
39 #include "chrome/common/pref_names.h" 40 #include "chrome/common/pref_names.h"
40 #include "chrome/grit/generated_resources.h" 41 #include "chrome/grit/generated_resources.h"
41 #include "chrome/grit/locale_settings.h" 42 #include "chrome/grit/locale_settings.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 ClearBrowserDataHandler::~ClearBrowserDataHandler() { 77 ClearBrowserDataHandler::~ClearBrowserDataHandler() {
77 if (remover_) 78 if (remover_)
78 remover_->RemoveObserver(this); 79 remover_->RemoveObserver(this);
79 if (sync_service_) 80 if (sync_service_)
80 sync_service_->RemoveObserver(this); 81 sync_service_->RemoveObserver(this);
81 } 82 }
82 83
83 void ClearBrowserDataHandler::InitializeHandler() { 84 void ClearBrowserDataHandler::InitializeHandler() {
84 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); 85 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs();
85 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, prefs); 86 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, prefs);
86 pepper_flash_settings_enabled_.Init(prefs::kPepperFlashSettingsEnabled,
87 prefs);
88 allow_deleting_browser_history_.Init( 87 allow_deleting_browser_history_.Init(
89 prefs::kAllowDeletingBrowserHistory, 88 prefs::kAllowDeletingBrowserHistory,
90 prefs, 89 prefs,
91 base::Bind(&ClearBrowserDataHandler::OnBrowsingHistoryPrefChanged, 90 base::Bind(&ClearBrowserDataHandler::OnBrowsingHistoryPrefChanged,
92 base::Unretained(this))); 91 base::Unretained(this)));
93 92
94 if (AreCountersEnabled()) { 93 if (AreCountersEnabled()) {
95 AddCounter(base::WrapUnique(new PasswordsCounter())); 94 AddCounter(base::WrapUnique(new PasswordsCounter()));
96 AddCounter(base::WrapUnique(new HistoryCounter())); 95 AddCounter(base::WrapUnique(new HistoryCounter()));
97 AddCounter(base::WrapUnique(new CacheCounter())); 96 AddCounter(base::WrapUnique(new CacheCounter()));
98 AddCounter(base::WrapUnique(new AutofillCounter())); 97 AddCounter(base::WrapUnique(new AutofillCounter()));
98 AddCounter(base::WrapUnique(new MediaLicenseCounter()));
99 99
100 sync_service_ = 100 sync_service_ =
101 ProfileSyncServiceFactory::GetForProfile(Profile::FromWebUI(web_ui())); 101 ProfileSyncServiceFactory::GetForProfile(Profile::FromWebUI(web_ui()));
102 if (sync_service_) 102 if (sync_service_)
103 sync_service_->AddObserver(this); 103 sync_service_->AddObserver(this);
104 } 104 }
105 } 105 }
106 106
107 void ClearBrowserDataHandler::InitializePage() { 107 void ClearBrowserDataHandler::InitializePage() {
108 web_ui()->CallJavascriptFunctionUnsafe( 108 web_ui()->CallJavascriptFunctionUnsafe(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 DCHECK(AreCountersEnabled()); 150 DCHECK(AreCountersEnabled());
151 counter->Restart(); 151 counter->Restart();
152 } 152 }
153 } 153 }
154 154
155 void ClearBrowserDataHandler::GetLocalizedValues( 155 void ClearBrowserDataHandler::GetLocalizedValues(
156 base::DictionaryValue* localized_strings) { 156 base::DictionaryValue* localized_strings) {
157 DCHECK(localized_strings); 157 DCHECK(localized_strings);
158 158
159 static OptionsStringResource resources[] = { 159 static OptionsStringResource resources[] = {
160 { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, 160 {"clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL},
161 { "clearBrowserDataSyncWarning", IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION }, 161 {"clearBrowserDataSyncWarning", IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION},
162 { "clearBrowserDataSupportString", AreCountersEnabled() 162 {"clearBrowserDataSupportString",
163 ? IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE 163 AreCountersEnabled() ? IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE
164 : IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS }, 164 : IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS},
165 { "clearBrowserDataHistoryNoticeTitle", 165 {"clearBrowserDataHistoryNoticeTitle",
166 IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_TITLE }, 166 IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_TITLE},
167 { "clearBrowserDataHistoryNoticeOk", 167 {"clearBrowserDataHistoryNoticeOk",
168 IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_OK }, 168 IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_OK},
169 { "deleteBrowsingHistoryCheckbox", IDS_DEL_BROWSING_HISTORY_CHKBOX }, 169 {"deleteBrowsingHistoryCheckbox", IDS_DEL_BROWSING_HISTORY_CHKBOX},
170 { "deleteDownloadHistoryCheckbox", IDS_DEL_DOWNLOAD_HISTORY_CHKBOX }, 170 {"deleteDownloadHistoryCheckbox", IDS_DEL_DOWNLOAD_HISTORY_CHKBOX},
171 { "deleteCacheCheckbox", IDS_DEL_CACHE_CHKBOX }, 171 {"deleteCacheCheckbox", IDS_DEL_CACHE_CHKBOX},
172 { "deleteCookiesCheckbox", IDS_DEL_COOKIES_CHKBOX }, 172 {"deleteCookiesCheckbox", IDS_DEL_COOKIES_CHKBOX},
173 { "deleteCookiesFlashCheckbox", IDS_DEL_COOKIES_FLASH_CHKBOX }, 173 {"deleteCookiesFlashCheckbox", IDS_DEL_COOKIES_FLASH_CHKBOX},
174 { "deletePasswordsCheckbox", IDS_DEL_PASSWORDS_CHKBOX }, 174 {"deletePasswordsCheckbox", IDS_DEL_PASSWORDS_CHKBOX},
175 { "deleteFormDataCheckbox", IDS_DEL_FORM_DATA_CHKBOX }, 175 {"deleteFormDataCheckbox", IDS_DEL_FORM_DATA_CHKBOX},
176 { "deleteHostedAppsDataCheckbox", IDS_DEL_HOSTED_APPS_DATA_CHKBOX }, 176 {"deleteHostedAppsDataCheckbox", IDS_DEL_HOSTED_APPS_DATA_CHKBOX},
177 { "deauthorizeContentLicensesCheckbox", 177 {"deleteMediaLicensesCheckbox", IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX},
xhwang 2016/06/21 06:02:41 IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX should be
jrummell 2016/06/23 02:48:55 I don't want to change the name, as it is part of
xhwang 2016/06/23 04:30:54 hmm, I am a bit confused. I thought we'll be updat
jrummell 2016/06/23 19:17:35 You're right. The original doc didn't change the t
178 IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX }, 178 {"clearBrowserDataCommit", IDS_CLEAR_BROWSING_DATA_COMMIT},
179 { "clearBrowserDataCommit", IDS_CLEAR_BROWSING_DATA_COMMIT }, 179 {"flashStorageUrl", IDS_FLASH_STORAGE_URL},
180 { "flashStorageUrl", IDS_FLASH_STORAGE_URL },
181 }; 180 };
182 181
183 RegisterStrings(localized_strings, resources, arraysize(resources)); 182 RegisterStrings(localized_strings, resources, arraysize(resources));
184 RegisterTitle(localized_strings, "clearBrowserDataOverlay", 183 RegisterTitle(localized_strings, "clearBrowserDataOverlay",
185 IDS_CLEAR_BROWSING_DATA_TITLE); 184 IDS_CLEAR_BROWSING_DATA_TITLE);
186 localized_strings->SetString("clearBrowsingDataLearnMoreUrl", 185 localized_strings->SetString("clearBrowsingDataLearnMoreUrl",
187 kClearBrowsingDataLearnMoreUrl); 186 kClearBrowsingDataLearnMoreUrl);
188 localized_strings->SetString( 187 localized_strings->SetString(
189 "clearBrowserDataHistoryFooter", 188 "clearBrowserDataHistoryFooter",
190 l10n_util::GetStringFUTF16( 189 l10n_util::GetStringFUTF16(
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 if (prefs->GetBoolean(prefs::kDeleteCache)) 261 if (prefs->GetBoolean(prefs::kDeleteCache))
263 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; 262 remove_mask |= BrowsingDataRemover::REMOVE_CACHE;
264 if (prefs->GetBoolean(prefs::kDeleteCookies)) { 263 if (prefs->GetBoolean(prefs::kDeleteCookies)) {
265 remove_mask |= site_data_mask; 264 remove_mask |= site_data_mask;
266 origin_mask |= BrowsingDataHelper::UNPROTECTED_WEB; 265 origin_mask |= BrowsingDataHelper::UNPROTECTED_WEB;
267 } 266 }
268 if (prefs->GetBoolean(prefs::kDeletePasswords)) 267 if (prefs->GetBoolean(prefs::kDeletePasswords))
269 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; 268 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS;
270 if (prefs->GetBoolean(prefs::kDeleteFormData)) 269 if (prefs->GetBoolean(prefs::kDeleteFormData))
271 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; 270 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA;
272 // Clearing Content Licenses is only supported in Pepper Flash. 271 if (prefs->GetBoolean(prefs::kDeleteMediaLicenses))
273 if (prefs->GetBoolean(prefs::kDeauthorizeContentLicenses) && 272 remove_mask |= BrowsingDataRemover::REMOVE_MEDIA_LICENSES;
274 *pepper_flash_settings_enabled_) {
275 remove_mask |= BrowsingDataRemover::REMOVE_CONTENT_LICENSES;
276 }
277 if (prefs->GetBoolean(prefs::kDeleteHostedAppsData)) { 273 if (prefs->GetBoolean(prefs::kDeleteHostedAppsData)) {
278 remove_mask |= site_data_mask; 274 remove_mask |= site_data_mask;
279 origin_mask |= BrowsingDataHelper::PROTECTED_WEB; 275 origin_mask |= BrowsingDataHelper::PROTECTED_WEB;
280 } 276 }
281 277
282 // Record the deletion of cookies and cache. 278 // Record the deletion of cookies and cache.
283 BrowsingDataRemover::CookieOrCacheDeletionChoice choice = 279 BrowsingDataRemover::CookieOrCacheDeletionChoice choice =
284 BrowsingDataRemover::NEITHER_COOKIES_NOR_CACHE; 280 BrowsingDataRemover::NEITHER_COOKIES_NOR_CACHE;
285 if (prefs->GetBoolean(prefs::kDeleteCookies)) { 281 if (prefs->GetBoolean(prefs::kDeleteCookies)) {
286 choice = prefs->GetBoolean(prefs::kDeleteCache) 282 choice = prefs->GetBoolean(prefs::kDeleteCache)
287 ? BrowsingDataRemover::BOTH_COOKIES_AND_CACHE 283 ? BrowsingDataRemover::BOTH_COOKIES_AND_CACHE
288 : BrowsingDataRemover::ONLY_COOKIES; 284 : BrowsingDataRemover::ONLY_COOKIES;
289 } else if (prefs->GetBoolean(prefs::kDeleteCache)) { 285 } else if (prefs->GetBoolean(prefs::kDeleteCache)) {
290 choice = BrowsingDataRemover::ONLY_CACHE; 286 choice = BrowsingDataRemover::ONLY_CACHE;
291 } 287 }
292 UMA_HISTOGRAM_ENUMERATION( 288 UMA_HISTOGRAM_ENUMERATION(
293 "History.ClearBrowsingData.UserDeletedCookieOrCacheFromDialog", 289 "History.ClearBrowsingData.UserDeletedCookieOrCacheFromDialog",
294 choice, BrowsingDataRemover::MAX_CHOICE_VALUE); 290 choice, BrowsingDataRemover::MAX_CHOICE_VALUE);
295 291
296 // Record the circumstances under which passwords are deleted. 292 // Record the circumstances under which passwords are deleted.
297 if (prefs->GetBoolean(prefs::kDeletePasswords)) { 293 if (prefs->GetBoolean(prefs::kDeletePasswords)) {
298 static const char* other_types[] = { 294 static const char* other_types[] = {
299 prefs::kDeleteBrowsingHistory, 295 prefs::kDeleteBrowsingHistory, prefs::kDeleteDownloadHistory,
300 prefs::kDeleteDownloadHistory, 296 prefs::kDeleteCache, prefs::kDeleteCookies,
301 prefs::kDeleteCache, 297 prefs::kDeleteFormData, prefs::kDeleteHostedAppsData,
302 prefs::kDeleteCookies, 298 prefs::kDeleteMediaLicenses,
Peter Kasting 2016/06/22 00:05:14 Nit: Honestly, I think the one-per-line wrapping o
jrummell 2016/06/23 02:48:55 Done (and ignored format trying to change it back)
303 prefs::kDeleteFormData,
304 prefs::kDeleteHostedAppsData,
305 prefs::kDeauthorizeContentLicenses,
306 }; 299 };
307 static size_t num_other_types = arraysize(other_types); 300 static size_t num_other_types = arraysize(other_types);
308 int checked_other_types = std::count_if( 301 int checked_other_types = std::count_if(
309 other_types, 302 other_types,
310 other_types + num_other_types, 303 other_types + num_other_types,
311 [prefs](const std::string& pref) { return prefs->GetBoolean(pref); }); 304 [prefs](const std::string& pref) { return prefs->GetBoolean(pref); });
312 UMA_HISTOGRAM_SPARSE_SLOWLY( 305 UMA_HISTOGRAM_SPARSE_SLOWLY(
313 "History.ClearBrowsingData.PasswordsDeletion.AdditionalDatatypesCount", 306 "History.ClearBrowsingData.PasswordsDeletion.AdditionalDatatypesCount",
314 checked_other_types); 307 checked_other_types);
315 } 308 }
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 "History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated", 417 "History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated",
425 should_show_history_notice_); 418 should_show_history_notice_);
426 } 419 }
427 420
428 void ClearBrowserDataHandler::UpdateHistoryDeletionDialog(bool show) { 421 void ClearBrowserDataHandler::UpdateHistoryDeletionDialog(bool show) {
429 // This is used by OnBrowsingDataRemoverDone (when the deletion finishes). 422 // This is used by OnBrowsingDataRemoverDone (when the deletion finishes).
430 should_show_history_deletion_dialog_ = show; 423 should_show_history_deletion_dialog_ = show;
431 } 424 }
432 425
433 } // namespace options 426 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698