| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ | 5 #ifndef WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |
| 6 #define WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ | 6 #define WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 24 // GetOriginsModifiedSince. Neither GetOriginsModifiedSince nor DeleteOriginData | 24 // GetOriginsModifiedSince. Neither GetOriginsModifiedSince nor DeleteOriginData |
| 25 // touches the actual origin data stored in the profile. | 25 // touches the actual origin data stored in the profile. |
| 26 class MockQuotaManager : public QuotaManager { | 26 class MockQuotaManager : public QuotaManager { |
| 27 public: | 27 public: |
| 28 // Contains the essential bits of information about an origin that the | 28 // Contains the essential bits of information about an origin that the |
| 29 // MockQuotaManager needs to understand: the origin itself, the StorageType, | 29 // MockQuotaManager needs to understand: the origin itself, the StorageType, |
| 30 // and its modification time. | 30 // and its modification time. |
| 31 struct OriginInfo { | 31 struct OriginInfo { |
| 32 OriginInfo(const GURL& origin, | 32 OriginInfo(const GURL& origin, |
| 33 StorageType type, | 33 StorageType type, |
| 34 int quota_client_mask, |
| 34 base::Time modified); | 35 base::Time modified); |
| 35 ~OriginInfo(); | 36 ~OriginInfo(); |
| 36 | 37 |
| 37 GURL origin; | 38 GURL origin; |
| 38 StorageType type; | 39 StorageType type; |
| 40 int quota_client_mask; |
| 39 base::Time modified; | 41 base::Time modified; |
| 40 }; | 42 }; |
| 41 | 43 |
| 42 MockQuotaManager(bool is_incognito, | 44 MockQuotaManager(bool is_incognito, |
| 43 const FilePath& profile_path, | 45 const FilePath& profile_path, |
| 44 base::MessageLoopProxy* io_thread, | 46 base::MessageLoopProxy* io_thread, |
| 45 base::MessageLoopProxy* db_thread, | 47 base::MessageLoopProxy* db_thread, |
| 46 SpecialStoragePolicy* special_storage_policy); | 48 SpecialStoragePolicy* special_storage_policy); |
| 47 | 49 |
| 48 virtual ~MockQuotaManager(); | 50 virtual ~MockQuotaManager(); |
| 49 | 51 |
| 50 // Adds an origin to the canned list that will be searched through via | 52 // Adds an origin to the canned list that will be searched through via |
| 51 // GetOriginsModifiedSince. | 53 // GetOriginsModifiedSince. The caller must provide |quota_client_mask| |
| 52 bool AddOrigin(const GURL& origin, StorageType type, base::Time modified); | 54 // which specifies the types of QuotaClients this canned origin contains |
| 55 // as a bitmask built from QuotaClient::IDs. |
| 56 bool AddOrigin(const GURL& origin, |
| 57 StorageType type, |
| 58 int quota_client_mask, |
| 59 base::Time modified); |
| 53 | 60 |
| 54 // Checks an origin and type against the origins that have been added via | 61 // Checks an origin and type against the origins that have been added via |
| 55 // AddOrigin and removed via DeleteOriginData. If the origin exists in the | 62 // AddOrigin and removed via DeleteOriginData. If the origin exists in the |
| 56 // canned list with the proper StorageType, returns true. | 63 // canned list with the proper StorageType and client, returns true. |
| 57 bool OriginHasData(const GURL& origin, StorageType type) const; | 64 bool OriginHasData(const GURL& origin, |
| 65 StorageType type, |
| 66 QuotaClient::ID quota_client) const; |
| 58 | 67 |
| 59 // Overrides QuotaManager's implementation with a canned implementation that | 68 // Overrides QuotaManager's implementation with a canned implementation that |
| 60 // allows clients to set up the origin database that should be queried. This | 69 // allows clients to set up the origin database that should be queried. This |
| 61 // method will only search through the origins added explicitly via AddOrigin. | 70 // method will only search through the origins added explicitly via AddOrigin. |
| 62 virtual void GetOriginsModifiedSince( | 71 virtual void GetOriginsModifiedSince( |
| 63 StorageType type, | 72 StorageType type, |
| 64 base::Time modified_since, | 73 base::Time modified_since, |
| 65 const GetOriginsCallback& callback) OVERRIDE; | 74 const GetOriginsCallback& callback) OVERRIDE; |
| 66 | 75 |
| 67 // Removes an origin from the canned list of origins, but doesn't touch | 76 // Removes an origin from the canned list of origins, but doesn't touch |
| 68 // anything on disk. | 77 // anything on disk. The caller must provide |quota_client_mask| which |
| 78 // specifies the types of QuotaClients which should be removed from this |
| 79 // origin as a bitmask built from QuotaClient::IDs. Setting the mask to |
| 80 // QuotaClient::kAllClientsMask will remove all clients from the origin, |
| 81 // regardless of type. |
| 69 virtual void DeleteOriginData(const GURL& origin, | 82 virtual void DeleteOriginData(const GURL& origin, |
| 70 StorageType type, | 83 StorageType type, |
| 84 int quota_client_mask, |
| 71 const StatusCallback& callback) OVERRIDE; | 85 const StatusCallback& callback) OVERRIDE; |
| 72 | 86 |
| 73 private: | 87 private: |
| 74 class GetModifiedSinceTask; | 88 class GetModifiedSinceTask; |
| 75 class DeleteOriginDataTask; | 89 class DeleteOriginDataTask; |
| 76 | 90 |
| 77 // The list of stored origins that have been added via AddOrigin. | 91 // The list of stored origins that have been added via AddOrigin. |
| 78 std::vector<OriginInfo> origins_; | 92 std::vector<OriginInfo> origins_; |
| 79 | 93 |
| 80 DISALLOW_COPY_AND_ASSIGN(MockQuotaManager); | 94 DISALLOW_COPY_AND_ASSIGN(MockQuotaManager); |
| 81 }; | 95 }; |
| 82 | 96 |
| 83 } // namespace quota | 97 } // namespace quota |
| 84 | 98 |
| 85 #endif // WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ | 99 #endif // WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_ |
| OLD | NEW |