| 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 | 10 |
| 10 #include "base/bind.h" | 11 #include "base/bind.h" |
| 11 #include "base/bind_helpers.h" | 12 #include "base/bind_helpers.h" |
| 12 #include "base/callback.h" | 13 #include "base/callback.h" |
| 13 #include "base/logging.h" | 14 #include "base/logging.h" |
| 14 #include "base/prefs/pref_service.h" | 15 #include "base/prefs/pref_service.h" |
| 15 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 16 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
| 16 #include "chrome/browser/browser_process.h" | 17 #include "chrome/browser/browser_process.h" |
| 17 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 18 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
| 18 #include "chrome/browser/chrome_notification_types.h" | 19 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 is_removing_ = is_removing; | 235 is_removing_ = is_removing; |
| 235 } | 236 } |
| 236 | 237 |
| 237 void BrowsingDataRemover::Remove(int remove_mask, int origin_set_mask) { | 238 void BrowsingDataRemover::Remove(int remove_mask, int origin_set_mask) { |
| 238 RemoveImpl(remove_mask, GURL(), origin_set_mask); | 239 RemoveImpl(remove_mask, GURL(), origin_set_mask); |
| 239 } | 240 } |
| 240 | 241 |
| 241 void BrowsingDataRemover::RemoveImpl(int remove_mask, | 242 void BrowsingDataRemover::RemoveImpl(int remove_mask, |
| 242 const GURL& origin, | 243 const GURL& origin, |
| 243 int origin_set_mask) { | 244 int origin_set_mask) { |
| 244 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 245 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 245 set_removing(true); | 246 set_removing(true); |
| 246 remove_mask_ = remove_mask; | 247 remove_mask_ = remove_mask; |
| 247 remove_origin_ = origin; | 248 remove_origin_ = origin; |
| 248 origin_set_mask_ = origin_set_mask; | 249 origin_set_mask_ = origin_set_mask; |
| 249 | 250 |
| 250 PrefService* prefs = profile_->GetPrefs(); | 251 PrefService* prefs = profile_->GetPrefs(); |
| 251 bool may_delete_history = prefs->GetBoolean( | 252 bool may_delete_history = prefs->GetBoolean( |
| 252 prefs::kAllowDeletingBrowserHistory); | 253 prefs::kAllowDeletingBrowserHistory); |
| 253 | 254 |
| 254 // All the UI entry points into the BrowsingDataRemover should be disabled, | 255 // All the UI entry points into the BrowsingDataRemover should be disabled, |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 completion_inhibitor_->OnBrowsingDataRemoverWouldComplete( | 826 completion_inhibitor_->OnBrowsingDataRemoverWouldComplete( |
| 826 this, | 827 this, |
| 827 base::Bind(&BrowsingDataRemover::NotifyAndDelete, | 828 base::Bind(&BrowsingDataRemover::NotifyAndDelete, |
| 828 base::Unretained(this))); | 829 base::Unretained(this))); |
| 829 } else { | 830 } else { |
| 830 NotifyAndDelete(); | 831 NotifyAndDelete(); |
| 831 } | 832 } |
| 832 } | 833 } |
| 833 | 834 |
| 834 void BrowsingDataRemover::OnClearedHostnameResolutionCache() { | 835 void BrowsingDataRemover::OnClearedHostnameResolutionCache() { |
| 835 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 836 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 836 waiting_for_clear_hostname_resolution_cache_ = false; | 837 waiting_for_clear_hostname_resolution_cache_ = false; |
| 837 NotifyAndDeleteIfDone(); | 838 NotifyAndDeleteIfDone(); |
| 838 } | 839 } |
| 839 | 840 |
| 840 void BrowsingDataRemover::ClearHostnameResolutionCacheOnIOThread( | 841 void BrowsingDataRemover::ClearHostnameResolutionCacheOnIOThread( |
| 841 IOThread* io_thread) { | 842 IOThread* io_thread) { |
| 842 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 843 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 843 | 844 |
| 844 io_thread->ClearHostCache(); | 845 io_thread->ClearHostCache(); |
| 845 | 846 |
| 846 // Notify the UI thread that we are done. | 847 // Notify the UI thread that we are done. |
| 847 BrowserThread::PostTask( | 848 BrowserThread::PostTask( |
| 848 BrowserThread::UI, | 849 BrowserThread::UI, |
| 849 FROM_HERE, | 850 FROM_HERE, |
| 850 base::Bind(&BrowsingDataRemover::OnClearedHostnameResolutionCache, | 851 base::Bind(&BrowsingDataRemover::OnClearedHostnameResolutionCache, |
| 851 base::Unretained(this))); | 852 base::Unretained(this))); |
| 852 } | 853 } |
| 853 | 854 |
| 854 void BrowsingDataRemover::OnClearedLoggedInPredictor() { | 855 void BrowsingDataRemover::OnClearedLoggedInPredictor() { |
| 855 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 856 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 856 DCHECK(waiting_for_clear_logged_in_predictor_); | 857 DCHECK(waiting_for_clear_logged_in_predictor_); |
| 857 waiting_for_clear_logged_in_predictor_ = false; | 858 waiting_for_clear_logged_in_predictor_ = false; |
| 858 NotifyAndDeleteIfDone(); | 859 NotifyAndDeleteIfDone(); |
| 859 } | 860 } |
| 860 | 861 |
| 861 void BrowsingDataRemover::ClearLoggedInPredictor() { | 862 void BrowsingDataRemover::ClearLoggedInPredictor() { |
| 862 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 863 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 863 DCHECK(!waiting_for_clear_logged_in_predictor_); | 864 DCHECK(!waiting_for_clear_logged_in_predictor_); |
| 864 | 865 |
| 865 predictors::PredictorDatabase* predictor_db = | 866 predictors::PredictorDatabase* predictor_db = |
| 866 predictors::PredictorDatabaseFactory::GetForProfile(profile_); | 867 predictors::PredictorDatabaseFactory::GetForProfile(profile_); |
| 867 if (!predictor_db) | 868 if (!predictor_db) |
| 868 return; | 869 return; |
| 869 | 870 |
| 870 predictors::LoggedInPredictorTable* logged_in_table = | 871 predictors::LoggedInPredictorTable* logged_in_table = |
| 871 predictor_db->logged_in_table().get(); | 872 predictor_db->logged_in_table().get(); |
| 872 if (!logged_in_table) | 873 if (!logged_in_table) |
| 873 return; | 874 return; |
| 874 | 875 |
| 875 waiting_for_clear_logged_in_predictor_ = true; | 876 waiting_for_clear_logged_in_predictor_ = true; |
| 876 | 877 |
| 877 BrowserThread::PostTaskAndReply( | 878 BrowserThread::PostTaskAndReply( |
| 878 BrowserThread::DB, | 879 BrowserThread::DB, |
| 879 FROM_HERE, | 880 FROM_HERE, |
| 880 base::Bind(&predictors::LoggedInPredictorTable::DeleteAllCreatedBetween, | 881 base::Bind(&predictors::LoggedInPredictorTable::DeleteAllCreatedBetween, |
| 881 logged_in_table, | 882 logged_in_table, |
| 882 delete_begin_, | 883 delete_begin_, |
| 883 delete_end_), | 884 delete_end_), |
| 884 base::Bind(&BrowsingDataRemover::OnClearedLoggedInPredictor, | 885 base::Bind(&BrowsingDataRemover::OnClearedLoggedInPredictor, |
| 885 base::Unretained(this))); | 886 base::Unretained(this))); |
| 886 } | 887 } |
| 887 | 888 |
| 888 void BrowsingDataRemover::OnClearedNetworkPredictor() { | 889 void BrowsingDataRemover::OnClearedNetworkPredictor() { |
| 889 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 890 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 890 waiting_for_clear_network_predictor_ = false; | 891 waiting_for_clear_network_predictor_ = false; |
| 891 NotifyAndDeleteIfDone(); | 892 NotifyAndDeleteIfDone(); |
| 892 } | 893 } |
| 893 | 894 |
| 894 void BrowsingDataRemover::ClearNetworkPredictorOnIOThread( | 895 void BrowsingDataRemover::ClearNetworkPredictorOnIOThread( |
| 895 chrome_browser_net::Predictor* predictor) { | 896 chrome_browser_net::Predictor* predictor) { |
| 896 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 897 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 897 DCHECK(predictor); | 898 DCHECK(predictor); |
| 898 | 899 |
| 899 predictor->DiscardInitialNavigationHistory(); | 900 predictor->DiscardInitialNavigationHistory(); |
| 900 predictor->DiscardAllResults(); | 901 predictor->DiscardAllResults(); |
| 901 | 902 |
| 902 // Notify the UI thread that we are done. | 903 // Notify the UI thread that we are done. |
| 903 BrowserThread::PostTask( | 904 BrowserThread::PostTask( |
| 904 BrowserThread::UI, | 905 BrowserThread::UI, |
| 905 FROM_HERE, | 906 FROM_HERE, |
| 906 base::Bind(&BrowsingDataRemover::OnClearedNetworkPredictor, | 907 base::Bind(&BrowsingDataRemover::OnClearedNetworkPredictor, |
| 907 base::Unretained(this))); | 908 base::Unretained(this))); |
| 908 } | 909 } |
| 909 | 910 |
| 910 void BrowsingDataRemover::OnClearedNetworkingHistory() { | 911 void BrowsingDataRemover::OnClearedNetworkingHistory() { |
| 911 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 912 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 912 waiting_for_clear_networking_history_ = false; | 913 waiting_for_clear_networking_history_ = false; |
| 913 NotifyAndDeleteIfDone(); | 914 NotifyAndDeleteIfDone(); |
| 914 } | 915 } |
| 915 | 916 |
| 916 void BrowsingDataRemover::ClearedCache() { | 917 void BrowsingDataRemover::ClearedCache() { |
| 917 waiting_for_clear_cache_ = false; | 918 waiting_for_clear_cache_ = false; |
| 918 | 919 |
| 919 NotifyAndDeleteIfDone(); | 920 NotifyAndDeleteIfDone(); |
| 920 } | 921 } |
| 921 | 922 |
| 922 void BrowsingDataRemover::ClearCacheOnIOThread() { | 923 void BrowsingDataRemover::ClearCacheOnIOThread() { |
| 923 // This function should be called on the IO thread. | 924 // This function should be called on the IO thread. |
| 924 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 925 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 925 DCHECK_EQ(STATE_NONE, next_cache_state_); | 926 DCHECK_EQ(STATE_NONE, next_cache_state_); |
| 926 DCHECK(main_context_getter_.get()); | 927 DCHECK(main_context_getter_.get()); |
| 927 DCHECK(media_context_getter_.get()); | 928 DCHECK(media_context_getter_.get()); |
| 928 | 929 |
| 929 next_cache_state_ = STATE_CREATE_MAIN; | 930 next_cache_state_ = STATE_CREATE_MAIN; |
| 930 DoClearCache(net::OK); | 931 DoClearCache(net::OK); |
| 931 } | 932 } |
| 932 | 933 |
| 933 // The expected state sequence is STATE_NONE --> STATE_CREATE_MAIN --> | 934 // The expected state sequence is STATE_NONE --> STATE_CREATE_MAIN --> |
| 934 // STATE_DELETE_MAIN --> STATE_CREATE_MEDIA --> STATE_DELETE_MEDIA --> | 935 // STATE_DELETE_MAIN --> STATE_CREATE_MEDIA --> STATE_DELETE_MEDIA --> |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 next_cache_state_ = STATE_NONE; // Stop looping. | 1008 next_cache_state_ = STATE_NONE; // Stop looping. |
| 1008 return; | 1009 return; |
| 1009 } | 1010 } |
| 1010 } | 1011 } |
| 1011 } | 1012 } |
| 1012 } | 1013 } |
| 1013 | 1014 |
| 1014 #if !defined(DISABLE_NACL) | 1015 #if !defined(DISABLE_NACL) |
| 1015 void BrowsingDataRemover::ClearedNaClCache() { | 1016 void BrowsingDataRemover::ClearedNaClCache() { |
| 1016 // This function should be called on the UI thread. | 1017 // This function should be called on the UI thread. |
| 1017 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1018 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1018 | 1019 |
| 1019 waiting_for_clear_nacl_cache_ = false; | 1020 waiting_for_clear_nacl_cache_ = false; |
| 1020 | 1021 |
| 1021 NotifyAndDeleteIfDone(); | 1022 NotifyAndDeleteIfDone(); |
| 1022 } | 1023 } |
| 1023 | 1024 |
| 1024 void BrowsingDataRemover::ClearedNaClCacheOnIOThread() { | 1025 void BrowsingDataRemover::ClearedNaClCacheOnIOThread() { |
| 1025 // This function should be called on the IO thread. | 1026 // This function should be called on the IO thread. |
| 1026 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1027 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1027 | 1028 |
| 1028 // Notify the UI thread that we are done. | 1029 // Notify the UI thread that we are done. |
| 1029 BrowserThread::PostTask( | 1030 BrowserThread::PostTask( |
| 1030 BrowserThread::UI, FROM_HERE, | 1031 BrowserThread::UI, FROM_HERE, |
| 1031 base::Bind(&BrowsingDataRemover::ClearedNaClCache, | 1032 base::Bind(&BrowsingDataRemover::ClearedNaClCache, |
| 1032 base::Unretained(this))); | 1033 base::Unretained(this))); |
| 1033 } | 1034 } |
| 1034 | 1035 |
| 1035 void BrowsingDataRemover::ClearNaClCacheOnIOThread() { | 1036 void BrowsingDataRemover::ClearNaClCacheOnIOThread() { |
| 1036 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1037 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1037 | 1038 |
| 1038 nacl::NaClBrowser::GetInstance()->ClearValidationCache( | 1039 nacl::NaClBrowser::GetInstance()->ClearValidationCache( |
| 1039 base::Bind(&BrowsingDataRemover::ClearedNaClCacheOnIOThread, | 1040 base::Bind(&BrowsingDataRemover::ClearedNaClCacheOnIOThread, |
| 1040 base::Unretained(this))); | 1041 base::Unretained(this))); |
| 1041 } | 1042 } |
| 1042 | 1043 |
| 1043 void BrowsingDataRemover::ClearedPnaclCache() { | 1044 void BrowsingDataRemover::ClearedPnaclCache() { |
| 1044 // This function should be called on the UI thread. | 1045 // This function should be called on the UI thread. |
| 1045 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1046 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1046 | 1047 |
| 1047 waiting_for_clear_pnacl_cache_ = false; | 1048 waiting_for_clear_pnacl_cache_ = false; |
| 1048 | 1049 |
| 1049 NotifyAndDeleteIfDone(); | 1050 NotifyAndDeleteIfDone(); |
| 1050 } | 1051 } |
| 1051 | 1052 |
| 1052 void BrowsingDataRemover::ClearedPnaclCacheOnIOThread() { | 1053 void BrowsingDataRemover::ClearedPnaclCacheOnIOThread() { |
| 1053 // This function should be called on the IO thread. | 1054 // This function should be called on the IO thread. |
| 1054 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1055 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1055 | 1056 |
| 1056 // Notify the UI thread that we are done. | 1057 // Notify the UI thread that we are done. |
| 1057 BrowserThread::PostTask( | 1058 BrowserThread::PostTask( |
| 1058 BrowserThread::UI, FROM_HERE, | 1059 BrowserThread::UI, FROM_HERE, |
| 1059 base::Bind(&BrowsingDataRemover::ClearedPnaclCache, | 1060 base::Bind(&BrowsingDataRemover::ClearedPnaclCache, |
| 1060 base::Unretained(this))); | 1061 base::Unretained(this))); |
| 1061 } | 1062 } |
| 1062 | 1063 |
| 1063 void BrowsingDataRemover::ClearPnaclCacheOnIOThread(base::Time begin, | 1064 void BrowsingDataRemover::ClearPnaclCacheOnIOThread(base::Time begin, |
| 1064 base::Time end) { | 1065 base::Time end) { |
| 1065 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1066 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1066 | 1067 |
| 1067 pnacl::PnaclHost::GetInstance()->ClearTranslationCacheEntriesBetween( | 1068 pnacl::PnaclHost::GetInstance()->ClearTranslationCacheEntriesBetween( |
| 1068 begin, end, | 1069 begin, end, |
| 1069 base::Bind(&BrowsingDataRemover::ClearedPnaclCacheOnIOThread, | 1070 base::Bind(&BrowsingDataRemover::ClearedPnaclCacheOnIOThread, |
| 1070 base::Unretained(this))); | 1071 base::Unretained(this))); |
| 1071 } | 1072 } |
| 1072 #endif | 1073 #endif |
| 1073 | 1074 |
| 1074 void BrowsingDataRemover::OnWaitableEventSignaled( | 1075 void BrowsingDataRemover::OnWaitableEventSignaled( |
| 1075 base::WaitableEvent* waitable_event) { | 1076 base::WaitableEvent* waitable_event) { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1111 return; | 1112 return; |
| 1112 } | 1113 } |
| 1113 | 1114 |
| 1114 DCHECK_GT(waiting_for_clear_cookies_count_, 0); | 1115 DCHECK_GT(waiting_for_clear_cookies_count_, 0); |
| 1115 --waiting_for_clear_cookies_count_; | 1116 --waiting_for_clear_cookies_count_; |
| 1116 NotifyAndDeleteIfDone(); | 1117 NotifyAndDeleteIfDone(); |
| 1117 } | 1118 } |
| 1118 | 1119 |
| 1119 void BrowsingDataRemover::ClearCookiesOnIOThread( | 1120 void BrowsingDataRemover::ClearCookiesOnIOThread( |
| 1120 net::URLRequestContextGetter* rq_context) { | 1121 net::URLRequestContextGetter* rq_context) { |
| 1121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1122 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1122 net::CookieStore* cookie_store = rq_context-> | 1123 net::CookieStore* cookie_store = rq_context-> |
| 1123 GetURLRequestContext()->cookie_store(); | 1124 GetURLRequestContext()->cookie_store(); |
| 1124 cookie_store->DeleteAllCreatedBetweenAsync( | 1125 cookie_store->DeleteAllCreatedBetweenAsync( |
| 1125 delete_begin_, delete_end_, | 1126 delete_begin_, delete_end_, |
| 1126 base::Bind(&BrowsingDataRemover::OnClearedCookies, | 1127 base::Bind(&BrowsingDataRemover::OnClearedCookies, |
| 1127 base::Unretained(this))); | 1128 base::Unretained(this))); |
| 1128 } | 1129 } |
| 1129 | 1130 |
| 1130 void BrowsingDataRemover::ClearChannelIDsOnIOThread( | 1131 void BrowsingDataRemover::ClearChannelIDsOnIOThread( |
| 1131 net::URLRequestContextGetter* rq_context) { | 1132 net::URLRequestContextGetter* rq_context) { |
| 1132 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 1133 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1133 net::ChannelIDService* channel_id_service = | 1134 net::ChannelIDService* channel_id_service = |
| 1134 rq_context->GetURLRequestContext()->channel_id_service(); | 1135 rq_context->GetURLRequestContext()->channel_id_service(); |
| 1135 channel_id_service->GetChannelIDStore()->DeleteAllCreatedBetween( | 1136 channel_id_service->GetChannelIDStore()->DeleteAllCreatedBetween( |
| 1136 delete_begin_, delete_end_, | 1137 delete_begin_, delete_end_, |
| 1137 base::Bind(&BrowsingDataRemover::OnClearedChannelIDsOnIOThread, | 1138 base::Bind(&BrowsingDataRemover::OnClearedChannelIDsOnIOThread, |
| 1138 base::Unretained(this), base::Unretained(rq_context))); | 1139 base::Unretained(this), base::Unretained(rq_context))); |
| 1139 } | 1140 } |
| 1140 | 1141 |
| 1141 void BrowsingDataRemover::OnClearedChannelIDsOnIOThread( | 1142 void BrowsingDataRemover::OnClearedChannelIDsOnIOThread( |
| 1142 net::URLRequestContextGetter* rq_context) { | 1143 net::URLRequestContextGetter* rq_context) { |
| 1143 // Need to close open SSL connections which may be using the channel ids we | 1144 // Need to close open SSL connections which may be using the channel ids we |
| 1144 // are deleting. | 1145 // are deleting. |
| 1145 // TODO(mattm): http://crbug.com/166069 Make the server bound cert | 1146 // TODO(mattm): http://crbug.com/166069 Make the server bound cert |
| 1146 // service/store have observers that can notify relevant things directly. | 1147 // service/store have observers that can notify relevant things directly. |
| 1147 rq_context->GetURLRequestContext()->ssl_config_service()-> | 1148 rq_context->GetURLRequestContext()->ssl_config_service()-> |
| 1148 NotifySSLConfigChange(); | 1149 NotifySSLConfigChange(); |
| 1149 BrowserThread::PostTask( | 1150 BrowserThread::PostTask( |
| 1150 BrowserThread::UI, FROM_HERE, | 1151 BrowserThread::UI, FROM_HERE, |
| 1151 base::Bind(&BrowsingDataRemover::OnClearedChannelIDs, | 1152 base::Bind(&BrowsingDataRemover::OnClearedChannelIDs, |
| 1152 base::Unretained(this))); | 1153 base::Unretained(this))); |
| 1153 } | 1154 } |
| 1154 | 1155 |
| 1155 void BrowsingDataRemover::OnClearedChannelIDs() { | 1156 void BrowsingDataRemover::OnClearedChannelIDs() { |
| 1156 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1157 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1157 waiting_for_clear_channel_ids_ = false; | 1158 waiting_for_clear_channel_ids_ = false; |
| 1158 NotifyAndDeleteIfDone(); | 1159 NotifyAndDeleteIfDone(); |
| 1159 } | 1160 } |
| 1160 | 1161 |
| 1161 void BrowsingDataRemover::OnClearedFormData() { | 1162 void BrowsingDataRemover::OnClearedFormData() { |
| 1162 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1163 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1163 waiting_for_clear_form_ = false; | 1164 waiting_for_clear_form_ = false; |
| 1164 NotifyAndDeleteIfDone(); | 1165 NotifyAndDeleteIfDone(); |
| 1165 } | 1166 } |
| 1166 | 1167 |
| 1167 void BrowsingDataRemover::OnClearedAutofillOriginURLs() { | 1168 void BrowsingDataRemover::OnClearedAutofillOriginURLs() { |
| 1168 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1169 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1169 waiting_for_clear_autofill_origin_urls_ = false; | 1170 waiting_for_clear_autofill_origin_urls_ = false; |
| 1170 NotifyAndDeleteIfDone(); | 1171 NotifyAndDeleteIfDone(); |
| 1171 } | 1172 } |
| 1172 | 1173 |
| 1173 void BrowsingDataRemover::OnClearedStoragePartitionData() { | 1174 void BrowsingDataRemover::OnClearedStoragePartitionData() { |
| 1174 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1175 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1175 waiting_for_clear_storage_partition_data_ = false; | 1176 waiting_for_clear_storage_partition_data_ = false; |
| 1176 NotifyAndDeleteIfDone(); | 1177 NotifyAndDeleteIfDone(); |
| 1177 } | 1178 } |
| 1178 | 1179 |
| 1179 #if defined(ENABLE_WEBRTC) | 1180 #if defined(ENABLE_WEBRTC) |
| 1180 void BrowsingDataRemover::OnClearedWebRtcLogs() { | 1181 void BrowsingDataRemover::OnClearedWebRtcLogs() { |
| 1181 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1182 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1182 waiting_for_clear_webrtc_logs_ = false; | 1183 waiting_for_clear_webrtc_logs_ = false; |
| 1183 NotifyAndDeleteIfDone(); | 1184 NotifyAndDeleteIfDone(); |
| 1184 } | 1185 } |
| 1185 #endif | 1186 #endif |
| 1186 | 1187 |
| 1187 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1188 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
| 1188 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1189 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1189 waiting_for_clear_domain_reliability_monitor_ = false; | 1190 waiting_for_clear_domain_reliability_monitor_ = false; |
| 1190 NotifyAndDeleteIfDone(); | 1191 NotifyAndDeleteIfDone(); |
| 1191 } | 1192 } |
| OLD | NEW |