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

Side by Side Diff: webkit/appcache/appcache_storage_impl_unittest.cc

Issue 8070001: Use base::Callback in Quota related code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: choke lint Created 9 years, 2 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 #include <stack> 5 #include <stack>
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/threading/thread.h" 8 #include "base/threading/thread.h"
9 #include "base/synchronization/waitable_event.h" 9 #include "base/synchronization/waitable_event.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 public: 124 public:
125 MockQuotaManager() 125 MockQuotaManager()
126 : QuotaManager(true /* is_incognito */, FilePath(), 126 : QuotaManager(true /* is_incognito */, FilePath(),
127 io_thread->message_loop_proxy(), 127 io_thread->message_loop_proxy(),
128 db_thread->message_loop_proxy(), 128 db_thread->message_loop_proxy(),
129 NULL), 129 NULL),
130 async_(false) {} 130 async_(false) {}
131 131
132 virtual void GetUsageAndQuota( 132 virtual void GetUsageAndQuota(
133 const GURL& origin, quota::StorageType type, 133 const GURL& origin, quota::StorageType type,
134 GetUsageAndQuotaCallback* callback) { 134 GetUsageAndQuotaCallback callback) OVERRIDE {
awong 2011/09/29 18:05:15 const ref.
tzik 2011/10/11 04:53:57 Done.
135 EXPECT_EQ(kOrigin, origin); 135 EXPECT_EQ(kOrigin, origin);
136 EXPECT_EQ(quota::kStorageTypeTemporary, type); 136 EXPECT_EQ(quota::kStorageTypeTemporary, type);
137 if (async_) { 137 if (async_) {
138 MessageLoop::current()->PostTask(FROM_HERE, 138 MessageLoop::current()->PostTask(FROM_HERE,
139 NewRunnableMethod(this, &MockQuotaManager::CallCallbackAndDelete, 139 NewRunnableMethod(this, &MockQuotaManager::CallCallback,
awong 2011/09/29 18:05:15 base::Bind?
tzik 2011/10/11 04:53:57 Later.
140 callback)); 140 callback));
141 return; 141 return;
142 } 142 }
143 CallCallbackAndDelete(callback); 143 CallCallback(callback);
awong 2011/09/29 18:05:15 Maybe just do callback.Run(quota::kQuotaStatusOk,
144 } 144 }
145 145
146 void CallCallbackAndDelete(GetUsageAndQuotaCallback* callback) { 146 void CallCallback(GetUsageAndQuotaCallback callback) {
147 callback->Run(quota::kQuotaStatusOk, 0, kMockQuota); 147 callback.Run(quota::kQuotaStatusOk, 0, kMockQuota);
148 delete callback;
149 } 148 }
150 149
151 bool async_; 150 bool async_;
152 }; 151 };
153 152
154 class MockQuotaManagerProxy : public quota::QuotaManagerProxy { 153 class MockQuotaManagerProxy : public quota::QuotaManagerProxy {
155 public: 154 public:
156 MockQuotaManagerProxy() 155 MockQuotaManagerProxy()
157 : QuotaManagerProxy(NULL, NULL), 156 : QuotaManagerProxy(NULL, NULL),
158 notify_storage_accessed_count_(0), 157 notify_storage_accessed_count_(0),
159 notify_storage_modified_count_(0), 158 notify_storage_modified_count_(0),
160 last_delta_(0), 159 last_delta_(0),
161 mock_manager_(new MockQuotaManager) { 160 mock_manager_(new MockQuotaManager) {
162 manager_ = mock_manager_; 161 manager_ = mock_manager_;
163 } 162 }
164 163
165 virtual void NotifyStorageAccessed(quota::QuotaClient::ID client_id, 164 virtual void NotifyStorageAccessed(quota::QuotaClient::ID client_id,
166 const GURL& origin, 165 const GURL& origin,
167 quota::StorageType type) { 166 quota::StorageType type) OVERRIDE {
168 EXPECT_EQ(quota::QuotaClient::kAppcache, client_id); 167 EXPECT_EQ(quota::QuotaClient::kAppcache, client_id);
169 EXPECT_EQ(quota::kStorageTypeTemporary, type); 168 EXPECT_EQ(quota::kStorageTypeTemporary, type);
170 ++notify_storage_accessed_count_; 169 ++notify_storage_accessed_count_;
171 last_origin_ = origin; 170 last_origin_ = origin;
172 } 171 }
173 172
174 virtual void NotifyStorageModified(quota::QuotaClient::ID client_id, 173 virtual void NotifyStorageModified(quota::QuotaClient::ID client_id,
175 const GURL& origin, 174 const GURL& origin,
176 quota::StorageType type, 175 quota::StorageType type,
177 int64 delta) { 176 int64 delta) OVERRIDE {
178 EXPECT_EQ(quota::QuotaClient::kAppcache, client_id); 177 EXPECT_EQ(quota::QuotaClient::kAppcache, client_id);
179 EXPECT_EQ(quota::kStorageTypeTemporary, type); 178 EXPECT_EQ(quota::kStorageTypeTemporary, type);
180 ++notify_storage_modified_count_; 179 ++notify_storage_modified_count_;
181 last_origin_ = origin; 180 last_origin_ = origin;
182 last_delta_ = delta; 181 last_delta_ = delta;
183 } 182 }
184 183
185 // Not needed for our tests. 184 // Not needed for our tests.
186 virtual void RegisterClient(quota::QuotaClient* client) {} 185 virtual void RegisterClient(quota::QuotaClient* client) OVERRIDE {}
187 virtual void NotifyOriginInUse(const GURL& origin) {} 186 virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {}
188 virtual void NotifyOriginNoLongerInUse(const GURL& origin) {} 187 virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {}
189 188
190 int notify_storage_accessed_count_; 189 int notify_storage_accessed_count_;
191 int notify_storage_modified_count_; 190 int notify_storage_modified_count_;
192 GURL last_origin_; 191 GURL last_origin_;
193 int last_delta_; 192 int last_delta_;
194 scoped_refptr<MockQuotaManager> mock_manager_; 193 scoped_refptr<MockQuotaManager> mock_manager_;
195 }; 194 };
196 195
197 // Helper class run a test on our io_thread. The io_thread 196 // Helper class run a test on our io_thread. The io_thread
198 // is spun up once and reused for all tests. 197 // is spun up once and reused for all tests.
199 template <class Method> 198 template <class Method>
200 class WrapperTask : public Task { 199 class WrapperTask : public Task {
201 public: 200 public:
202 WrapperTask(AppCacheStorageImplTest* test, Method method) 201 WrapperTask(AppCacheStorageImplTest* test, Method method)
203 : test_(test), method_(method) { 202 : test_(test), method_(method) {
204 } 203 }
205 204
206 virtual void Run() { 205 virtual void Run() OVERRIDE {
207 test_->SetUpTest(); 206 test_->SetUpTest();
208 207
209 // Ensure InitTask execution prior to conducting a test. 208 // Ensure InitTask execution prior to conducting a test.
210 test_->FlushDbThreadTasks(); 209 test_->FlushDbThreadTasks();
211 210
212 // We also have to wait for InitTask completion call to be performed 211 // We also have to wait for InitTask completion call to be performed
213 // on the IO thread prior to running the test. Its guaranteed to be 212 // on the IO thread prior to running the test. Its guaranteed to be
214 // queued by this time. 213 // queued by this time.
215 MessageLoop::current()->PostTask(FROM_HERE, 214 MessageLoop::current()->PostTask(FROM_HERE,
216 NewRunnableFunction(&RunMethod, test_, method_)); 215 NewRunnableFunction(&RunMethod, test_, method_));
(...skipping 1098 matching lines...) Expand 10 before | Expand all | Expand 10 after
1315 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet); 1314 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet);
1316 } 1315 }
1317 1316
1318 // That's all folks! 1317 // That's all folks!
1319 1318
1320 } // namespace appcache 1319 } // namespace appcache
1321 1320
1322 // AppCacheStorageImplTest is expected to always live longer than the 1321 // AppCacheStorageImplTest is expected to always live longer than the
1323 // runnable methods. This lets us call NewRunnableMethod on its instances. 1322 // runnable methods. This lets us call NewRunnableMethod on its instances.
1324 DISABLE_RUNNABLE_METHOD_REFCOUNT(appcache::AppCacheStorageImplTest); 1323 DISABLE_RUNNABLE_METHOD_REFCOUNT(appcache::AppCacheStorageImplTest);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698