Chromium Code Reviews| 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 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 342 DCHECK(observer); | 342 DCHECK(observer); |
| 343 RemoveInternal(time_range, remove_mask, origin_type_mask, | 343 RemoveInternal(time_range, remove_mask, origin_type_mask, |
| 344 std::unique_ptr<RegistrableDomainFilterBuilder>(), observer); | 344 std::unique_ptr<RegistrableDomainFilterBuilder>(), observer); |
| 345 } | 345 } |
| 346 | 346 |
| 347 void BrowsingDataRemover::RemoveWithFilter( | 347 void BrowsingDataRemover::RemoveWithFilter( |
| 348 const TimeRange& time_range, | 348 const TimeRange& time_range, |
| 349 int remove_mask, | 349 int remove_mask, |
| 350 int origin_type_mask, | 350 int origin_type_mask, |
| 351 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { | 351 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { |
| 352 DCHECK_EQ(FILTERABLE_DATATYPES, remove_mask | FILTERABLE_DATATYPES); | |
|
Bernhard Bauer
2016/08/10 14:22:13
Nit: If you changed this to DCHECK_EQ(0, remove_ma
msramek
2016/08/11 13:11:01
Done. You will see the remaining bits as a decimal
| |
| 352 DCHECK(filter_builder); | 353 DCHECK(filter_builder); |
| 353 RemoveInternal(time_range, remove_mask, origin_type_mask, | 354 RemoveInternal(time_range, remove_mask, origin_type_mask, |
| 354 std::move(filter_builder), nullptr); | 355 std::move(filter_builder), nullptr); |
| 355 } | 356 } |
| 356 | 357 |
| 357 void BrowsingDataRemover::RemoveWithFilterAndReply( | 358 void BrowsingDataRemover::RemoveWithFilterAndReply( |
| 358 const TimeRange& time_range, | 359 const TimeRange& time_range, |
| 359 int remove_mask, | 360 int remove_mask, |
| 360 int origin_type_mask, | 361 int origin_type_mask, |
| 361 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder, | 362 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder, |
| 362 Observer* observer) { | 363 Observer* observer) { |
| 364 DCHECK_EQ(FILTERABLE_DATATYPES, remove_mask | FILTERABLE_DATATYPES); | |
| 363 DCHECK(filter_builder); | 365 DCHECK(filter_builder); |
| 364 DCHECK(observer); | 366 DCHECK(observer); |
| 365 RemoveInternal(time_range, remove_mask, origin_type_mask, | 367 RemoveInternal(time_range, remove_mask, origin_type_mask, |
| 366 std::move(filter_builder), observer); | 368 std::move(filter_builder), observer); |
| 367 } | 369 } |
| 368 | 370 |
| 369 void BrowsingDataRemover::RemoveInternal( | 371 void BrowsingDataRemover::RemoveInternal( |
| 370 const TimeRange& time_range, | 372 const TimeRange& time_range, |
| 371 int remove_mask, | 373 int remove_mask, |
| 372 int origin_type_mask, | 374 int origin_type_mask, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 408 removal_task.remove_mask, | 410 removal_task.remove_mask, |
| 409 *removal_task.filter_builder, | 411 *removal_task.filter_builder, |
| 410 removal_task.origin_type_mask); | 412 removal_task.origin_type_mask); |
| 411 } | 413 } |
| 412 | 414 |
| 413 void BrowsingDataRemover::RemoveImpl( | 415 void BrowsingDataRemover::RemoveImpl( |
| 414 const TimeRange& time_range, | 416 const TimeRange& time_range, |
| 415 int remove_mask, | 417 int remove_mask, |
| 416 const BrowsingDataFilterBuilder& filter_builder, | 418 const BrowsingDataFilterBuilder& filter_builder, |
| 417 int origin_type_mask) { | 419 int origin_type_mask) { |
| 420 // =============== README before adding more storage backends =============== | |
| 421 // | |
| 422 // If you're adding a data storage backend that is included among | |
| 423 // RemoveDataMask::FILTERABLE_DATATYPES, you must do one of the following: | |
| 424 // 1. Support one of the filters generated by |filter_builder|. | |
| 425 // 2. Add a comment explaining why is it acceptable in your case to delete all | |
| 426 // data without filtering URLs / origins / domains. | |
| 427 // 3. Do not support partial deletion, i.e. only delete your data if | |
| 428 // |filter_builder.IsEmptyBlacklist()|. Add a comment explaining why this | |
| 429 // is acceptable. | |
| 418 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 430 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 419 waiting_for_synchronous_clear_operations_ = true; | 431 waiting_for_synchronous_clear_operations_ = true; |
| 420 | 432 |
| 421 // crbug.com/140910: Many places were calling this with base::Time() as | 433 // crbug.com/140910: Many places were calling this with base::Time() as |
| 422 // delete_end, even though they should've used base::Time::Max(). | 434 // delete_end, even though they should've used base::Time::Max(). |
| 423 DCHECK_NE(base::Time(), time_range.end); | 435 DCHECK_NE(base::Time(), time_range.end); |
| 424 | 436 |
| 425 delete_begin_ = time_range.begin; | 437 delete_begin_ = time_range.begin; |
| 426 delete_end_ = time_range.end; | 438 delete_end_ = time_range.end; |
| 427 remove_mask_ = remove_mask; | 439 remove_mask_ = remove_mask; |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1012 cryptohome::Identification(user->GetAccountId()), | 1024 cryptohome::Identification(user->GetAccountId()), |
| 1013 chromeos::attestation::kContentProtectionKeyPrefix, | 1025 chromeos::attestation::kContentProtectionKeyPrefix, |
| 1014 base::Bind(&BrowsingDataRemover::OnClearPlatformKeys, | 1026 base::Bind(&BrowsingDataRemover::OnClearPlatformKeys, |
| 1015 weak_ptr_factory_.GetWeakPtr())); | 1027 weak_ptr_factory_.GetWeakPtr())); |
| 1016 waiting_for_clear_platform_keys_ = true; | 1028 waiting_for_clear_platform_keys_ = true; |
| 1017 } | 1029 } |
| 1018 #endif // defined(OS_CHROMEOS) | 1030 #endif // defined(OS_CHROMEOS) |
| 1019 #endif // defined(ENABLE_PLUGINS) | 1031 #endif // defined(ENABLE_PLUGINS) |
| 1020 } | 1032 } |
| 1021 | 1033 |
| 1022 // Remove omnibox zero-suggest cache results. | 1034 // Remove omnibox zero-suggest cache results. Filtering is not supported. |
| 1035 // This is not a problem, as deleting more data than necessary will just cause | |
| 1036 // another server round-trip; no data are actually lost. | |
|
Bernhard Bauer
2016/08/10 14:22:14
Nit: "no data is actually lost" :)
msramek
2016/08/11 13:11:01
*grumble* *grumble* Done. :) But yeah, I remember
Bernhard Bauer
2016/08/11 13:25:42
Yes, I think in this case you are not talking abou
| |
| 1023 if ((remove_mask & (REMOVE_CACHE | REMOVE_COOKIES))) | 1037 if ((remove_mask & (REMOVE_CACHE | REMOVE_COOKIES))) |
| 1024 prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string()); | 1038 prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string()); |
| 1025 | 1039 |
| 1026 if (remove_mask & (REMOVE_COOKIES | REMOVE_HISTORY)) { | 1040 if (remove_mask & (REMOVE_COOKIES | REMOVE_HISTORY)) { |
| 1027 domain_reliability::DomainReliabilityService* service = | 1041 domain_reliability::DomainReliabilityService* service = |
| 1028 domain_reliability::DomainReliabilityServiceFactory:: | 1042 domain_reliability::DomainReliabilityServiceFactory:: |
| 1029 GetForBrowserContext(profile_); | 1043 GetForBrowserContext(profile_); |
| 1030 if (service) { | 1044 if (service) { |
| 1031 domain_reliability::DomainReliabilityClearMode mode; | 1045 domain_reliability::DomainReliabilityClearMode mode; |
| 1032 if (remove_mask & REMOVE_COOKIES) | 1046 if (remove_mask & REMOVE_COOKIES) |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1408 waiting_for_clear_offline_page_data_ = false; | 1422 waiting_for_clear_offline_page_data_ = false; |
| 1409 NotifyIfDone(); | 1423 NotifyIfDone(); |
| 1410 } | 1424 } |
| 1411 #endif | 1425 #endif |
| 1412 | 1426 |
| 1413 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1427 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
| 1414 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1428 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1415 waiting_for_clear_domain_reliability_monitor_ = false; | 1429 waiting_for_clear_domain_reliability_monitor_ = false; |
| 1416 NotifyIfDone(); | 1430 NotifyIfDone(); |
| 1417 } | 1431 } |
| OLD | NEW |