| 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;
|
|
|