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 #include "webkit/appcache/mock_appcache_storage.h" | 5 #include "webkit/appcache/mock_appcache_storage.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/stl_util-inl.h" | 10 #include "base/stl_util-inl.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 MockAppCacheStorage::~MockAppCacheStorage() { | 43 MockAppCacheStorage::~MockAppCacheStorage() { |
44 STLDeleteElements(&pending_tasks_); | 44 STLDeleteElements(&pending_tasks_); |
45 } | 45 } |
46 | 46 |
47 void MockAppCacheStorage::GetAllInfo(Delegate* delegate) { | 47 void MockAppCacheStorage::GetAllInfo(Delegate* delegate) { |
48 ScheduleTask(method_factory_.NewRunnableMethod( | 48 ScheduleTask(method_factory_.NewRunnableMethod( |
49 &MockAppCacheStorage::ProcessGetAllInfo, | 49 &MockAppCacheStorage::ProcessGetAllInfo, |
50 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); | 50 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); |
51 } | 51 } |
52 | 52 |
| 53 void MockAppCacheStorage::SyncGetAllInfo(Delegate* delegate) { |
| 54 ProcessGetAllInfo(make_scoped_refptr(GetOrCreateDelegateReference(delegate))); |
| 55 } |
| 56 |
53 void MockAppCacheStorage::LoadCache(int64 id, Delegate* delegate) { | 57 void MockAppCacheStorage::LoadCache(int64 id, Delegate* delegate) { |
54 DCHECK(delegate); | 58 DCHECK(delegate); |
55 AppCache* cache = working_set_.GetCache(id); | 59 AppCache* cache = working_set_.GetCache(id); |
56 if (ShouldCacheLoadAppearAsync(cache)) { | 60 if (ShouldCacheLoadAppearAsync(cache)) { |
57 ScheduleTask(method_factory_.NewRunnableMethod( | 61 ScheduleTask(method_factory_.NewRunnableMethod( |
58 &MockAppCacheStorage::ProcessLoadCache, | 62 &MockAppCacheStorage::ProcessLoadCache, |
59 id, make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); | 63 id, make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); |
60 return; | 64 return; |
61 } | 65 } |
62 ProcessLoadCache(id, GetOrCreateDelegateReference(delegate)); | 66 ProcessLoadCache(id, GetOrCreateDelegateReference(delegate)); |
63 } | 67 } |
64 | 68 |
65 void MockAppCacheStorage::LoadOrCreateGroup( | 69 void MockAppCacheStorage::LoadOrCreateGroup( |
66 const GURL& manifest_url, Delegate* delegate) { | 70 const GURL& manifest_url, Delegate* delegate) { |
67 DCHECK(delegate); | 71 DCHECK(delegate); |
68 AppCacheGroup* group = working_set_.GetGroup(manifest_url); | 72 AppCacheGroup* group = working_set_.GetGroup(manifest_url); |
69 if (ShouldGroupLoadAppearAsync(group)) { | 73 if (ShouldGroupLoadAppearAsync(group)) { |
70 ScheduleTask(method_factory_.NewRunnableMethod( | 74 ScheduleTask(method_factory_.NewRunnableMethod( |
71 &MockAppCacheStorage::ProcessLoadOrCreateGroup, | 75 &MockAppCacheStorage::ProcessLoadOrCreateGroup, |
72 manifest_url, | 76 manifest_url, |
73 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); | 77 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); |
74 return; | 78 return; |
75 } | 79 } |
76 ProcessLoadOrCreateGroup( | 80 ProcessLoadOrCreateGroup( |
77 manifest_url, GetOrCreateDelegateReference(delegate)); | 81 manifest_url, GetOrCreateDelegateReference(delegate)); |
78 } | 82 } |
79 | 83 |
| 84 void MockAppCacheStorage::SyncLoadOrCreateGroup( |
| 85 const GURL& manifest_url, Delegate* delegate) { |
| 86 DCHECK(delegate); |
| 87 ProcessLoadOrCreateGroup( |
| 88 manifest_url, |
| 89 make_scoped_refptr(GetOrCreateDelegateReference(delegate))); |
| 90 } |
| 91 |
80 void MockAppCacheStorage::StoreGroupAndNewestCache( | 92 void MockAppCacheStorage::StoreGroupAndNewestCache( |
81 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate) { | 93 AppCacheGroup* group, AppCache* newest_cache, Delegate* delegate) { |
82 DCHECK(group && delegate && newest_cache); | 94 DCHECK(group && delegate && newest_cache); |
83 | 95 |
84 // Always make this operation look async. | 96 // Always make this operation look async. |
85 ScheduleTask(method_factory_.NewRunnableMethod( | 97 ScheduleTask(method_factory_.NewRunnableMethod( |
86 &MockAppCacheStorage::ProcessStoreGroupAndNewestCache, | 98 &MockAppCacheStorage::ProcessStoreGroupAndNewestCache, |
87 make_scoped_refptr(group), | 99 make_scoped_refptr(group), |
88 make_scoped_refptr(newest_cache), | 100 make_scoped_refptr(newest_cache), |
89 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); | 101 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 AppCacheGroup* group, Delegate* delegate) { | 150 AppCacheGroup* group, Delegate* delegate) { |
139 DCHECK(group && delegate); | 151 DCHECK(group && delegate); |
140 | 152 |
141 // Always make this method look async. | 153 // Always make this method look async. |
142 ScheduleTask(method_factory_.NewRunnableMethod( | 154 ScheduleTask(method_factory_.NewRunnableMethod( |
143 &MockAppCacheStorage::ProcessMakeGroupObsolete, | 155 &MockAppCacheStorage::ProcessMakeGroupObsolete, |
144 make_scoped_refptr(group), | 156 make_scoped_refptr(group), |
145 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); | 157 make_scoped_refptr(GetOrCreateDelegateReference(delegate)))); |
146 } | 158 } |
147 | 159 |
| 160 void MockAppCacheStorage::SyncMakeGroupObsolete( |
| 161 AppCacheGroup* group, Delegate* delegate) { |
| 162 DCHECK(group && delegate); |
| 163 ProcessMakeGroupObsolete( |
| 164 make_scoped_refptr(group), |
| 165 make_scoped_refptr(GetOrCreateDelegateReference(delegate))); |
| 166 } |
| 167 |
148 AppCacheResponseReader* MockAppCacheStorage::CreateResponseReader( | 168 AppCacheResponseReader* MockAppCacheStorage::CreateResponseReader( |
149 const GURL& manifest_url, int64 response_id) { | 169 const GURL& manifest_url, int64 response_id) { |
150 return new AppCacheResponseReader(response_id, disk_cache()); | 170 return new AppCacheResponseReader(response_id, disk_cache()); |
151 } | 171 } |
152 | 172 |
153 AppCacheResponseWriter* MockAppCacheStorage::CreateResponseWriter( | 173 AppCacheResponseWriter* MockAppCacheStorage::CreateResponseWriter( |
154 const GURL& manifest_url) { | 174 const GURL& manifest_url) { |
155 return new AppCacheResponseWriter(NewResponseId(), disk_cache()); | 175 return new AppCacheResponseWriter(NewResponseId(), disk_cache()); |
156 } | 176 } |
157 | 177 |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 bool MockAppCacheStorage::ShouldCacheLoadAppearAsync(const AppCache* cache) { | 501 bool MockAppCacheStorage::ShouldCacheLoadAppearAsync(const AppCache* cache) { |
482 if (!cache) | 502 if (!cache) |
483 return true; | 503 return true; |
484 | 504 |
485 // If the 'stored' ref is the only ref, real storage will have to load from | 505 // If the 'stored' ref is the only ref, real storage will have to load from |
486 // the database. | 506 // the database. |
487 return IsCacheStored(cache) && cache->HasOneRef(); | 507 return IsCacheStored(cache) && cache->HasOneRef(); |
488 } | 508 } |
489 | 509 |
490 } // namespace appcache | 510 } // namespace appcache |
OLD | NEW |