OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_remover.h" | 5 #include "chrome/browser/browsing_data_remover.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 // OnGotQuotaManagedOrigins(). | 481 // OnGotQuotaManagedOrigins(). |
482 quota_managed_origins_to_delete_count_ = 0; | 482 quota_managed_origins_to_delete_count_ = 0; |
483 quota_managed_storage_types_to_delete_count_ = 2; | 483 quota_managed_storage_types_to_delete_count_ = 2; |
484 | 484 |
485 if (delete_begin_ == base::Time()) { | 485 if (delete_begin_ == base::Time()) { |
486 // If we're deleting since the beginning of time, ask the QuotaManager for | 486 // If we're deleting since the beginning of time, ask the QuotaManager for |
487 // all origins with persistent quota modified within the user-specified | 487 // all origins with persistent quota modified within the user-specified |
488 // timeframe, and deal with the resulting set in | 488 // timeframe, and deal with the resulting set in |
489 // OnGotPersistentQuotaManagedOrigins. | 489 // OnGotPersistentQuotaManagedOrigins. |
490 profile_->GetQuotaManager()->GetOriginsModifiedSince( | 490 profile_->GetQuotaManager()->GetOriginsModifiedSince( |
491 quota::kStorageTypePersistent, delete_begin_, NewCallback(this, | 491 quota::kStorageTypePersistent, delete_begin_, |
492 &BrowsingDataRemover::OnGotQuotaManagedOrigins)); | 492 base::Bind(&BrowsingDataRemover::OnGotQuotaManagedOrigins, |
| 493 base::Unretained(this))); |
493 } else { | 494 } else { |
494 // Otherwise, we don't need to deal with persistent storage. | 495 // Otherwise, we don't need to deal with persistent storage. |
495 --quota_managed_storage_types_to_delete_count_; | 496 --quota_managed_storage_types_to_delete_count_; |
496 } | 497 } |
497 | 498 |
498 // Do the same for temporary quota, regardless, passing the resulting set into | 499 // Do the same for temporary quota, regardless, passing the resulting set into |
499 // OnGotTemporaryQuotaManagedOrigins. | 500 // OnGotTemporaryQuotaManagedOrigins. |
500 profile_->GetQuotaManager()->GetOriginsModifiedSince( | 501 profile_->GetQuotaManager()->GetOriginsModifiedSince( |
501 quota::kStorageTypeTemporary, delete_begin_, NewCallback(this, | 502 quota::kStorageTypeTemporary, delete_begin_, |
502 &BrowsingDataRemover::OnGotQuotaManagedOrigins)); | 503 base::Bind(&BrowsingDataRemover::OnGotQuotaManagedOrigins, |
| 504 base::Unretained(this))); |
503 } | 505 } |
504 | 506 |
505 void BrowsingDataRemover::OnGotQuotaManagedOrigins( | 507 void BrowsingDataRemover::OnGotQuotaManagedOrigins( |
506 const std::set<GURL>& origins, quota::StorageType type) { | 508 const std::set<GURL>& origins, quota::StorageType type) { |
507 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); | 509 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); |
508 // Walk through the origins passed in, delete quota of |type| from each that | 510 // Walk through the origins passed in, delete quota of |type| from each that |
509 // isn't protected. | 511 // isn't protected. |
510 std::set<GURL>::const_iterator origin; | 512 std::set<GURL>::const_iterator origin; |
511 for (origin = origins.begin(); origin != origins.end(); ++origin) { | 513 for (origin = origins.begin(); origin != origins.end(); ++origin) { |
512 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) | 514 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) |
513 continue; | 515 continue; |
514 ++quota_managed_origins_to_delete_count_; | 516 ++quota_managed_origins_to_delete_count_; |
515 quota_manager_->DeleteOriginData(origin->GetOrigin(), | 517 quota_manager_->DeleteOriginData( |
516 type, NewCallback(this, | 518 origin->GetOrigin(), type, |
517 &BrowsingDataRemover::OnQuotaManagedOriginDeletion)); | 519 base::Bind(&BrowsingDataRemover::OnQuotaManagedOriginDeletion, |
| 520 base::Unretained(this))); |
518 } | 521 } |
519 | 522 |
520 --quota_managed_storage_types_to_delete_count_; | 523 --quota_managed_storage_types_to_delete_count_; |
521 CheckQuotaManagedDataDeletionStatus(); | 524 CheckQuotaManagedDataDeletionStatus(); |
522 } | 525 } |
523 | 526 |
524 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( | 527 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( |
525 quota::QuotaStatusCode status) { | 528 quota::QuotaStatusCode status) { |
526 DCHECK_GT(quota_managed_origins_to_delete_count_, 0); | 529 DCHECK_GT(quota_managed_origins_to_delete_count_, 0); |
527 if (status != quota::kQuotaStatusOk) { | 530 if (status != quota::kQuotaStatusOk) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 GetURLRequestContext()->cookie_store()->GetCookieMonster(); | 582 GetURLRequestContext()->cookie_store()->GetCookieMonster(); |
580 if (cookie_monster) { | 583 if (cookie_monster) { |
581 cookie_monster->DeleteAllCreatedBetweenAsync( | 584 cookie_monster->DeleteAllCreatedBetweenAsync( |
582 delete_begin_, delete_end_, | 585 delete_begin_, delete_end_, |
583 base::Bind(&BrowsingDataRemover::OnClearedCookies, | 586 base::Bind(&BrowsingDataRemover::OnClearedCookies, |
584 base::Unretained(this))); | 587 base::Unretained(this))); |
585 } else { | 588 } else { |
586 OnClearedCookies(0); | 589 OnClearedCookies(0); |
587 } | 590 } |
588 } | 591 } |
OLD | NEW |