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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 BrowsingDataRemover::~BrowsingDataRemover() { | 130 BrowsingDataRemover::~BrowsingDataRemover() { |
131 DCHECK(all_done()); | 131 DCHECK(all_done()); |
132 } | 132 } |
133 | 133 |
134 // Static. | 134 // Static. |
135 void BrowsingDataRemover::set_removing(bool removing) { | 135 void BrowsingDataRemover::set_removing(bool removing) { |
136 DCHECK(removing_ != removing); | 136 DCHECK(removing_ != removing); |
137 removing_ = removing; | 137 removing_ = removing; |
138 } | 138 } |
139 | 139 |
| 140 // Static. |
| 141 int BrowsingDataRemover::GenerateQuotaClientMask(int remove_mask) { |
| 142 int quota_client_mask = 0; |
| 143 if (remove_mask & BrowsingDataRemover::REMOVE_FILE_SYSTEMS) |
| 144 quota_client_mask |= quota::QuotaClient::kFileSystem; |
| 145 if (remove_mask & BrowsingDataRemover::REMOVE_WEBSQL) |
| 146 quota_client_mask |= quota::QuotaClient::kDatabase; |
| 147 if (remove_mask & BrowsingDataRemover::REMOVE_APPCACHE) |
| 148 quota_client_mask |= quota::QuotaClient::kAppcache; |
| 149 if (remove_mask & BrowsingDataRemover::REMOVE_INDEXEDDB) |
| 150 quota_client_mask |= quota::QuotaClient::kIndexedDatabase; |
| 151 |
| 152 return quota_client_mask; |
| 153 } |
| 154 |
140 void BrowsingDataRemover::Remove(int remove_mask) { | 155 void BrowsingDataRemover::Remove(int remove_mask) { |
141 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 156 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
142 set_removing(true); | 157 set_removing(true); |
143 remove_mask_ = remove_mask; | 158 remove_mask_ = remove_mask; |
144 | 159 |
145 if (remove_mask & REMOVE_HISTORY) { | 160 if (remove_mask & REMOVE_HISTORY) { |
146 HistoryService* history_service = | 161 HistoryService* history_service = |
147 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); | 162 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
148 if (history_service) { | 163 if (history_service) { |
149 std::set<GURL> restrict_urls; | 164 std::set<GURL> restrict_urls; |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); | 560 DCHECK_GT(quota_managed_storage_types_to_delete_count_, 0); |
546 // Walk through the origins passed in, delete quota of |type| from each that | 561 // Walk through the origins passed in, delete quota of |type| from each that |
547 // isn't protected. | 562 // isn't protected. |
548 std::set<GURL>::const_iterator origin; | 563 std::set<GURL>::const_iterator origin; |
549 for (origin = origins.begin(); origin != origins.end(); ++origin) { | 564 for (origin = origins.begin(); origin != origins.end(); ++origin) { |
550 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) | 565 if (special_storage_policy_->IsStorageProtected(origin->GetOrigin())) |
551 continue; | 566 continue; |
552 ++quota_managed_origins_to_delete_count_; | 567 ++quota_managed_origins_to_delete_count_; |
553 quota_manager_->DeleteOriginData( | 568 quota_manager_->DeleteOriginData( |
554 origin->GetOrigin(), type, | 569 origin->GetOrigin(), type, |
| 570 BrowsingDataRemover::GenerateQuotaClientMask(remove_mask_), |
555 base::Bind(&BrowsingDataRemover::OnQuotaManagedOriginDeletion, | 571 base::Bind(&BrowsingDataRemover::OnQuotaManagedOriginDeletion, |
556 base::Unretained(this))); | 572 base::Unretained(this))); |
557 } | 573 } |
558 | 574 |
559 --quota_managed_storage_types_to_delete_count_; | 575 --quota_managed_storage_types_to_delete_count_; |
560 CheckQuotaManagedDataDeletionStatus(); | 576 CheckQuotaManagedDataDeletionStatus(); |
561 } | 577 } |
562 | 578 |
563 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( | 579 void BrowsingDataRemover::OnQuotaManagedOriginDeletion( |
564 quota::QuotaStatusCode status) { | 580 quota::QuotaStatusCode status) { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 void BrowsingDataRemover::ClearCookiesOnIOThread( | 629 void BrowsingDataRemover::ClearCookiesOnIOThread( |
614 net::URLRequestContextGetter* rq_context) { | 630 net::URLRequestContextGetter* rq_context) { |
615 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 631 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
616 net::CookieStore* cookie_store = rq_context-> | 632 net::CookieStore* cookie_store = rq_context-> |
617 GetURLRequestContext()->cookie_store(); | 633 GetURLRequestContext()->cookie_store(); |
618 cookie_store->DeleteAllCreatedBetweenAsync( | 634 cookie_store->DeleteAllCreatedBetweenAsync( |
619 delete_begin_, delete_end_, | 635 delete_begin_, delete_end_, |
620 base::Bind(&BrowsingDataRemover::OnClearedCookies, | 636 base::Bind(&BrowsingDataRemover::OnClearedCookies, |
621 base::Unretained(this))); | 637 base::Unretained(this))); |
622 } | 638 } |
OLD | NEW |