Index: webkit/quota/mock_quota_manager.h |
diff --git a/webkit/quota/mock_quota_manager.h b/webkit/quota/mock_quota_manager.h |
deleted file mode 100644 |
index e195e61bb199b54dd32a3531214851179e768e0d..0000000000000000000000000000000000000000 |
--- a/webkit/quota/mock_quota_manager.h |
+++ /dev/null |
@@ -1,197 +0,0 @@ |
-// 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. |
- |
-#ifndef WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |
-#define WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |
- |
-#include <vector> |
-#include <string> |
- |
-#include "base/memory/scoped_ptr.h" |
-#include "googleurl/src/gurl.h" |
-#include "webkit/quota/quota_client.h" |
-#include "webkit/quota/quota_manager.h" |
-#include "webkit/quota/quota_task.h" |
-#include "webkit/quota/quota_types.h" |
- |
-namespace quota { |
- |
-// Mocks the pieces of QuotaManager's interface. |
-// |
-// For usage/quota tracking test: |
-// Usage and quota information can be updated by following private helper |
-// methods: SetQuota() and UpdateUsage(). |
-// |
-// For time-based deletion test: |
-// Origins can be added to the mock by calling AddOrigin, and that list of |
-// origins is then searched through in GetOriginsModifiedSince. |
-// Neither GetOriginsModifiedSince nor DeleteOriginData touches the actual |
-// origin data stored in the profile. |
-class MockQuotaManager : public QuotaManager { |
- public: |
- MockQuotaManager(bool is_incognito, |
- const base::FilePath& profile_path, |
- base::SingleThreadTaskRunner* io_thread, |
- base::SequencedTaskRunner* db_thread, |
- SpecialStoragePolicy* special_storage_policy); |
- |
- // Overrides QuotaManager's implementation. The internal usage data is |
- // updated when MockQuotaManagerProxy::NotifyStorageModified() is |
- // called. The internal quota value can be updated by calling |
- // a helper method MockQuotaManagerProxy::SetQuota(). |
- virtual void GetUsageAndQuota( |
- const GURL& origin, |
- quota::StorageType type, |
- const GetUsageAndQuotaCallback& callback) OVERRIDE; |
- |
- // Overrides QuotaManager's implementation with a canned implementation that |
- // allows clients to set up the origin database that should be queried. This |
- // method will only search through the origins added explicitly via AddOrigin. |
- virtual void GetOriginsModifiedSince( |
- StorageType type, |
- base::Time modified_since, |
- const GetOriginsCallback& callback) OVERRIDE; |
- |
- // Removes an origin from the canned list of origins, but doesn't touch |
- // anything on disk. The caller must provide |quota_client_mask| which |
- // specifies the types of QuotaClients which should be removed from this |
- // origin as a bitmask built from QuotaClient::IDs. Setting the mask to |
- // QuotaClient::kAllClientsMask will remove all clients from the origin, |
- // regardless of type. |
- virtual void DeleteOriginData(const GURL& origin, |
- StorageType type, |
- int quota_client_mask, |
- const StatusCallback& callback) OVERRIDE; |
- |
- // Helper method for updating internal quota info. |
- void SetQuota(const GURL& origin, StorageType type, int64 quota); |
- |
- // Helper methods for timed-deletion testing: |
- // Adds an origin to the canned list that will be searched through via |
- // GetOriginsModifiedSince. The caller must provide |quota_client_mask| |
- // which specifies the types of QuotaClients this canned origin contains |
- // as a bitmask built from QuotaClient::IDs. |
- bool AddOrigin(const GURL& origin, |
- StorageType type, |
- int quota_client_mask, |
- base::Time modified); |
- |
- // Helper methods for timed-deletion testing: |
- // Checks an origin and type against the origins that have been added via |
- // AddOrigin and removed via DeleteOriginData. If the origin exists in the |
- // canned list with the proper StorageType and client, returns true. |
- bool OriginHasData(const GURL& origin, |
- StorageType type, |
- QuotaClient::ID quota_client) const; |
- |
- protected: |
- virtual ~MockQuotaManager(); |
- |
- private: |
- friend class MockQuotaManagerProxy; |
- |
- // Contains the essential bits of information about an origin that the |
- // MockQuotaManager needs to understand for time-based deletion: |
- // the origin itself, the StorageType and its modification time. |
- struct OriginInfo { |
- OriginInfo(const GURL& origin, |
- StorageType type, |
- int quota_client_mask, |
- base::Time modified); |
- ~OriginInfo(); |
- |
- GURL origin; |
- StorageType type; |
- int quota_client_mask; |
- base::Time modified; |
- }; |
- |
- // Contains the essential information for each origin for usage/quota testing. |
- // (Ideally this should probably merged into the above struct, but for |
- // regular usage/quota testing we hardly need modified time but only |
- // want to keep usage and quota information, so this struct exists. |
- struct StorageInfo { |
- StorageInfo(); |
- ~StorageInfo(); |
- int64 usage; |
- int64 quota; |
- }; |
- |
- typedef std::pair<GURL, StorageType> OriginAndType; |
- typedef std::map<OriginAndType, StorageInfo> UsageAndQuotaMap; |
- |
- // This must be called via MockQuotaManagerProxy. |
- void UpdateUsage(const GURL& origin, StorageType type, int64 delta); |
- void DidGetModifiedSince(const GetOriginsCallback& callback, |
- std::set<GURL>* origins, |
- StorageType storage_type); |
- void DidDeleteOriginData(const StatusCallback& callback, |
- QuotaStatusCode status); |
- |
- // The list of stored origins that have been added via AddOrigin. |
- std::vector<OriginInfo> origins_; |
- base::WeakPtrFactory<MockQuotaManager> weak_factory_; |
- UsageAndQuotaMap usage_and_quota_map_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MockQuotaManager); |
-}; |
- |
-// MockQuotaManagerProxy. |
-class MockQuotaManagerProxy : public QuotaManagerProxy { |
- public: |
- // It is ok to give NULL to |quota_manager|. |
- MockQuotaManagerProxy(MockQuotaManager* quota_manager, |
- base::SingleThreadTaskRunner* task_runner); |
- |
- virtual void RegisterClient(QuotaClient* client) OVERRIDE; |
- |
- void SimulateQuotaManagerDestroyed(); |
- |
- // We don't mock them. |
- virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {} |
- virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {} |
- |
- // Validates the |client_id| and updates the internal access count |
- // which can be accessed via notify_storage_accessed_count(). |
- // The also records the |origin| and |type| in last_notified_origin_ and |
- // last_notified_type_. |
- virtual void NotifyStorageAccessed(QuotaClient::ID client_id, |
- const GURL& origin, |
- StorageType type) OVERRIDE; |
- |
- // Records the |origin|, |type| and |delta| as last_notified_origin_, |
- // last_notified_type_ and last_notified_delta_ respecitvely. |
- // If non-null MockQuotaManager is given to the constructor this also |
- // updates the manager's internal usage information. |
- virtual void NotifyStorageModified(QuotaClient::ID client_id, |
- const GURL& origin, |
- StorageType type, |
- int64 delta) OVERRIDE; |
- |
- int notify_storage_accessed_count() const { return storage_accessed_count_; } |
- int notify_storage_modified_count() const { return storage_modified_count_; } |
- GURL last_notified_origin() const { return last_notified_origin_; } |
- StorageType last_notified_type() const { return last_notified_type_; } |
- int64 last_notified_delta() const { return last_notified_delta_; } |
- |
- protected: |
- virtual ~MockQuotaManagerProxy(); |
- |
- private: |
- MockQuotaManager* mock_manager() const { |
- return static_cast<MockQuotaManager*>(quota_manager()); |
- } |
- |
- int storage_accessed_count_; |
- int storage_modified_count_; |
- GURL last_notified_origin_; |
- StorageType last_notified_type_; |
- int64 last_notified_delta_; |
- |
- QuotaClient* registered_client_; |
-}; |
- |
-} // namespace quota |
- |
-#endif // WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |