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