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/browsing_data/browsing_data_remover.h" | 5 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 if (!precache_manager) { | 554 if (!precache_manager) { |
555 waiting_for_clear_precache_history_ = true; | 555 waiting_for_clear_precache_history_ = true; |
556 precache_manager->ClearHistory(); | 556 precache_manager->ClearHistory(); |
557 // The above calls are done on the UI thread but do their work on the DB | 557 // The above calls are done on the UI thread but do their work on the DB |
558 // thread. So wait for it. | 558 // thread. So wait for it. |
559 BrowserThread::PostTaskAndReply( | 559 BrowserThread::PostTaskAndReply( |
560 BrowserThread::DB, FROM_HERE, base::Bind(&base::DoNothing), | 560 BrowserThread::DB, FROM_HERE, base::Bind(&base::DoNothing), |
561 base::Bind(&BrowsingDataRemover::OnClearedPrecacheHistory, | 561 base::Bind(&BrowsingDataRemover::OnClearedPrecacheHistory, |
562 weak_ptr_factory_.GetWeakPtr())); | 562 weak_ptr_factory_.GetWeakPtr())); |
563 } | 563 } |
| 564 |
| 565 // Clear the history information (last launch time and origin URL) of any |
| 566 // registered webapps. The webapp_registry makes a JNI call into a Java-side |
| 567 // AsyncTask, so don't wait for the reply. |
| 568 waiting_for_clear_webapp_history_ = true; |
| 569 webapp_registry_->ClearWebappHistory( |
| 570 base::Bind(&BrowsingDataRemover::OnClearedWebappHistory, |
| 571 weak_ptr_factory_.GetWeakPtr())); |
564 #endif | 572 #endif |
565 | 573 |
566 data_reduction_proxy::DataReductionProxySettings* | 574 data_reduction_proxy::DataReductionProxySettings* |
567 data_reduction_proxy_settings = | 575 data_reduction_proxy_settings = |
568 DataReductionProxyChromeSettingsFactory::GetForBrowserContext( | 576 DataReductionProxyChromeSettingsFactory::GetForBrowserContext( |
569 profile_); | 577 profile_); |
570 // |data_reduction_proxy_settings| is null if |profile_| is off the record. | 578 // |data_reduction_proxy_settings| is null if |profile_| is off the record. |
571 if (data_reduction_proxy_settings) { | 579 if (data_reduction_proxy_settings) { |
572 data_reduction_proxy::DataReductionProxyService* | 580 data_reduction_proxy::DataReductionProxyService* |
573 data_reduction_proxy_service = | 581 data_reduction_proxy_service = |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
923 waiting_for_clear_domain_reliability_monitor_ = true; | 931 waiting_for_clear_domain_reliability_monitor_ = true; |
924 service->ClearBrowsingData( | 932 service->ClearBrowsingData( |
925 mode, | 933 mode, |
926 base::Bind(&BrowsingDataRemover::OnClearedDomainReliabilityMonitor, | 934 base::Bind(&BrowsingDataRemover::OnClearedDomainReliabilityMonitor, |
927 weak_ptr_factory_.GetWeakPtr())); | 935 weak_ptr_factory_.GetWeakPtr())); |
928 } | 936 } |
929 } | 937 } |
930 | 938 |
931 #if BUILDFLAG(ANDROID_JAVA_UI) | 939 #if BUILDFLAG(ANDROID_JAVA_UI) |
932 if (remove_mask & REMOVE_WEBAPP_DATA) { | 940 if (remove_mask & REMOVE_WEBAPP_DATA) { |
| 941 // Clear all data associated with registered webapps. The webapp_registry |
| 942 // makes a JNI call into a Java-side AsyncTask, so don't wait for the reply. |
933 waiting_for_clear_webapp_data_ = true; | 943 waiting_for_clear_webapp_data_ = true; |
934 webapp_registry_->UnregisterWebapps( | 944 webapp_registry_->UnregisterWebapps( |
935 base::Bind(&BrowsingDataRemover::OnClearedWebappData, | 945 base::Bind(&BrowsingDataRemover::OnClearedWebappData, |
936 weak_ptr_factory_.GetWeakPtr())); | 946 weak_ptr_factory_.GetWeakPtr())); |
937 } | 947 } |
938 | 948 |
939 if ((remove_mask & REMOVE_OFFLINE_PAGE_DATA) && | 949 if ((remove_mask & REMOVE_OFFLINE_PAGE_DATA) && |
940 offline_pages::IsOfflinePagesEnabled()) { | 950 offline_pages::IsOfflinePagesEnabled()) { |
941 waiting_for_clear_offline_page_data_ = true; | 951 waiting_for_clear_offline_page_data_ = true; |
942 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_) | 952 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_) |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1013 !waiting_for_clear_hostname_resolution_cache_ && | 1023 !waiting_for_clear_hostname_resolution_cache_ && |
1014 !waiting_for_clear_keyword_data_ && !waiting_for_clear_nacl_cache_ && | 1024 !waiting_for_clear_keyword_data_ && !waiting_for_clear_nacl_cache_ && |
1015 !waiting_for_clear_network_predictor_ && | 1025 !waiting_for_clear_network_predictor_ && |
1016 !waiting_for_clear_networking_history_ && | 1026 !waiting_for_clear_networking_history_ && |
1017 !waiting_for_clear_passwords_ && !waiting_for_clear_passwords_stats_ && | 1027 !waiting_for_clear_passwords_ && !waiting_for_clear_passwords_stats_ && |
1018 !waiting_for_clear_platform_keys_ && !waiting_for_clear_plugin_data_ && | 1028 !waiting_for_clear_platform_keys_ && !waiting_for_clear_plugin_data_ && |
1019 !waiting_for_clear_pnacl_cache_ && | 1029 !waiting_for_clear_pnacl_cache_ && |
1020 #if BUILDFLAG(ANDROID_JAVA_UI) | 1030 #if BUILDFLAG(ANDROID_JAVA_UI) |
1021 !waiting_for_clear_precache_history_ && | 1031 !waiting_for_clear_precache_history_ && |
1022 !waiting_for_clear_webapp_data_ && | 1032 !waiting_for_clear_webapp_data_ && |
| 1033 !waiting_for_clear_webapp_history_ && |
1023 !waiting_for_clear_offline_page_data_ && | 1034 !waiting_for_clear_offline_page_data_ && |
1024 #endif | 1035 #endif |
1025 #if defined(ENABLE_WEBRTC) | 1036 #if defined(ENABLE_WEBRTC) |
1026 !waiting_for_clear_webrtc_logs_ && | 1037 !waiting_for_clear_webrtc_logs_ && |
1027 #endif | 1038 #endif |
1028 !waiting_for_clear_storage_partition_data_ && | 1039 !waiting_for_clear_storage_partition_data_ && |
1029 !waiting_for_clear_auto_sign_in_; | 1040 !waiting_for_clear_auto_sign_in_; |
1030 } | 1041 } |
1031 | 1042 |
1032 void BrowsingDataRemover::OnKeywordsLoaded() { | 1043 void BrowsingDataRemover::OnKeywordsLoaded() { |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1212 waiting_for_clear_precache_history_ = false; | 1223 waiting_for_clear_precache_history_ = false; |
1213 NotifyIfDone(); | 1224 NotifyIfDone(); |
1214 } | 1225 } |
1215 | 1226 |
1216 void BrowsingDataRemover::OnClearedWebappData() { | 1227 void BrowsingDataRemover::OnClearedWebappData() { |
1217 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1228 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
1218 waiting_for_clear_webapp_data_ = false; | 1229 waiting_for_clear_webapp_data_ = false; |
1219 NotifyIfDone(); | 1230 NotifyIfDone(); |
1220 } | 1231 } |
1221 | 1232 |
| 1233 void BrowsingDataRemover::OnClearedWebappHistory() { |
| 1234 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1235 waiting_for_clear_webapp_history_ = false; |
| 1236 NotifyIfDone(); |
| 1237 } |
| 1238 |
1222 void BrowsingDataRemover::OnClearedOfflinePageData() { | 1239 void BrowsingDataRemover::OnClearedOfflinePageData() { |
1223 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1240 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
1224 waiting_for_clear_offline_page_data_ = false; | 1241 waiting_for_clear_offline_page_data_ = false; |
1225 NotifyIfDone(); | 1242 NotifyIfDone(); |
1226 } | 1243 } |
1227 #endif | 1244 #endif |
1228 | 1245 |
1229 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1246 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
1230 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1247 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
1231 waiting_for_clear_domain_reliability_monitor_ = false; | 1248 waiting_for_clear_domain_reliability_monitor_ = false; |
1232 NotifyIfDone(); | 1249 NotifyIfDone(); |
1233 } | 1250 } |
1234 | 1251 |
1235 // static | 1252 // static |
1236 BrowsingDataRemover::CallbackSubscription | 1253 BrowsingDataRemover::CallbackSubscription |
1237 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback( | 1254 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback( |
1238 const BrowsingDataRemover::Callback& callback) { | 1255 const BrowsingDataRemover::Callback& callback) { |
1239 return GetOnBrowsingDataRemovedCallbacks()->Add(callback); | 1256 return GetOnBrowsingDataRemovedCallbacks()->Add(callback); |
1240 } | 1257 } |
OLD | NEW |