OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_APPCACHE_MOCK_APPCACHE_STORAGE_H_ | 5 #ifndef WEBKIT_APPCACHE_MOCK_APPCACHE_STORAGE_H_ |
6 #define WEBKIT_APPCACHE_MOCK_APPCACHE_STORAGE_H_ | 6 #define WEBKIT_APPCACHE_MOCK_APPCACHE_STORAGE_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 // For use in unit tests. | 23 // For use in unit tests. |
24 // Note: This class is also being used to bootstrap our development efforts. | 24 // Note: This class is also being used to bootstrap our development efforts. |
25 // We can get layout tests up and running, and back fill with real storage | 25 // We can get layout tests up and running, and back fill with real storage |
26 // somewhat in parallel. | 26 // somewhat in parallel. |
27 class MockAppCacheStorage : public AppCacheStorage { | 27 class MockAppCacheStorage : public AppCacheStorage { |
28 public: | 28 public: |
29 explicit MockAppCacheStorage(AppCacheService* service); | 29 explicit MockAppCacheStorage(AppCacheService* service); |
30 virtual ~MockAppCacheStorage(); | 30 virtual ~MockAppCacheStorage(); |
31 | 31 |
32 virtual void GetAllInfo(Delegate* delegate) {} // not implemented | 32 virtual void GetAllInfo(Delegate* delegate); |
33 virtual void LoadCache(int64 id, Delegate* delegate); | 33 virtual void LoadCache(int64 id, Delegate* delegate); |
34 virtual void LoadOrCreateGroup(const GURL& manifest_url, Delegate* delegate); | 34 virtual void LoadOrCreateGroup(const GURL& manifest_url, Delegate* delegate); |
35 virtual void StoreGroupAndNewestCache( | 35 virtual void StoreGroupAndNewestCache( |
36 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate); | 36 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate); |
37 virtual void FindResponseForMainRequest( | 37 virtual void FindResponseForMainRequest( |
38 const GURL& url, const GURL& preferred_manifest_url, Delegate* delegate); | 38 const GURL& url, const GURL& preferred_manifest_url, Delegate* delegate); |
39 virtual void FindResponseForSubRequest( | 39 virtual void FindResponseForSubRequest( |
40 AppCache* cache, const GURL& url, | 40 AppCache* cache, const GURL& url, |
41 AppCacheEntry* found_entry, AppCacheEntry* found_fallback_entry, | 41 AppCacheEntry* found_entry, AppCacheEntry* found_fallback_entry, |
42 bool * found_network_namespace); | 42 bool * found_network_namespace); |
43 virtual void MarkEntryAsForeign(const GURL& entry_url, int64 cache_id); | 43 virtual void MarkEntryAsForeign(const GURL& entry_url, int64 cache_id); |
44 virtual void MakeGroupObsolete(AppCacheGroup* group, Delegate* delegate); | 44 virtual void MakeGroupObsolete(AppCacheGroup* group, Delegate* delegate); |
45 virtual AppCacheResponseReader* CreateResponseReader( | 45 virtual AppCacheResponseReader* CreateResponseReader( |
46 const GURL& manifest_url, int64 response_id); | 46 const GURL& manifest_url, int64 response_id); |
47 virtual AppCacheResponseWriter* CreateResponseWriter(const GURL& origin); | 47 virtual AppCacheResponseWriter* CreateResponseWriter(const GURL& origin); |
48 virtual void DoomResponses( | 48 virtual void DoomResponses( |
49 const GURL& manifest_url, const std::vector<int64>& response_ids); | 49 const GURL& manifest_url, const std::vector<int64>& response_ids); |
50 virtual void DeleteResponses( | 50 virtual void DeleteResponses( |
51 const GURL& manifest_url, const std::vector<int64>& response_ids); | 51 const GURL& manifest_url, const std::vector<int64>& response_ids); |
52 virtual void PurgeMemory() {} | 52 virtual void PurgeMemory() {} |
53 | 53 |
54 private: | 54 private: |
55 friend class AppCacheRequestHandlerTest; | 55 friend class AppCacheRequestHandlerTest; |
56 friend class AppCacheUpdateJobTest; | 56 friend class AppCacheUpdateJobTest; |
57 | 57 |
58 typedef base::hash_map<int64, scoped_refptr<AppCache> > StoredCacheMap; | 58 typedef base::hash_map<int64, scoped_refptr<AppCache> > StoredCacheMap; |
59 typedef std::map<GURL, scoped_refptr<AppCacheGroup> > StoredGroupMap; | 59 typedef std::map<GURL, scoped_refptr<AppCacheGroup> > StoredGroupMap; |
60 typedef std::set<int64> DoomedResponseIds; | 60 typedef std::set<int64> DoomedResponseIds; |
61 | 61 |
| 62 void ProcessGetAllInfo(scoped_refptr<DelegateReference> delegate_ref); |
62 void ProcessLoadCache( | 63 void ProcessLoadCache( |
63 int64 id, scoped_refptr<DelegateReference> delegate_ref); | 64 int64 id, scoped_refptr<DelegateReference> delegate_ref); |
64 void ProcessLoadOrCreateGroup( | 65 void ProcessLoadOrCreateGroup( |
65 const GURL& manifest_url, scoped_refptr<DelegateReference> delegate_ref); | 66 const GURL& manifest_url, scoped_refptr<DelegateReference> delegate_ref); |
66 void ProcessStoreGroupAndNewestCache( | 67 void ProcessStoreGroupAndNewestCache( |
67 scoped_refptr<AppCacheGroup> group, scoped_refptr<AppCache> newest_cache, | 68 scoped_refptr<AppCacheGroup> group, scoped_refptr<AppCache> newest_cache, |
68 scoped_refptr<DelegateReference> delegate_ref); | 69 scoped_refptr<DelegateReference> delegate_ref); |
69 void ProcessMakeGroupObsolete( | 70 void ProcessMakeGroupObsolete( |
70 scoped_refptr<AppCacheGroup> group, | 71 scoped_refptr<AppCacheGroup> group, |
71 scoped_refptr<DelegateReference> delegate_ref); | 72 scoped_refptr<DelegateReference> delegate_ref); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 bool network_namespace) { | 139 bool network_namespace) { |
139 simulate_find_main_resource_ = false; | 140 simulate_find_main_resource_ = false; |
140 simulate_find_sub_resource_ = true; | 141 simulate_find_sub_resource_ = true; |
141 simulated_found_entry_ = entry; | 142 simulated_found_entry_ = entry; |
142 simulated_found_fallback_entry_ = fallback_entry; | 143 simulated_found_fallback_entry_ = fallback_entry; |
143 simulated_found_cache_id_ = kNoCacheId; // N/A to sub resource loads | 144 simulated_found_cache_id_ = kNoCacheId; // N/A to sub resource loads |
144 simulated_found_manifest_url_ = GURL(); // N/A to sub resource loads | 145 simulated_found_manifest_url_ = GURL(); // N/A to sub resource loads |
145 simulated_found_network_namespace_ = network_namespace; | 146 simulated_found_network_namespace_ = network_namespace; |
146 } | 147 } |
147 | 148 |
| 149 void SimulateGetAllInfo(AppCacheInfoCollection* info) { |
| 150 simulated_appcache_info_ = info; |
| 151 } |
| 152 |
148 StoredCacheMap stored_caches_; | 153 StoredCacheMap stored_caches_; |
149 StoredGroupMap stored_groups_; | 154 StoredGroupMap stored_groups_; |
150 DoomedResponseIds doomed_response_ids_; | 155 DoomedResponseIds doomed_response_ids_; |
151 scoped_ptr<AppCacheDiskCache> disk_cache_; | 156 scoped_ptr<AppCacheDiskCache> disk_cache_; |
152 std::deque<Task*> pending_tasks_; | 157 std::deque<Task*> pending_tasks_; |
153 ScopedRunnableMethodFactory<MockAppCacheStorage> method_factory_; | 158 ScopedRunnableMethodFactory<MockAppCacheStorage> method_factory_; |
154 | 159 |
155 bool simulate_make_group_obsolete_failure_; | 160 bool simulate_make_group_obsolete_failure_; |
156 bool simulate_store_group_and_newest_cache_failure_; | 161 bool simulate_store_group_and_newest_cache_failure_; |
157 | 162 |
158 bool simulate_find_main_resource_; | 163 bool simulate_find_main_resource_; |
159 bool simulate_find_sub_resource_; | 164 bool simulate_find_sub_resource_; |
160 AppCacheEntry simulated_found_entry_; | 165 AppCacheEntry simulated_found_entry_; |
161 AppCacheEntry simulated_found_fallback_entry_; | 166 AppCacheEntry simulated_found_fallback_entry_; |
162 int64 simulated_found_cache_id_; | 167 int64 simulated_found_cache_id_; |
163 GURL simulated_found_fallback_url_; | 168 GURL simulated_found_fallback_url_; |
164 GURL simulated_found_manifest_url_; | 169 GURL simulated_found_manifest_url_; |
165 bool simulated_found_network_namespace_; | 170 bool simulated_found_network_namespace_; |
| 171 scoped_refptr<AppCacheInfoCollection> simulated_appcache_info_; |
166 | 172 |
167 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, BasicFindMainResponse); | 173 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, BasicFindMainResponse); |
168 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, | 174 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, |
169 BasicFindMainFallbackResponse); | 175 BasicFindMainFallbackResponse); |
170 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, CreateGroup); | 176 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, CreateGroup); |
171 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, FindMainResponseExclusions); | 177 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, FindMainResponseExclusions); |
172 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, | 178 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, |
173 FindMainResponseWithMultipleCandidates); | 179 FindMainResponseWithMultipleCandidates); |
174 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, LoadCache_FarHit); | 180 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, LoadCache_FarHit); |
175 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, LoadGroupAndCache_FarHit); | 181 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, LoadGroupAndCache_FarHit); |
176 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, MakeGroupObsolete); | 182 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, MakeGroupObsolete); |
177 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, StoreNewGroup); | 183 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, StoreNewGroup); |
178 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, StoreExistingGroup); | 184 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, StoreExistingGroup); |
179 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, | 185 FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest, |
180 StoreExistingGroupExistingCache); | 186 StoreExistingGroupExistingCache); |
| 187 FRIEND_TEST_ALL_PREFIXES(AppCacheServiceTest, DeleteAppCachesForOrigin); |
181 | 188 |
182 DISALLOW_COPY_AND_ASSIGN(MockAppCacheStorage); | 189 DISALLOW_COPY_AND_ASSIGN(MockAppCacheStorage); |
183 }; | 190 }; |
184 | 191 |
185 } // namespace appcache | 192 } // namespace appcache |
186 | 193 |
187 #endif // WEBKIT_APPCACHE_MOCK_APPCACHE_STORAGE_H_ | 194 #endif // WEBKIT_APPCACHE_MOCK_APPCACHE_STORAGE_H_ |
OLD | NEW |