| 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 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 const BrowsingDataFilterBuilder& filter_builder) { | 373 const BrowsingDataFilterBuilder& filter_builder) { |
| 374 RemoveImpl(time_range, remove_mask, filter_builder, origin_type_mask); | 374 RemoveImpl(time_range, remove_mask, filter_builder, origin_type_mask); |
| 375 } | 375 } |
| 376 | 376 |
| 377 void BrowsingDataRemover::RemoveImpl( | 377 void BrowsingDataRemover::RemoveImpl( |
| 378 const TimeRange& time_range, | 378 const TimeRange& time_range, |
| 379 int remove_mask, | 379 int remove_mask, |
| 380 const BrowsingDataFilterBuilder& filter_builder, | 380 const BrowsingDataFilterBuilder& filter_builder, |
| 381 int origin_type_mask) { | 381 int origin_type_mask) { |
| 382 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 382 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 383 waiting_for_synchronous_clear_operations_ = true; |
| 383 | 384 |
| 384 // crbug.com/140910: Many places were calling this with base::Time() as | 385 // crbug.com/140910: Many places were calling this with base::Time() as |
| 385 // delete_end, even though they should've used base::Time::Max(). | 386 // delete_end, even though they should've used base::Time::Max(). |
| 386 DCHECK_NE(base::Time(), time_range.end); | 387 DCHECK_NE(base::Time(), time_range.end); |
| 387 | 388 |
| 388 SetRemoving(true); | 389 SetRemoving(true); |
| 389 delete_begin_ = time_range.begin; | 390 delete_begin_ = time_range.begin; |
| 390 delete_end_ = time_range.end; | 391 delete_end_ = time_range.end; |
| 391 remove_mask_ = remove_mask; | 392 remove_mask_ = remove_mask; |
| 392 origin_type_mask_ = origin_type_mask; | 393 origin_type_mask_ = origin_type_mask; |
| (...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 CookieOrCacheDeletionChoice choice = NEITHER_COOKIES_NOR_CACHE; | 1033 CookieOrCacheDeletionChoice choice = NEITHER_COOKIES_NOR_CACHE; |
| 1033 if (remove_mask & REMOVE_COOKIES && | 1034 if (remove_mask & REMOVE_COOKIES && |
| 1034 origin_type_mask_ & BrowsingDataHelper::UNPROTECTED_WEB) { | 1035 origin_type_mask_ & BrowsingDataHelper::UNPROTECTED_WEB) { |
| 1035 choice = remove_mask & REMOVE_CACHE ? BOTH_COOKIES_AND_CACHE | 1036 choice = remove_mask & REMOVE_CACHE ? BOTH_COOKIES_AND_CACHE |
| 1036 : ONLY_COOKIES; | 1037 : ONLY_COOKIES; |
| 1037 } else if (remove_mask & REMOVE_CACHE) { | 1038 } else if (remove_mask & REMOVE_CACHE) { |
| 1038 choice = ONLY_CACHE; | 1039 choice = ONLY_CACHE; |
| 1039 } | 1040 } |
| 1040 | 1041 |
| 1041 // Notify in case all actions taken were synchronous. | 1042 // Notify in case all actions taken were synchronous. |
| 1043 waiting_for_synchronous_clear_operations_ = false; |
| 1042 NotifyIfDone(); | 1044 NotifyIfDone(); |
| 1043 | 1045 |
| 1044 UMA_HISTOGRAM_ENUMERATION( | 1046 UMA_HISTOGRAM_ENUMERATION( |
| 1045 "History.ClearBrowsingData.UserDeletedCookieOrCache", | 1047 "History.ClearBrowsingData.UserDeletedCookieOrCache", |
| 1046 choice, MAX_CHOICE_VALUE); | 1048 choice, MAX_CHOICE_VALUE); |
| 1047 } | 1049 } |
| 1048 | 1050 |
| 1049 void BrowsingDataRemover::AddObserver(Observer* observer) { | 1051 void BrowsingDataRemover::AddObserver(Observer* observer) { |
| 1050 observer_list_.AddObserver(observer); | 1052 observer_list_.AddObserver(observer); |
| 1051 } | 1053 } |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1078 for (const ContentSettingPatternSource& setting : settings) { | 1080 for (const ContentSettingPatternSource& setting : settings) { |
| 1079 if (predicate.Run(setting.primary_pattern, setting.secondary_pattern)) { | 1081 if (predicate.Run(setting.primary_pattern, setting.secondary_pattern)) { |
| 1080 content_settings_map->SetWebsiteSettingCustomScope( | 1082 content_settings_map->SetWebsiteSettingCustomScope( |
| 1081 setting.primary_pattern, setting.secondary_pattern, content_type, | 1083 setting.primary_pattern, setting.secondary_pattern, content_type, |
| 1082 std::string(), nullptr); | 1084 std::string(), nullptr); |
| 1083 } | 1085 } |
| 1084 } | 1086 } |
| 1085 } | 1087 } |
| 1086 | 1088 |
| 1087 bool BrowsingDataRemover::AllDone() { | 1089 bool BrowsingDataRemover::AllDone() { |
| 1088 return !waiting_for_clear_autofill_origin_urls_ && | 1090 return !waiting_for_synchronous_clear_operations_ && |
| 1091 !waiting_for_clear_autofill_origin_urls_ && |
| 1089 !waiting_for_clear_cache_ && | 1092 !waiting_for_clear_cache_ && |
| 1090 !waiting_for_clear_flash_content_licenses_ && | 1093 !waiting_for_clear_flash_content_licenses_ && |
| 1091 !waiting_for_clear_channel_ids_ && !waiting_for_clear_cookies_count_ && | 1094 !waiting_for_clear_channel_ids_ && !waiting_for_clear_cookies_count_ && |
| 1092 !waiting_for_clear_domain_reliability_monitor_ && | 1095 !waiting_for_clear_domain_reliability_monitor_ && |
| 1093 !waiting_for_clear_form_ && !waiting_for_clear_history_ && | 1096 !waiting_for_clear_form_ && !waiting_for_clear_history_ && |
| 1094 !waiting_for_clear_hostname_resolution_cache_ && | 1097 !waiting_for_clear_hostname_resolution_cache_ && |
| 1095 !waiting_for_clear_keyword_data_ && !waiting_for_clear_nacl_cache_ && | 1098 !waiting_for_clear_keyword_data_ && !waiting_for_clear_nacl_cache_ && |
| 1096 !waiting_for_clear_network_predictor_ && | 1099 !waiting_for_clear_network_predictor_ && |
| 1097 !waiting_for_clear_networking_history_ && | 1100 !waiting_for_clear_networking_history_ && |
| 1098 !waiting_for_clear_passwords_ && !waiting_for_clear_passwords_stats_ && | 1101 !waiting_for_clear_passwords_ && !waiting_for_clear_passwords_stats_ && |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1320 waiting_for_clear_domain_reliability_monitor_ = false; | 1323 waiting_for_clear_domain_reliability_monitor_ = false; |
| 1321 NotifyIfDone(); | 1324 NotifyIfDone(); |
| 1322 } | 1325 } |
| 1323 | 1326 |
| 1324 // static | 1327 // static |
| 1325 BrowsingDataRemover::CallbackSubscription | 1328 BrowsingDataRemover::CallbackSubscription |
| 1326 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback( | 1329 BrowsingDataRemover::RegisterOnBrowsingDataRemovedCallback( |
| 1327 const BrowsingDataRemover::Callback& callback) { | 1330 const BrowsingDataRemover::Callback& callback) { |
| 1328 return GetOnBrowsingDataRemovedCallbacks()->Add(callback); | 1331 return GetOnBrowsingDataRemovedCallbacks()->Add(callback); |
| 1329 } | 1332 } |
| OLD | NEW |