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

Unified Diff: webkit/quota/mock_quota_manager.cc

Issue 7839029: QuotaManager::DeleteOriginData now allows deletion of specific QuotaClients (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Back from the dead! Created 8 years, 11 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: webkit/quota/mock_quota_manager.cc
diff --git a/webkit/quota/mock_quota_manager.cc b/webkit/quota/mock_quota_manager.cc
index 52d27351e60015b0483889370e9e2827c657a1c3..fd66facdc2c87a1427dac2d64a7aa8677be5b823 100644
--- a/webkit/quota/mock_quota_manager.cc
+++ b/webkit/quota/mock_quota_manager.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -75,9 +75,11 @@ class MockQuotaManager::DeleteOriginDataTask : public QuotaThreadTask {
MockQuotaManager::OriginInfo::OriginInfo(
const GURL& origin,
StorageType type,
+ int quota_client_mask,
base::Time modified)
: origin(origin),
type(type),
+ quota_client_mask(quota_client_mask),
modified(modified) {
}
@@ -94,17 +96,19 @@ MockQuotaManager::MockQuotaManager(bool is_incognito,
MockQuotaManager::~MockQuotaManager() {}
bool MockQuotaManager::AddOrigin(const GURL& origin, StorageType type,
- base::Time modified) {
- origins_.push_back(OriginInfo(origin, type, modified));
+ int quota_client_mask, base::Time modified) {
+ origins_.push_back(OriginInfo(origin, type, quota_client_mask, modified));
return true;
}
bool MockQuotaManager::OriginHasData(const GURL& origin,
- StorageType type) const {
+ StorageType type, QuotaClient::ID quota_client) const {
for (std::vector<OriginInfo>::const_iterator current = origins_.begin();
current != origins_.end();
++current) {
- if (current->origin == origin && current->type == type)
+ if (current->origin == origin && current->type == type &&
+ (current->quota_client_mask & quota_client ||
+ current->quota_client_mask == QuotaClient::kAllClientsMask))
kinuko 2012/01/19 13:53:11 the second check is not necessary?
Mike West 2012/01/19 16:51:00 Done.
return true;
}
return false;
@@ -126,12 +130,15 @@ void MockQuotaManager::GetOriginsModifiedSince(
}
void MockQuotaManager::DeleteOriginData(const GURL& origin, StorageType type,
- const StatusCallback& callback) {
+ int quota_client_mask, const StatusCallback& callback) {
for (std::vector<OriginInfo>::iterator current = origins_.begin();
current != origins_.end();
++current) {
if (current->origin == origin && current->type == type) {
- origins_.erase(current);
+ // Modify the mask: if it's 0 after "deletion", remove the origin.
+ current->quota_client_mask &= ~quota_client_mask;
+ if (current->quota_client_mask == 0)
+ origins_.erase(current);
break;
}
}

Powered by Google App Engine
This is Rietveld 408576698