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

Side by Side Diff: webkit/database/database_quota_client_unittest.cc

Issue 7583053: Add MessageLoopProxy::current (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: No need for MessageLoopProxy destruction observer. Created 9 years, 4 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
« no previous file with comments | « webkit/database/database_connections.cc ('k') | webkit/database/database_tracker_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <map> 5 #include <map>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/memory/scoped_callback_factory.h" 8 #include "base/memory/scoped_callback_factory.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/message_loop_proxy.h" 10 #include "base/message_loop_proxy.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 origins_info->push_back(OriginInfo(iter->second)); 64 origins_info->push_back(OriginInfo(iter->second));
65 } 65 }
66 return true; 66 return true;
67 } 67 }
68 68
69 virtual int DeleteDataForOrigin( 69 virtual int DeleteDataForOrigin(
70 const string16& origin_id, 70 const string16& origin_id,
71 net::CompletionCallback* callback) { 71 net::CompletionCallback* callback) {
72 ++delete_called_count_; 72 ++delete_called_count_;
73 if (async_delete()) { 73 if (async_delete()) {
74 base::MessageLoopProxy::CreateForCurrentThread()->PostTask(FROM_HERE, 74 base::MessageLoopProxy::current()->PostTask(FROM_HERE,
75 NewRunnableMethod(this, 75 NewRunnableMethod(this,
76 &MockDatabaseTracker::AsyncDeleteDataForOrigin, callback)); 76 &MockDatabaseTracker::AsyncDeleteDataForOrigin, callback));
77 return net::ERR_IO_PENDING; 77 return net::ERR_IO_PENDING;
78 } 78 }
79 return net::OK; 79 return net::OK;
80 } 80 }
81 81
82 void AsyncDeleteDataForOrigin(net::CompletionCallback* callback) { 82 void AsyncDeleteDataForOrigin(net::CompletionCallback* callback) {
83 callback->Run(net::OK); 83 callback->Run(net::OK);
84 } 84 }
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 std::set<GURL> origins_; 198 std::set<GURL> origins_;
199 quota::StorageType type_; 199 quota::StorageType type_;
200 quota::QuotaStatusCode delete_status_; 200 quota::QuotaStatusCode delete_status_;
201 scoped_refptr<MockDatabaseTracker> mock_tracker_; 201 scoped_refptr<MockDatabaseTracker> mock_tracker_;
202 base::ScopedCallbackFactory<DatabaseQuotaClientTest> callback_factory_; 202 base::ScopedCallbackFactory<DatabaseQuotaClientTest> callback_factory_;
203 }; 203 };
204 204
205 205
206 TEST_F(DatabaseQuotaClientTest, GetOriginUsage) { 206 TEST_F(DatabaseQuotaClientTest, GetOriginUsage) {
207 DatabaseQuotaClient client( 207 DatabaseQuotaClient client(
208 base::MessageLoopProxy::CreateForCurrentThread(), 208 base::MessageLoopProxy::current(),
209 mock_tracker()); 209 mock_tracker());
210 210
211 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kTemp)); 211 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kTemp));
212 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); 212 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm));
213 213
214 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); 214 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000);
215 EXPECT_EQ(1000, GetOriginUsage(&client, kOriginA, kTemp)); 215 EXPECT_EQ(1000, GetOriginUsage(&client, kOriginA, kTemp));
216 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); 216 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm));
217 217
218 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kPerm)); 218 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kPerm));
219 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kTemp)); 219 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kTemp));
220 } 220 }
221 221
222 TEST_F(DatabaseQuotaClientTest, GetOriginsForHost) { 222 TEST_F(DatabaseQuotaClientTest, GetOriginsForHost) {
223 DatabaseQuotaClient client( 223 DatabaseQuotaClient client(
224 base::MessageLoopProxy::CreateForCurrentThread(), 224 base::MessageLoopProxy::current(),
225 mock_tracker()); 225 mock_tracker());
226 226
227 EXPECT_EQ(kOriginA.host(), kOriginB.host()); 227 EXPECT_EQ(kOriginA.host(), kOriginB.host());
228 EXPECT_NE(kOriginA.host(), kOriginOther.host()); 228 EXPECT_NE(kOriginA.host(), kOriginOther.host());
229 229
230 std::set<GURL> origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); 230 std::set<GURL> origins = GetOriginsForHost(&client, kTemp, kOriginA.host());
231 EXPECT_TRUE(origins.empty()); 231 EXPECT_TRUE(origins.empty());
232 232
233 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); 233 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000);
234 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); 234 origins = GetOriginsForHost(&client, kTemp, kOriginA.host());
235 EXPECT_EQ(origins.size(), 1ul); 235 EXPECT_EQ(origins.size(), 1ul);
236 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); 236 EXPECT_TRUE(origins.find(kOriginA) != origins.end());
237 237
238 mock_tracker()->AddMockDatabase(kOriginB, "barDB", 1000); 238 mock_tracker()->AddMockDatabase(kOriginB, "barDB", 1000);
239 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); 239 origins = GetOriginsForHost(&client, kTemp, kOriginA.host());
240 EXPECT_EQ(origins.size(), 2ul); 240 EXPECT_EQ(origins.size(), 2ul);
241 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); 241 EXPECT_TRUE(origins.find(kOriginA) != origins.end());
242 EXPECT_TRUE(origins.find(kOriginB) != origins.end()); 242 EXPECT_TRUE(origins.find(kOriginB) != origins.end());
243 243
244 EXPECT_TRUE(GetOriginsForHost(&client, kPerm, kOriginA.host()).empty()); 244 EXPECT_TRUE(GetOriginsForHost(&client, kPerm, kOriginA.host()).empty());
245 EXPECT_TRUE(GetOriginsForHost(&client, kTemp, kOriginOther.host()).empty()); 245 EXPECT_TRUE(GetOriginsForHost(&client, kTemp, kOriginOther.host()).empty());
246 } 246 }
247 247
248 TEST_F(DatabaseQuotaClientTest, GetOriginsForType) { 248 TEST_F(DatabaseQuotaClientTest, GetOriginsForType) {
249 DatabaseQuotaClient client( 249 DatabaseQuotaClient client(
250 base::MessageLoopProxy::CreateForCurrentThread(), 250 base::MessageLoopProxy::current(),
251 mock_tracker()); 251 mock_tracker());
252 252
253 EXPECT_TRUE(GetOriginsForType(&client, kTemp).empty()); 253 EXPECT_TRUE(GetOriginsForType(&client, kTemp).empty());
254 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); 254 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty());
255 255
256 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); 256 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000);
257 std::set<GURL> origins = GetOriginsForType(&client, kTemp); 257 std::set<GURL> origins = GetOriginsForType(&client, kTemp);
258 EXPECT_EQ(origins.size(), 1ul); 258 EXPECT_EQ(origins.size(), 1ul);
259 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); 259 EXPECT_TRUE(origins.find(kOriginA) != origins.end());
260 260
261 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); 261 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty());
262 } 262 }
263 263
264 TEST_F(DatabaseQuotaClientTest, DeleteOriginData) { 264 TEST_F(DatabaseQuotaClientTest, DeleteOriginData) {
265 DatabaseQuotaClient client( 265 DatabaseQuotaClient client(
266 base::MessageLoopProxy::CreateForCurrentThread(), 266 base::MessageLoopProxy::current(),
267 mock_tracker()); 267 mock_tracker());
268 268
269 // Perm deletions are short circuited in the Client and 269 // Perm deletions are short circuited in the Client and
270 // should not reach the DatabaseTracker. 270 // should not reach the DatabaseTracker.
271 EXPECT_TRUE(DeleteOriginData(&client, kPerm, kOriginA)); 271 EXPECT_TRUE(DeleteOriginData(&client, kPerm, kOriginA));
272 EXPECT_EQ(0, mock_tracker()->delete_called_count()); 272 EXPECT_EQ(0, mock_tracker()->delete_called_count());
273 273
274 mock_tracker()->set_async_delete(false); 274 mock_tracker()->set_async_delete(false);
275 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); 275 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA));
276 EXPECT_EQ(1, mock_tracker()->delete_called_count()); 276 EXPECT_EQ(1, mock_tracker()->delete_called_count());
277 277
278 mock_tracker()->set_async_delete(true); 278 mock_tracker()->set_async_delete(true);
279 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); 279 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA));
280 EXPECT_EQ(2, mock_tracker()->delete_called_count()); 280 EXPECT_EQ(2, mock_tracker()->delete_called_count());
281 } 281 }
282 282
283 } // namespace webkit_database 283 } // namespace webkit_database
OLDNEW
« no previous file with comments | « webkit/database/database_connections.cc ('k') | webkit/database/database_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698