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

Side by Side Diff: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc

Issue 2827523003: Move BrowsingDataRemover to content/ (Closed)
Patch Set: Rebase over codereview.chromium.org/2815913005 Created 3 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/browsing_data/chrome_browsing_data_remover_delegate.h" 5 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 #endif 327 #endif
328 clear_auto_sign_in_(sub_task_forward_callback_), 328 clear_auto_sign_in_(sub_task_forward_callback_),
329 #if BUILDFLAG(ENABLE_PLUGINS) 329 #if BUILDFLAG(ENABLE_PLUGINS)
330 flash_lso_helper_(BrowsingDataFlashLSOHelper::Create(browser_context)), 330 flash_lso_helper_(BrowsingDataFlashLSOHelper::Create(browser_context)),
331 #endif 331 #endif
332 #if defined(OS_ANDROID) 332 #if defined(OS_ANDROID)
333 webapp_registry_(new WebappRegistry()), 333 webapp_registry_(new WebappRegistry()),
334 #endif 334 #endif
335 weak_ptr_factory_(this) {} 335 weak_ptr_factory_(this) {}
336 336
337 ChromeBrowsingDataRemoverDelegate::~ChromeBrowsingDataRemoverDelegate() { 337 ChromeBrowsingDataRemoverDelegate::~ChromeBrowsingDataRemoverDelegate() {}
338
339 void ChromeBrowsingDataRemoverDelegate::Shutdown() {
338 history_task_tracker_.TryCancelAll(); 340 history_task_tracker_.TryCancelAll();
339 template_url_sub_.reset(); 341 template_url_sub_.reset();
340 } 342 }
341 343
342 BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher 344 content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher
343 ChromeBrowsingDataRemoverDelegate::GetOriginTypeMatcher() const { 345 ChromeBrowsingDataRemoverDelegate::GetOriginTypeMatcher() const {
344 return base::Bind(DoesOriginMatchEmbedderMask); 346 return base::Bind(&DoesOriginMatchEmbedderMask);
347 }
348
349 bool ChromeBrowsingDataRemoverDelegate::MayRemoveDownloadHistory() const {
350 return profile_->GetPrefs()->GetBoolean(prefs::kAllowDeletingBrowserHistory);
345 } 351 }
346 352
347 void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( 353 void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
348 const base::Time& delete_begin, 354 const base::Time& delete_begin,
349 const base::Time& delete_end, 355 const base::Time& delete_end,
350 int remove_mask, 356 int remove_mask,
351 const BrowsingDataFilterBuilder& filter_builder, 357 const BrowsingDataFilterBuilder& filter_builder,
352 int origin_type_mask, 358 int origin_type_mask,
353 const base::Closure& callback) { 359 const base::Closure& callback) {
354 DCHECK(((remove_mask & ~FILTERABLE_DATA_TYPES) == 0) || 360 DCHECK(((remove_mask & ~FILTERABLE_DATA_TYPES) == 0) ||
355 filter_builder.IsEmptyBlacklist()); 361 filter_builder.IsEmptyBlacklist());
356 362
357 // Embedder-defined DOM-accessible storage currently contains only 363 // Embedder-defined DOM-accessible storage currently contains only
358 // one datatype, which is the durable storage permission. 364 // one datatype, which is the durable storage permission.
359 if (remove_mask & BrowsingDataRemover::DATA_TYPE_EMBEDDER_DOM_STORAGE) { 365 if (remove_mask &
366 content::BrowsingDataRemover::DATA_TYPE_EMBEDDER_DOM_STORAGE) {
360 remove_mask |= DATA_TYPE_DURABLE_PERMISSION; 367 remove_mask |= DATA_TYPE_DURABLE_PERMISSION;
361 } 368 }
362 369
363 if (origin_type_mask & BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB) { 370 if (origin_type_mask &
371 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB) {
364 base::RecordAction( 372 base::RecordAction(
365 UserMetricsAction("ClearBrowsingData_MaskContainsUnprotectedWeb")); 373 UserMetricsAction("ClearBrowsingData_MaskContainsUnprotectedWeb"));
366 } 374 }
367 if (origin_type_mask & BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB) { 375 if (origin_type_mask &
376 content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB) {
368 base::RecordAction( 377 base::RecordAction(
369 UserMetricsAction("ClearBrowsingData_MaskContainsProtectedWeb")); 378 UserMetricsAction("ClearBrowsingData_MaskContainsProtectedWeb"));
370 } 379 }
371 #if BUILDFLAG(ENABLE_EXTENSIONS) 380 #if BUILDFLAG(ENABLE_EXTENSIONS)
372 if (origin_type_mask & ORIGIN_TYPE_EXTENSION) { 381 if (origin_type_mask & ORIGIN_TYPE_EXTENSION) {
373 base::RecordAction( 382 base::RecordAction(
374 UserMetricsAction("ClearBrowsingData_MaskContainsExtension")); 383 UserMetricsAction("ClearBrowsingData_MaskContainsExtension"));
375 } 384 }
376 #endif 385 #endif
377 // If this fires, we added a new BrowsingDataHelper::OriginTypeMask without 386 // If this fires, we added a new BrowsingDataHelper::OriginTypeMask without
378 // updating the user metrics above. 387 // updating the user metrics above.
379 static_assert( 388 static_assert(
380 ALL_ORIGIN_TYPES == (BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB | 389 ALL_ORIGIN_TYPES ==
390 (content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB |
381 #if BUILDFLAG(ENABLE_EXTENSIONS) 391 #if BUILDFLAG(ENABLE_EXTENSIONS)
382 ORIGIN_TYPE_EXTENSION | 392 ORIGIN_TYPE_EXTENSION |
383 #endif 393 #endif
384 BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB), 394 content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB),
385 "OriginTypeMask has been updated without updating user metrics"); 395 "OriginTypeMask has been updated without updating user metrics");
386 396
387 ////////////////////////////////////////////////////////////////////////////// 397 //////////////////////////////////////////////////////////////////////////////
388 // INITIALIZATION 398 // INITIALIZATION
389 synchronous_clear_operations_.Start(); 399 synchronous_clear_operations_.Start();
390 callback_ = callback; 400 callback_ = callback;
391 401
392 delete_begin_ = delete_begin; 402 delete_begin_ = delete_begin;
393 delete_end_ = delete_end; 403 delete_end_ = delete_end;
394 404
395 base::Callback<bool(const GURL& url)> filter = 405 base::Callback<bool(const GURL& url)> filter =
396 filter_builder.BuildGeneralFilter(); 406 filter_builder.BuildGeneralFilter();
397 407
398 // Some backends support a filter that |is_null()| to make complete deletion 408 // Some backends support a filter that |is_null()| to make complete deletion
399 // more efficient. 409 // more efficient.
400 base::Callback<bool(const GURL&)> nullable_filter = 410 base::Callback<bool(const GURL&)> nullable_filter =
401 filter_builder.IsEmptyBlacklist() ? base::Callback<bool(const GURL&)>() 411 filter_builder.IsEmptyBlacklist() ? base::Callback<bool(const GURL&)>()
402 : filter; 412 : filter;
403 413
404 // Managed devices and supervised users can have restrictions on history 414 // Managed devices and supervised users can have restrictions on history
405 // deletion. 415 // deletion.
406 PrefService* prefs = profile_->GetPrefs(); 416 PrefService* prefs = profile_->GetPrefs();
407 bool may_delete_history = prefs->GetBoolean( 417 bool may_delete_history = prefs->GetBoolean(
408 prefs::kAllowDeletingBrowserHistory); 418 prefs::kAllowDeletingBrowserHistory);
409 419
410 // All the UI entry points into the BrowsingDataRemoverImpl should be 420 // All the UI entry points into the BrowsingDataRemoverImpl should be
411 // disabled, but this will fire if something was missed or added. 421 // disabled, but this will fire if something was missed or added.
412 DCHECK(may_delete_history || 422 DCHECK(may_delete_history ||
413 (remove_mask & BrowsingDataRemover::DATA_TYPE_NO_CHECKS) || 423 (remove_mask & content::BrowsingDataRemover::DATA_TYPE_NO_CHECKS) ||
414 (!(remove_mask & DATA_TYPE_HISTORY) && 424 (!(remove_mask & DATA_TYPE_HISTORY) &&
415 !(remove_mask & BrowsingDataRemover::DATA_TYPE_DOWNLOADS))); 425 !(remove_mask & content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS)));
416 426
417 ////////////////////////////////////////////////////////////////////////////// 427 //////////////////////////////////////////////////////////////////////////////
418 // DATA_TYPE_HISTORY 428 // DATA_TYPE_HISTORY
419 if ((remove_mask & DATA_TYPE_HISTORY) && may_delete_history) { 429 if ((remove_mask & DATA_TYPE_HISTORY) && may_delete_history) {
420 history::HistoryService* history_service = 430 history::HistoryService* history_service =
421 HistoryServiceFactory::GetForProfile( 431 HistoryServiceFactory::GetForProfile(
422 profile_, ServiceAccessType::EXPLICIT_ACCESS); 432 profile_, ServiceAccessType::EXPLICIT_ACCESS);
423 if (history_service) { 433 if (history_service) {
424 // TODO(dmurph): Support all backends with filter (crbug.com/113621). 434 // TODO(dmurph): Support all backends with filter (crbug.com/113621).
425 base::RecordAction(UserMetricsAction("ClearBrowsingData_History")); 435 base::RecordAction(UserMetricsAction("ClearBrowsingData_History"));
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 if (profile_->GetSSLHostStateDelegate()) { 646 if (profile_->GetSSLHostStateDelegate()) {
637 profile_->GetSSLHostStateDelegate()->Clear( 647 profile_->GetSSLHostStateDelegate()->Clear(
638 filter_builder.IsEmptyBlacklist() 648 filter_builder.IsEmptyBlacklist()
639 ? base::Callback<bool(const std::string&)>() 649 ? base::Callback<bool(const std::string&)>()
640 : filter_builder.BuildPluginFilter()); 650 : filter_builder.BuildPluginFilter());
641 } 651 }
642 } 652 }
643 653
644 ////////////////////////////////////////////////////////////////////////////// 654 //////////////////////////////////////////////////////////////////////////////
645 // DATA_TYPE_DOWNLOADS 655 // DATA_TYPE_DOWNLOADS
646 if ((remove_mask & BrowsingDataRemover::DATA_TYPE_DOWNLOADS) && 656 if ((remove_mask & content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS) &&
647 may_delete_history) { 657 may_delete_history) {
648 DownloadPrefs* download_prefs = DownloadPrefs::FromDownloadManager( 658 DownloadPrefs* download_prefs = DownloadPrefs::FromDownloadManager(
649 BrowserContext::GetDownloadManager(profile_)); 659 BrowserContext::GetDownloadManager(profile_));
650 download_prefs->SetSaveFilePath(download_prefs->DownloadPath()); 660 download_prefs->SetSaveFilePath(download_prefs->DownloadPath());
651 } 661 }
652 662
653 ////////////////////////////////////////////////////////////////////////////// 663 //////////////////////////////////////////////////////////////////////////////
654 // DATA_TYPE_COOKIES 664 // DATA_TYPE_COOKIES
655 // We ignore the DATA_TYPE_COOKIES request if UNPROTECTED_WEB is not set, 665 // We ignore the DATA_TYPE_COOKIES request if UNPROTECTED_WEB is not set,
656 // so that callers who request DATA_TYPE_SITE_DATA with PROTECTED_WEB 666 // so that callers who request DATA_TYPE_SITE_DATA with PROTECTED_WEB
657 // don't accidentally remove the cookies that are associated with the 667 // don't accidentally remove the cookies that are associated with the
658 // UNPROTECTED_WEB origin. This is necessary because cookies are not separated 668 // UNPROTECTED_WEB origin. This is necessary because cookies are not separated
659 // between UNPROTECTED_WEB and PROTECTED_WEB. 669 // between UNPROTECTED_WEB and PROTECTED_WEB.
660 if (remove_mask & BrowsingDataRemover::DATA_TYPE_COOKIES && 670 if ((remove_mask & content::BrowsingDataRemover::DATA_TYPE_COOKIES) &&
661 origin_type_mask & BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB) { 671 (origin_type_mask &
672 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB)) {
662 base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies")); 673 base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
663 674
664 // Clear the safebrowsing cookies only if time period is for "all time". It 675 // Clear the safebrowsing cookies only if time period is for "all time". It
665 // doesn't make sense to apply the time period of deleting in the last X 676 // doesn't make sense to apply the time period of deleting in the last X
666 // hours/days to the safebrowsing cookies since they aren't the result of 677 // hours/days to the safebrowsing cookies since they aren't the result of
667 // any user action. 678 // any user action.
668 if (delete_begin_ == base::Time()) { 679 if (delete_begin_ == base::Time()) {
669 safe_browsing::SafeBrowsingService* sb_service = 680 safe_browsing::SafeBrowsingService* sb_service =
670 g_browser_process->safe_browsing_service(); 681 g_browser_process->safe_browsing_service();
671 if (sb_service) { 682 if (sb_service) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 BrowserContext::GetDefaultStoragePartition(profile_) 757 BrowserContext::GetDefaultStoragePartition(profile_)
747 ->GetURLRequestContext(); 758 ->GetURLRequestContext();
748 clear_http_auth_cache_.Start(); 759 clear_http_auth_cache_.Start();
749 BrowserThread::PostTaskAndReply( 760 BrowserThread::PostTaskAndReply(
750 BrowserThread::IO, FROM_HERE, 761 BrowserThread::IO, FROM_HERE,
751 base::BindOnce(&ClearHttpAuthCacheOnIOThread, 762 base::BindOnce(&ClearHttpAuthCacheOnIOThread,
752 std::move(request_context), delete_begin_), 763 std::move(request_context), delete_begin_),
753 clear_http_auth_cache_.GetCompletionCallback()); 764 clear_http_auth_cache_.GetCompletionCallback());
754 } 765 }
755 766
756 if (remove_mask & BrowsingDataRemover::DATA_TYPE_COOKIES) { 767 if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_COOKIES) {
757 password_manager::PasswordStore* password_store = 768 password_manager::PasswordStore* password_store =
758 PasswordStoreFactory::GetForProfile(profile_, 769 PasswordStoreFactory::GetForProfile(profile_,
759 ServiceAccessType::EXPLICIT_ACCESS) 770 ServiceAccessType::EXPLICIT_ACCESS)
760 .get(); 771 .get();
761 772
762 if (password_store) { 773 if (password_store) {
763 clear_auto_sign_in_.Start(); 774 clear_auto_sign_in_.Start();
764 password_store->DisableAutoSignInForOrigins( 775 password_store->DisableAutoSignInForOrigins(
765 filter, clear_auto_sign_in_.GetCompletionCallback()); 776 filter, clear_auto_sign_in_.GetCompletionCallback());
766 } 777 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 813
803 autofill::PersonalDataManager* data_manager = 814 autofill::PersonalDataManager* data_manager =
804 autofill::PersonalDataManagerFactory::GetForProfile(profile_); 815 autofill::PersonalDataManagerFactory::GetForProfile(profile_);
805 if (data_manager) 816 if (data_manager)
806 data_manager->Refresh(); 817 data_manager->Refresh();
807 } 818 }
808 } 819 }
809 820
810 ////////////////////////////////////////////////////////////////////////////// 821 //////////////////////////////////////////////////////////////////////////////
811 // DATA_TYPE_CACHE 822 // DATA_TYPE_CACHE
812 if (remove_mask & BrowsingDataRemover::DATA_TYPE_CACHE) { 823 if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_CACHE) {
813 // Tell the renderers to clear their cache. 824 // Tell the renderers to clear their cache.
814 // TODO(crbug.com/668114): Renderer cache is a platform concept, and should 825 // TODO(crbug.com/668114): Renderer cache is a platform concept, and should
815 // live in BrowsingDataRemoverImpl. However, WebCacheManager itself is 826 // live in BrowsingDataRemoverImpl. However, WebCacheManager itself is
816 // a component with dependency on content/browser. Untangle these 827 // a component with dependency on content/browser. Untangle these
817 // dependencies or reimplement the relevant part of WebCacheManager 828 // dependencies or reimplement the relevant part of WebCacheManager
818 // in content/browser. 829 // in content/browser.
819 web_cache::WebCacheManager::GetInstance()->ClearCache(); 830 web_cache::WebCacheManager::GetInstance()->ClearCache();
820 831
821 #if !defined(DISABLE_NACL) 832 #if !defined(DISABLE_NACL)
822 clear_nacl_cache_.Start(); 833 clear_nacl_cache_.Start();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 // Network Quality Estimator (NQE) stores the quality (RTT, bandwidth 877 // Network Quality Estimator (NQE) stores the quality (RTT, bandwidth
867 // etc.) of different networks in prefs. The stored quality is not 878 // etc.) of different networks in prefs. The stored quality is not
868 // broken down by URLs or timestamps, so clearing the cache should 879 // broken down by URLs or timestamps, so clearing the cache should
869 // completely clear the prefs. 880 // completely clear the prefs.
870 ui_nqe_service->ClearPrefs(); 881 ui_nqe_service->ClearPrefs();
871 } 882 }
872 883
873 #if defined(OS_ANDROID) 884 #if defined(OS_ANDROID)
874 // For now we're considering offline pages as cache, so if we're removing 885 // For now we're considering offline pages as cache, so if we're removing
875 // cache we should remove offline pages as well. 886 // cache we should remove offline pages as well.
876 if ((remove_mask & BrowsingDataRemover::DATA_TYPE_CACHE)) { 887 if ((remove_mask & content::BrowsingDataRemover::DATA_TYPE_CACHE)) {
877 clear_offline_page_data_.Start(); 888 clear_offline_page_data_.Start();
878 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_) 889 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_)
879 ->DeleteCachedPagesByURLPredicate( 890 ->DeleteCachedPagesByURLPredicate(
880 filter, 891 filter,
881 IgnoreArgument<offline_pages::OfflinePageModel::DeletePageResult>( 892 IgnoreArgument<offline_pages::OfflinePageModel::DeletePageResult>(
882 clear_offline_page_data_.GetCompletionCallback())); 893 clear_offline_page_data_.GetCompletionCallback()));
883 } 894 }
884 #endif 895 #endif
885 } 896 }
886 897
887 ////////////////////////////////////////////////////////////////////////////// 898 //////////////////////////////////////////////////////////////////////////////
888 // DATA_TYPE_PLUGINS 899 // DATA_TYPE_PLUGINS
889 // Plugins are known to //content and their bulk deletion is implemented in 900 // Plugins are known to //content and their bulk deletion is implemented in
890 // PluginDataRemover. However, the filtered deletion uses 901 // PluginDataRemover. However, the filtered deletion uses
891 // BrowsingDataFlashLSOHelper which (currently) has strong dependencies 902 // BrowsingDataFlashLSOHelper which (currently) has strong dependencies
892 // on //chrome. 903 // on //chrome.
893 // TODO(msramek): Investigate these dependencies and move the plugin deletion 904 // TODO(msramek): Investigate these dependencies and move the plugin deletion
894 // to BrowsingDataRemoverImpl in //content. Note that code in //content 905 // to BrowsingDataRemoverImpl in //content. Note that code in //content
895 // can simply take advantage of PluginDataRemover directly to delete plugin 906 // can simply take advantage of PluginDataRemover directly to delete plugin
896 // data in bulk. 907 // data in bulk.
897 #if BUILDFLAG(ENABLE_PLUGINS) 908 #if BUILDFLAG(ENABLE_PLUGINS)
898 // Plugin is data not separated for protected and unprotected web origins. We 909 // Plugin is data not separated for protected and unprotected web origins. We
899 // check the origin_type_mask_ to prevent unintended deletion. 910 // check the origin_type_mask_ to prevent unintended deletion.
900 if (remove_mask & DATA_TYPE_PLUGIN_DATA && 911 if ((remove_mask & DATA_TYPE_PLUGIN_DATA) &&
901 origin_type_mask & BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB) { 912 (origin_type_mask &
913 content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB)) {
902 base::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData")); 914 base::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData"));
903 clear_plugin_data_count_ = 1; 915 clear_plugin_data_count_ = 1;
904 916
905 if (filter_builder.IsEmptyBlacklist()) { 917 if (filter_builder.IsEmptyBlacklist()) {
906 DCHECK(!plugin_data_remover_); 918 DCHECK(!plugin_data_remover_);
907 plugin_data_remover_.reset( 919 plugin_data_remover_.reset(
908 content::PluginDataRemover::Create(profile_)); 920 content::PluginDataRemover::Create(profile_));
909 base::WaitableEvent* event = 921 base::WaitableEvent* event =
910 plugin_data_remover_->StartRemoving(delete_begin_); 922 plugin_data_remover_->StartRemoving(delete_begin_);
911 923
912 base::WaitableEventWatcher::EventCallback watcher_callback = base::Bind( 924 base::WaitableEventWatcher::EventCallback watcher_callback = base::Bind(
913 &ChromeBrowsingDataRemoverDelegate::OnWaitableEventSignaled, 925 &ChromeBrowsingDataRemoverDelegate::OnWaitableEventSignaled,
914 weak_ptr_factory_.GetWeakPtr()); 926 weak_ptr_factory_.GetWeakPtr());
915 watcher_.StartWatching(event, std::move(watcher_callback)); 927 watcher_.StartWatching(event, std::move(watcher_callback));
916 } else { 928 } else {
917 // TODO(msramek): Store filters from the currently executed task on the 929 // TODO(msramek): Store filters from the currently executed task on the
918 // object to avoid having to copy them to callback methods. 930 // object to avoid having to copy them to callback methods.
919 flash_lso_helper_->StartFetching(base::Bind( 931 flash_lso_helper_->StartFetching(base::Bind(
920 &ChromeBrowsingDataRemoverDelegate::OnSitesWithFlashDataFetched, 932 &ChromeBrowsingDataRemoverDelegate::OnSitesWithFlashDataFetched,
921 weak_ptr_factory_.GetWeakPtr(), 933 weak_ptr_factory_.GetWeakPtr(),
922 filter_builder.BuildPluginFilter())); 934 filter_builder.BuildPluginFilter()));
923 } 935 }
924 } 936 }
925 #endif 937 #endif
926 938
927 ////////////////////////////////////////////////////////////////////////////// 939 //////////////////////////////////////////////////////////////////////////////
928 // DATA_TYPE_MEDIA_LICENSES 940 // DATA_TYPE_MEDIA_LICENSES
929 if (remove_mask & BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES) { 941 if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES) {
930 // TODO(jrummell): This UMA should be renamed to indicate it is for Media 942 // TODO(jrummell): This UMA should be renamed to indicate it is for Media
931 // Licenses. 943 // Licenses.
932 base::RecordAction(UserMetricsAction("ClearBrowsingData_ContentLicenses")); 944 base::RecordAction(UserMetricsAction("ClearBrowsingData_ContentLicenses"));
933 945
934 #if BUILDFLAG(ENABLE_PLUGINS) 946 #if BUILDFLAG(ENABLE_PLUGINS)
935 clear_flash_content_licenses_.Start(); 947 clear_flash_content_licenses_.Start();
936 if (!pepper_flash_settings_manager_.get()) { 948 if (!pepper_flash_settings_manager_.get()) {
937 pepper_flash_settings_manager_.reset( 949 pepper_flash_settings_manager_.reset(
938 new PepperFlashSettingsManager(this, profile_)); 950 new PepperFlashSettingsManager(this, profile_));
939 } 951 }
(...skipping 20 matching lines...) Expand all
960 weak_ptr_factory_.GetWeakPtr())); 972 weak_ptr_factory_.GetWeakPtr()));
961 } 973 }
962 #endif // defined(OS_CHROMEOS) 974 #endif // defined(OS_CHROMEOS)
963 } 975 }
964 976
965 ////////////////////////////////////////////////////////////////////////////// 977 //////////////////////////////////////////////////////////////////////////////
966 // Zero suggest. 978 // Zero suggest.
967 // Remove omnibox zero-suggest cache results. Filtering is not supported. 979 // Remove omnibox zero-suggest cache results. Filtering is not supported.
968 // This is not a problem, as deleting more data than necessary will just cause 980 // This is not a problem, as deleting more data than necessary will just cause
969 // another server round-trip; no data is actually lost. 981 // another server round-trip; no data is actually lost.
970 if ((remove_mask & (BrowsingDataRemover::DATA_TYPE_CACHE | 982 if ((remove_mask & (content::BrowsingDataRemover::DATA_TYPE_CACHE |
971 BrowsingDataRemover::DATA_TYPE_COOKIES))) { 983 content::BrowsingDataRemover::DATA_TYPE_COOKIES))) {
972 prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string()); 984 prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string());
973 } 985 }
974 986
975 ////////////////////////////////////////////////////////////////////////////// 987 //////////////////////////////////////////////////////////////////////////////
976 // Domain reliability service. 988 // Domain reliability service.
977 if (remove_mask & 989 if (remove_mask &
978 (BrowsingDataRemover::DATA_TYPE_COOKIES | DATA_TYPE_HISTORY)) { 990 (content::BrowsingDataRemover::DATA_TYPE_COOKIES | DATA_TYPE_HISTORY)) {
979 domain_reliability::DomainReliabilityService* service = 991 domain_reliability::DomainReliabilityService* service =
980 domain_reliability::DomainReliabilityServiceFactory:: 992 domain_reliability::DomainReliabilityServiceFactory::
981 GetForBrowserContext(profile_); 993 GetForBrowserContext(profile_);
982 if (service) { 994 if (service) {
983 domain_reliability::DomainReliabilityClearMode mode; 995 domain_reliability::DomainReliabilityClearMode mode;
984 if (remove_mask & BrowsingDataRemover::DATA_TYPE_COOKIES) 996 if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_COOKIES)
985 mode = domain_reliability::CLEAR_CONTEXTS; 997 mode = domain_reliability::CLEAR_CONTEXTS;
986 else 998 else
987 mode = domain_reliability::CLEAR_BEACONS; 999 mode = domain_reliability::CLEAR_BEACONS;
988 1000
989 clear_domain_reliability_monitor_.Start(); 1001 clear_domain_reliability_monitor_.Start();
990 service->ClearBrowsingData( 1002 service->ClearBrowsingData(
991 mode, 1003 mode,
992 filter, 1004 filter,
993 clear_domain_reliability_monitor_.GetCompletionCallback()); 1005 clear_domain_reliability_monitor_.GetCompletionCallback());
994 } 1006 }
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 } 1144 }
1133 1145
1134 void ChromeBrowsingDataRemoverDelegate:: 1146 void ChromeBrowsingDataRemoverDelegate::
1135 OnDeauthorizeFlashContentLicensesCompleted( 1147 OnDeauthorizeFlashContentLicensesCompleted(
1136 uint32_t request_id, 1148 uint32_t request_id,
1137 bool /* success */) { 1149 bool /* success */) {
1138 DCHECK_EQ(request_id, deauthorize_flash_content_licenses_request_id_); 1150 DCHECK_EQ(request_id, deauthorize_flash_content_licenses_request_id_);
1139 clear_flash_content_licenses_.GetCompletionCallback().Run(); 1151 clear_flash_content_licenses_.GetCompletionCallback().Run();
1140 } 1152 }
1141 #endif 1153 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698