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

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: Inadvertant include. 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..97e4ee1aff745bc2435e8b04b62c048364dd4472 100644
--- a/chrome/browser/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data_remover.cc
@@ -111,7 +111,7 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
waiting_for_clear_quota_managed_data_(false),
remove_mask_(0),
remove_origin_(GURL()),
- remove_protected_(false) {
+ include_protected_(false) {
DCHECK(profile);
}
@@ -136,7 +136,7 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
waiting_for_clear_quota_managed_data_(false),
remove_mask_(0),
remove_origin_(GURL()),
- remove_protected_(false) {
+ include_protected_(false) {
DCHECK(profile);
}
@@ -165,18 +165,19 @@ 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,
+ bool include_protected_origins) {
+ RemoveImpl(remove_mask, GURL(), include_protected_origins);
}
void BrowsingDataRemover::RemoveImpl(int remove_mask,
const GURL& origin,
- bool remove_protected_origins) {
+ bool include_protected_origins) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
set_removing(true);
remove_mask_ = remove_mask;
remove_origin_ = origin;
- remove_protected_ = remove_protected_origins;
+ include_protected_ = include_protected_origins;
if (remove_mask & REMOVE_HISTORY) {
HistoryService* history_service =
@@ -308,7 +309,7 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask,
if (remove_mask & REMOVE_LOCAL_STORAGE) {
BrowserContext::GetDOMStorageContext(profile_)->DeleteDataModifiedSince(
- delete_begin_);
+ delete_begin_, include_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() || include_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 (!include_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