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

Side by Side Diff: webkit/appcache/appcache_storage_impl.h

Issue 7210006: AppCaches which belong to hosted apps are not protected from deletion (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Test beautification. Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_APPCACHE_STORAGE_IMPL_H_ 5 #ifndef WEBKIT_APPCACHE_APPCACHE_STORAGE_IMPL_H_
6 #define WEBKIT_APPCACHE_APPCACHE_STORAGE_IMPL_H_ 6 #define WEBKIT_APPCACHE_APPCACHE_STORAGE_IMPL_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 13 matching lines...) Expand all
24 explicit AppCacheStorageImpl(AppCacheService* service); 24 explicit AppCacheStorageImpl(AppCacheService* service);
25 virtual ~AppCacheStorageImpl(); 25 virtual ~AppCacheStorageImpl();
26 26
27 void Initialize(const FilePath& cache_directory, 27 void Initialize(const FilePath& cache_directory,
28 base::MessageLoopProxy* cache_thread); 28 base::MessageLoopProxy* cache_thread);
29 void Disable(); 29 void Disable();
30 bool is_disabled() const { return is_disabled_; } 30 bool is_disabled() const { return is_disabled_; }
31 31
32 // AppCacheStorage methods, see the base class for doc comments. 32 // AppCacheStorage methods, see the base class for doc comments.
33 virtual void GetAllInfo(Delegate* delegate); 33 virtual void GetAllInfo(Delegate* delegate);
34 virtual void SyncGetAllInfo(Delegate* delegate);
34 virtual void LoadCache(int64 id, Delegate* delegate); 35 virtual void LoadCache(int64 id, Delegate* delegate);
35 virtual void LoadOrCreateGroup(const GURL& manifest_url, Delegate* delegate); 36 virtual void LoadOrCreateGroup(const GURL& manifest_url, Delegate* delegate);
37 virtual void SyncLoadOrCreateGroup(const GURL& manifest_url,
38 Delegate* delegate);
36 virtual void StoreGroupAndNewestCache( 39 virtual void StoreGroupAndNewestCache(
37 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate); 40 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate);
38 virtual void FindResponseForMainRequest( 41 virtual void FindResponseForMainRequest(
39 const GURL& url, const GURL& preferred_manifest_url, Delegate* delegate); 42 const GURL& url, const GURL& preferred_manifest_url, Delegate* delegate);
40 virtual void FindResponseForSubRequest( 43 virtual void FindResponseForSubRequest(
41 AppCache* cache, const GURL& url, 44 AppCache* cache, const GURL& url,
42 AppCacheEntry* found_entry, AppCacheEntry* found_fallback_entry, 45 AppCacheEntry* found_entry, AppCacheEntry* found_fallback_entry,
43 bool* found_network_namespace); 46 bool* found_network_namespace);
44 virtual void MarkEntryAsForeign(const GURL& entry_url, int64 cache_id); 47 virtual void MarkEntryAsForeign(const GURL& entry_url, int64 cache_id);
45 virtual void MakeGroupObsolete(AppCacheGroup* group, Delegate* delegate); 48 virtual void MakeGroupObsolete(AppCacheGroup* group, Delegate* delegate);
49 virtual void SyncMakeGroupObsolete(AppCacheGroup* group, Delegate* delegate);
46 virtual AppCacheResponseReader* CreateResponseReader( 50 virtual AppCacheResponseReader* CreateResponseReader(
47 const GURL& manifest_url, int64 response_id); 51 const GURL& manifest_url, int64 response_id);
48 virtual AppCacheResponseWriter* CreateResponseWriter( 52 virtual AppCacheResponseWriter* CreateResponseWriter(
49 const GURL& manifest_url); 53 const GURL& manifest_url);
50 virtual void DoomResponses( 54 virtual void DoomResponses(
51 const GURL& manifest_url, const std::vector<int64>& response_ids); 55 const GURL& manifest_url, const std::vector<int64>& response_ids);
52 virtual void DeleteResponses( 56 virtual void DeleteResponses(
53 const GURL& manifest_url, const std::vector<int64>& response_ids); 57 const GURL& manifest_url, const std::vector<int64>& response_ids);
54 virtual void PurgeMemory(); 58 virtual void PurgeMemory();
55 59
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 // disk cache and cannot continue. 154 // disk cache and cannot continue.
151 bool is_disabled_; 155 bool is_disabled_;
152 156
153 // TODO(michaeln): use a disk_cache per group (manifest or group_id). 157 // TODO(michaeln): use a disk_cache per group (manifest or group_id).
154 scoped_ptr<AppCacheDiskCache> disk_cache_; 158 scoped_ptr<AppCacheDiskCache> disk_cache_;
155 159
156 // Used to short-circuit certain operations without having to schedule 160 // Used to short-circuit certain operations without having to schedule
157 // any tasks on the background database thread. 161 // any tasks on the background database thread.
158 std::deque<Task*> pending_simple_tasks_; 162 std::deque<Task*> pending_simple_tasks_;
159 ScopedRunnableMethodFactory<AppCacheStorageImpl> method_factory_; 163 ScopedRunnableMethodFactory<AppCacheStorageImpl> method_factory_;
160
161 FRIEND_TEST_ALL_PREFIXES(ChromeAppCacheServiceTest, KeepOnDestruction);
162 FRIEND_TEST_ALL_PREFIXES(ChromeAppCacheServiceTest, RemoveOnDestruction);
163 }; 164 };
164 165
165 } // namespace appcache 166 } // namespace appcache
166 167
167 #endif // WEBKIT_APPCACHE_APPCACHE_STORAGE_IMPL_H_ 168 #endif // WEBKIT_APPCACHE_APPCACHE_STORAGE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698