Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2958)

Unified Diff: chrome/browser/browsing_data_remover.cc

Issue 10413072: Teaching BrowsingDataRemover how to delete application data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data_remover.cc
diff --git a/chrome/browser/browsing_data_remover.cc b/chrome/browser/browsing_data_remover.cc
index 0772e9ff1c8b62616a2db5cd9b053b66ce9c1603..7e04df41a880f32a627681fd7f49f6c76294f0dd 100644
--- a/chrome/browser/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data_remover.cc
@@ -165,8 +165,9 @@ int BrowsingDataRemover::GenerateQuotaClientMask(int remove_mask) {
return quota_client_mask;
}
-void BrowsingDataRemover::Remove(int remove_mask) {
- RemoveImpl(remove_mask, GURL(), false);
+void BrowsingDataRemover::Remove(int remove_mask,
+ RemoveOriginSet origin_set) {
+ RemoveImpl(remove_mask, GURL(), origin_set == REMOVE_FROM_ALL_ORIGINS);
}
void BrowsingDataRemover::RemoveImpl(int remove_mask,
@@ -308,7 +309,7 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask,
if (remove_mask & REMOVE_LOCAL_STORAGE) {
BrowserContext::GetDOMStorageContext(profile_)->DeleteDataModifiedSince(
- delete_begin_);
+ delete_begin_, remove_protected_);
}
if (remove_mask & REMOVE_INDEXEDDB || remove_mask & REMOVE_WEBSQL ||
@@ -588,11 +589,11 @@ void BrowsingDataRemover::ClearQuotaManagedDataOnIOThread() {
quota_managed_origins_to_delete_count_ = 0;
quota_managed_storage_types_to_delete_count_ = 2;
- if (delete_begin_ == base::Time()) {
- // If we're deleting since the beginning of time, ask the QuotaManager for
- // all origins with persistent quota modified within the user-specified
- // timeframe, and deal with the resulting set in
- // OnGotPersistentQuotaManagedOrigins.
+ if (delete_begin_ == base::Time() || remove_protected_) {
+ // If we're deleting since the beginning of time, or we're removing
+ // protected origins, then ask the QuotaManager for all origins with
+ // persistent quota modified within the user-specified timeframe, and deal
+ // with the resulting set in OnGotPersistentQuotaManagedOrigins.
quota_manager_->GetOriginsModifiedSince(
quota::kStorageTypePersistent, delete_begin_,
base::Bind(&BrowsingDataRemover::OnGotQuotaManagedOrigins,
@@ -619,7 +620,8 @@ void BrowsingDataRemover::OnGotQuotaManagedOrigins(
for (origin = origins.begin(); origin != origins.end(); ++origin) {
if (!BrowsingDataHelper::IsValidScheme(origin->scheme()))
continue;
- if (special_storage_policy_->IsStorageProtected(origin->GetOrigin()))
+ if (!remove_protected_ &&
+ special_storage_policy_->IsStorageProtected(origin->GetOrigin()))
continue;
if (!remove_origin_.is_empty() && remove_origin_ != origin->GetOrigin())
continue;

Powered by Google App Engine
This is Rietveld 408576698