| 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_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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 BrowsingDataRemover::~BrowsingDataRemover() { | 134 BrowsingDataRemover::~BrowsingDataRemover() { |
| 135 DCHECK(all_done()); | 135 DCHECK(all_done()); |
| 136 } | 136 } |
| 137 | 137 |
| 138 // Static. | 138 // Static. |
| 139 void BrowsingDataRemover::set_removing(bool removing) { | 139 void BrowsingDataRemover::set_removing(bool removing) { |
| 140 DCHECK(removing_ != removing); | 140 DCHECK(removing_ != removing); |
| 141 removing_ = removing; | 141 removing_ = removing; |
| 142 } | 142 } |
| 143 | 143 |
| 144 // Static. |
| 145 int BrowsingDataRemover::GenerateQuotaClientMask(int remove_mask) { |
| 146 int quota_client_mask = 0; |
| 147 if (remove_mask & BrowsingDataRemover::REMOVE_FILE_SYSTEMS) |
| 148 quota_client_mask |= quota::QuotaClient::kFileSystem; |
| 149 if (remove_mask & BrowsingDataRemover::REMOVE_WEBSQL) |
| 150 quota_client_mask |= quota::QuotaClient::kDatabase; |
| 151 if (remove_mask & BrowsingDataRemover::REMOVE_APPCACHE) |
| 152 quota_client_mask |= quota::QuotaClient::kAppcache; |
| 153 if (remove_mask & BrowsingDataRemover::REMOVE_INDEXEDDB) |
| 154 quota_client_mask |= quota::QuotaClient::kIndexedDatabase; |
| 155 |
| 156 return quota_client_mask; |
| 157 } |
| 158 |
| 144 void BrowsingDataRemover::Remove(int remove_mask) { | 159 void BrowsingDataRemover::Remove(int remove_mask) { |
| 145 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 160 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 146 set_removing(true); | 161 set_removing(true); |
| 147 remove_mask_ = remove_mask; | 162 remove_mask_ = remove_mask; |
| 148 | 163 |
| 149 if (remove_mask & REMOVE_HISTORY) { | 164 if (remove_mask & REMOVE_HISTORY) { |
| 150 HistoryService* history_service = | 165 HistoryService* history_service = |
| 151 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); | 166 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| 152 if (history_service) { | 167 if (history_service) { |
| 153 std::set<GURL> restrict_urls; | 168 std::set<GURL> restrict_urls; |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); | 578 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); |
| 564 // Walk through the origins passed in, delete quota of |type| from each that | 579 // Walk through the origins passed in, delete quota of |type| from each that |
| 565 // isn't protected. | 580 // isn't protected. |
| 566 std::set<GURL>::const_iterator origin; | 581 std::set<GURL>::const_iterator origin; |
| 567 for (origin = origins.begin(); origin != origins.end(); ++origin) { | 582 for (origin = origins.begin(); origin != origins.end(); ++origin) { |
| 568 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) | 583 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) |
| 569 continue; | 584 continue; |
| 570 ++quota_managed_origins_to_delete_count_; | 585 ++quota_managed_origins_to_delete_count_; |
| 571 quota_manager_->DeleteOriginData( | 586 quota_manager_->DeleteOriginData( |
| 572 origin->GetOrigin(), type, | 587 origin->GetOrigin(), type, |
| 588 BrowsingDataRemover::GenerateQuotaClientMask(remove_mask_), |
| 573 base::Bind(&BrowsingDataRemover::OnQuotaManagedOriginDeletion, | 589 base::Bind(&BrowsingDataRemover::OnQuotaManagedOriginDeletion, |
| 574 base::Unretained(this))); | 590 base::Unretained(this))); |
| 575 } | 591 } |
| 576 | 592 |
| 577 --quota_managed_storage_types_to_delete_count_; | 593 --quota_managed_storage_types_to_delete_count_; |
| 578 CheckQuotaManagedDataDeletionStatus(); | 594 CheckQuotaManagedDataDeletionStatus(); |
| 579 } | 595 } |
| 580 | 596 |
| 581 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( | 597 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( |
| 582 quota::QuotaStatusCode status) { | 598 quota::QuotaStatusCode status) { |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 BrowserThread::UI, FROM_HERE, | 666 BrowserThread::UI, FROM_HERE, |
| 651 base::Bind(&BrowsingDataRemover::OnClearedOriginBoundCerts, | 667 base::Bind(&BrowsingDataRemover::OnClearedOriginBoundCerts, |
| 652 base::Unretained(this))); | 668 base::Unretained(this))); |
| 653 } | 669 } |
| 654 | 670 |
| 655 void BrowsingDataRemover::OnClearedOriginBoundCerts() { | 671 void BrowsingDataRemover::OnClearedOriginBoundCerts() { |
| 656 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 672 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 657 waiting_for_clear_origin_bound_certs_ = false; | 673 waiting_for_clear_origin_bound_certs_ = false; |
| 658 NotifyAndDeleteIfDone(); | 674 NotifyAndDeleteIfDone(); |
| 659 } | 675 } |
| OLD | NEW |