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..bac3fcc02a56b034b44c0f7d39707d1dc5a6fe54 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,16 +75,20 @@ 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) { |
} |
MockQuotaManager::OriginInfo::~OriginInfo() {} |
-MockQuotaManager::MockQuotaManager(bool is_incognito, |
- const FilePath& profile_path, base::MessageLoopProxy* io_thread, |
+MockQuotaManager::MockQuotaManager( |
+ bool is_incognito, |
+ const FilePath& profile_path, |
+ base::MessageLoopProxy* io_thread, |
base::MessageLoopProxy* db_thread, |
SpecialStoragePolicy* special_storage_policy) |
: QuotaManager(is_incognito, profile_path, io_thread, db_thread, |
@@ -93,18 +97,25 @@ MockQuotaManager::MockQuotaManager(bool is_incognito, |
MockQuotaManager::~MockQuotaManager() {} |
-bool MockQuotaManager::AddOrigin(const GURL& origin, StorageType type, |
+bool MockQuotaManager::AddOrigin( |
+ const GURL& origin, |
+ StorageType type, |
+ int quota_client_mask, |
base::Time modified) { |
- origins_.push_back(OriginInfo(origin, type, modified)); |
+ origins_.push_back(OriginInfo(origin, type, quota_client_mask, modified)); |
return true; |
} |
-bool MockQuotaManager::OriginHasData(const GURL& origin, |
- StorageType type) const { |
+bool MockQuotaManager::OriginHasData( |
+ const GURL& origin, |
+ 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) |
return true; |
} |
return false; |
@@ -125,13 +136,19 @@ void MockQuotaManager::GetOriginsModifiedSince( |
callback))->Start(); |
} |
-void MockQuotaManager::DeleteOriginData(const GURL& origin, StorageType type, |
- const StatusCallback& callback) { |
+void MockQuotaManager::DeleteOriginData( |
+ const GURL& origin, |
+ StorageType type, |
+ 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; |
} |
} |