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

Side by Side Diff: content/browser/cache_storage/cache_storage_manager_unittest.cc

Issue 1297093002: Cache Storage API: Hook up to chrome://settings/cookies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/browser/cache_storage/cache_storage_manager.h" 5 #include "content/browser/cache_storage/cache_storage_manager.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "base/stl_util.h" 11 #include "base/stl_util.h"
12 #include "base/thread_task_runner_handle.h" 12 #include "base/thread_task_runner_handle.h"
13 #include "content/browser/cache_storage/cache_storage_quota_client.h" 13 #include "content/browser/cache_storage/cache_storage_quota_client.h"
14 #include "content/browser/fileapi/chrome_blob_storage_context.h" 14 #include "content/browser/fileapi/chrome_blob_storage_context.h"
15 #include "content/browser/quota/mock_quota_manager_proxy.h" 15 #include "content/browser/quota/mock_quota_manager_proxy.h"
16 #include "content/public/browser/browser_thread.h" 16 #include "content/public/browser/browser_thread.h"
17 #include "content/public/browser/cache_storage_usage_info.h"
17 #include "content/public/test/test_browser_context.h" 18 #include "content/public/test/test_browser_context.h"
18 #include "content/public/test/test_browser_thread_bundle.h" 19 #include "content/public/test/test_browser_thread_bundle.h"
19 #include "net/url_request/url_request_context_getter.h" 20 #include "net/url_request/url_request_context_getter.h"
20 #include "storage/browser/blob/blob_storage_context.h" 21 #include "storage/browser/blob/blob_storage_context.h"
21 #include "storage/browser/quota/quota_manager_proxy.h" 22 #include "storage/browser/quota/quota_manager_proxy.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
23 24
24 namespace content { 25 namespace content {
25 26
26 class CacheStorageManagerTest : public testing::Test { 27 class CacheStorageManagerTest : public testing::Test {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 CacheStorageError error, 99 CacheStorageError error,
99 scoped_ptr<ServiceWorkerResponse> response, 100 scoped_ptr<ServiceWorkerResponse> response,
100 scoped_ptr<storage::BlobDataHandle> blob_data_handle) { 101 scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
101 callback_error_ = error; 102 callback_error_ = error;
102 callback_cache_response_ = response.Pass(); 103 callback_cache_response_ = response.Pass();
103 // Deliberately drop the data handle as only the url is being tested. 104 // Deliberately drop the data handle as only the url is being tested.
104 run_loop->Quit(); 105 run_loop->Quit();
105 } 106 }
106 107
107 bool Open(const GURL& origin, const std::string& cache_name) { 108 bool Open(const GURL& origin, const std::string& cache_name) {
108 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 109 base::RunLoop loop;
109 cache_manager_->OpenCache( 110 cache_manager_->OpenCache(
110 origin, cache_name, 111 origin, cache_name,
111 base::Bind(&CacheStorageManagerTest::CacheAndErrorCallback, 112 base::Bind(&CacheStorageManagerTest::CacheAndErrorCallback,
112 base::Unretained(this), base::Unretained(loop.get()))); 113 base::Unretained(this), base::Unretained(&loop)));
113 loop->Run(); 114 loop.Run();
114 115
115 bool error = callback_error_ != CACHE_STORAGE_OK; 116 bool error = callback_error_ != CACHE_STORAGE_OK;
116 if (error) 117 if (error)
117 EXPECT_TRUE(!callback_cache_.get()); 118 EXPECT_TRUE(!callback_cache_.get());
118 else 119 else
119 EXPECT_TRUE(callback_cache_.get()); 120 EXPECT_TRUE(callback_cache_.get());
120 return !error; 121 return !error;
121 } 122 }
122 123
123 bool Has(const GURL& origin, const std::string& cache_name) { 124 bool Has(const GURL& origin, const std::string& cache_name) {
124 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 125 base::RunLoop loop;
125 cache_manager_->HasCache( 126 cache_manager_->HasCache(
126 origin, cache_name, 127 origin, cache_name,
127 base::Bind(&CacheStorageManagerTest::BoolAndErrorCallback, 128 base::Bind(&CacheStorageManagerTest::BoolAndErrorCallback,
128 base::Unretained(this), base::Unretained(loop.get()))); 129 base::Unretained(this), base::Unretained(&loop)));
129 loop->Run(); 130 loop.Run();
130 131
131 return callback_bool_; 132 return callback_bool_;
132 } 133 }
133 134
134 bool Delete(const GURL& origin, const std::string& cache_name) { 135 bool Delete(const GURL& origin, const std::string& cache_name) {
135 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 136 base::RunLoop loop;
136 cache_manager_->DeleteCache( 137 cache_manager_->DeleteCache(
137 origin, cache_name, 138 origin, cache_name,
138 base::Bind(&CacheStorageManagerTest::BoolAndErrorCallback, 139 base::Bind(&CacheStorageManagerTest::BoolAndErrorCallback,
139 base::Unretained(this), base::Unretained(loop.get()))); 140 base::Unretained(this), base::Unretained(&loop)));
140 loop->Run(); 141 loop.Run();
141 142
142 return callback_bool_; 143 return callback_bool_;
143 } 144 }
144 145
145 bool Keys(const GURL& origin) { 146 bool Keys(const GURL& origin) {
146 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 147 base::RunLoop loop;
147 cache_manager_->EnumerateCaches( 148 cache_manager_->EnumerateCaches(
148 origin, 149 origin, base::Bind(&CacheStorageManagerTest::StringsAndErrorCallback,
149 base::Bind(&CacheStorageManagerTest::StringsAndErrorCallback, 150 base::Unretained(this), base::Unretained(&loop)));
150 base::Unretained(this), base::Unretained(loop.get()))); 151 loop.Run();
151 loop->Run();
152 152
153 return callback_error_ == CACHE_STORAGE_OK; 153 return callback_error_ == CACHE_STORAGE_OK;
154 } 154 }
155 155
156 bool StorageMatch(const GURL& origin, 156 bool StorageMatch(const GURL& origin,
157 const std::string& cache_name, 157 const std::string& cache_name,
158 const GURL& url) { 158 const GURL& url) {
159 scoped_ptr<ServiceWorkerFetchRequest> request( 159 scoped_ptr<ServiceWorkerFetchRequest> request(
160 new ServiceWorkerFetchRequest()); 160 new ServiceWorkerFetchRequest());
161 request->url = url; 161 request->url = url;
162 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 162 base::RunLoop loop;
163 cache_manager_->MatchCache( 163 cache_manager_->MatchCache(
164 origin, cache_name, request.Pass(), 164 origin, cache_name, request.Pass(),
165 base::Bind(&CacheStorageManagerTest::CacheMatchCallback, 165 base::Bind(&CacheStorageManagerTest::CacheMatchCallback,
166 base::Unretained(this), base::Unretained(loop.get()))); 166 base::Unretained(this), base::Unretained(&loop)));
167 loop->Run(); 167 loop.Run();
168 168
169 return callback_error_ == CACHE_STORAGE_OK; 169 return callback_error_ == CACHE_STORAGE_OK;
170 } 170 }
171 171
172 bool StorageMatchAll(const GURL& origin, const GURL& url) { 172 bool StorageMatchAll(const GURL& origin, const GURL& url) {
173 scoped_ptr<ServiceWorkerFetchRequest> request( 173 scoped_ptr<ServiceWorkerFetchRequest> request(
174 new ServiceWorkerFetchRequest()); 174 new ServiceWorkerFetchRequest());
175 request->url = url; 175 request->url = url;
176 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 176 base::RunLoop loop;
177 cache_manager_->MatchAllCaches( 177 cache_manager_->MatchAllCaches(
178 origin, request.Pass(), 178 origin, request.Pass(),
179 base::Bind(&CacheStorageManagerTest::CacheMatchCallback, 179 base::Bind(&CacheStorageManagerTest::CacheMatchCallback,
180 base::Unretained(this), base::Unretained(loop.get()))); 180 base::Unretained(this), base::Unretained(&loop)));
181 loop->Run(); 181 loop.Run();
182 182
183 return callback_error_ == CACHE_STORAGE_OK; 183 return callback_error_ == CACHE_STORAGE_OK;
184 } 184 }
185 185
186 bool CachePut(const scoped_refptr<CacheStorageCache>& cache, 186 bool CachePut(const scoped_refptr<CacheStorageCache>& cache,
187 const GURL& url) { 187 const GURL& url) {
188 ServiceWorkerFetchRequest request; 188 ServiceWorkerFetchRequest request;
189 ServiceWorkerResponse response; 189 ServiceWorkerResponse response;
190 request.url = url; 190 request.url = url;
191 response.url = url; 191 response.url = url;
192 192
193 CacheStorageBatchOperation operation; 193 CacheStorageBatchOperation operation;
194 operation.operation_type = CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT; 194 operation.operation_type = CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT;
195 operation.request = request; 195 operation.request = request;
196 operation.response = response; 196 operation.response = response;
197 197
198 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 198 base::RunLoop loop;
199 cache->BatchOperation( 199 cache->BatchOperation(
200 std::vector<CacheStorageBatchOperation>(1, operation), 200 std::vector<CacheStorageBatchOperation>(1, operation),
201 base::Bind(&CacheStorageManagerTest::CachePutCallback, 201 base::Bind(&CacheStorageManagerTest::CachePutCallback,
202 base::Unretained(this), base::Unretained(loop.get()))); 202 base::Unretained(this), base::Unretained(&loop)));
203 loop->Run(); 203 loop.Run();
204 204
205 return callback_error_ == CACHE_STORAGE_OK; 205 return callback_error_ == CACHE_STORAGE_OK;
206 } 206 }
207 207
208 bool CacheMatch(const scoped_refptr<CacheStorageCache>& cache, 208 bool CacheMatch(const scoped_refptr<CacheStorageCache>& cache,
209 const GURL& url) { 209 const GURL& url) {
210 scoped_ptr<ServiceWorkerFetchRequest> request( 210 scoped_ptr<ServiceWorkerFetchRequest> request(
211 new ServiceWorkerFetchRequest()); 211 new ServiceWorkerFetchRequest());
212 request->url = url; 212 request->url = url;
213 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 213 base::RunLoop loop;
214 cache->Match( 214 cache->Match(request.Pass(),
215 request.Pass(), 215 base::Bind(&CacheStorageManagerTest::CacheMatchCallback,
216 base::Bind(&CacheStorageManagerTest::CacheMatchCallback, 216 base::Unretained(this), base::Unretained(&loop)));
217 base::Unretained(this), base::Unretained(loop.get()))); 217 loop.Run();
218 loop->Run();
219 218
220 return callback_error_ == CACHE_STORAGE_OK; 219 return callback_error_ == CACHE_STORAGE_OK;
221 } 220 }
222 221
223 CacheStorage* CacheStorageForOrigin(const GURL& origin) { 222 CacheStorage* CacheStorageForOrigin(const GURL& origin) {
224 return cache_manager_->FindOrCreateCacheStorage(origin); 223 return cache_manager_->FindOrCreateCacheStorage(origin);
225 } 224 }
226 225
226 int64 GetOriginUsage(const GURL& origin) {
227 base::RunLoop loop;
228 cache_manager_->GetOriginUsage(
229 origin, base::Bind(&CacheStorageManagerTest::UsageCallback,
230 base::Unretained(this), base::Unretained(&loop)));
231 loop.Run();
232 return callback_usage_;
233 }
234
235 void UsageCallback(base::RunLoop* run_loop, int64 usage) {
236 callback_usage_ = usage;
237 run_loop->Quit();
238 }
239
240 std::vector<CacheStorageUsageInfo> GetAllOriginsUsage() {
241 base::RunLoop loop;
242 cache_manager_->GetAllOriginsUsage(
243 base::Bind(&CacheStorageManagerTest::AllOriginsUsageCallback,
244 base::Unretained(this), base::Unretained(&loop)));
245 loop.Run();
246 return callback_all_origins_usage_;
247 }
248
249 void AllOriginsUsageCallback(
250 base::RunLoop* run_loop,
251 const std::vector<CacheStorageUsageInfo>& usage) {
252 callback_all_origins_usage_ = usage;
253 run_loop->Quit();
254 }
255
227 protected: 256 protected:
228 TestBrowserContext browser_context_; 257 TestBrowserContext browser_context_;
229 TestBrowserThreadBundle browser_thread_bundle_; 258 TestBrowserThreadBundle browser_thread_bundle_;
230 259
231 base::ScopedTempDir temp_dir_; 260 base::ScopedTempDir temp_dir_;
232 scoped_refptr<MockQuotaManagerProxy> quota_manager_proxy_; 261 scoped_refptr<MockQuotaManagerProxy> quota_manager_proxy_;
233 scoped_ptr<CacheStorageManager> cache_manager_; 262 scoped_ptr<CacheStorageManager> cache_manager_;
234 263
235 scoped_refptr<CacheStorageCache> callback_cache_; 264 scoped_refptr<CacheStorageCache> callback_cache_;
236 int callback_bool_; 265 int callback_bool_;
237 CacheStorageError callback_error_; 266 CacheStorageError callback_error_;
238 scoped_ptr<ServiceWorkerResponse> callback_cache_response_; 267 scoped_ptr<ServiceWorkerResponse> callback_cache_response_;
239 std::vector<std::string> callback_strings_; 268 std::vector<std::string> callback_strings_;
240 269
241 const GURL origin1_; 270 const GURL origin1_;
242 const GURL origin2_; 271 const GURL origin2_;
243 272
273 int64 callback_usage_;
274 std::vector<CacheStorageUsageInfo> callback_all_origins_usage_;
275
244 private: 276 private:
245 DISALLOW_COPY_AND_ASSIGN(CacheStorageManagerTest); 277 DISALLOW_COPY_AND_ASSIGN(CacheStorageManagerTest);
246 }; 278 };
247 279
248 class CacheStorageManagerMemoryOnlyTest : public CacheStorageManagerTest { 280 class CacheStorageManagerMemoryOnlyTest : public CacheStorageManagerTest {
281 public:
249 bool MemoryOnly() override { return true; } 282 bool MemoryOnly() override { return true; }
250 }; 283 };
251 284
252 class CacheStorageManagerTestP : public CacheStorageManagerTest, 285 class CacheStorageManagerTestP : public CacheStorageManagerTest,
253 public testing::WithParamInterface<bool> { 286 public testing::WithParamInterface<bool> {
287 public:
254 bool MemoryOnly() override { return !GetParam(); } 288 bool MemoryOnly() override { return !GetParam(); }
255 }; 289 };
256 290
257 TEST_F(CacheStorageManagerTest, TestsRunOnIOThread) { 291 TEST_F(CacheStorageManagerTest, TestsRunOnIOThread) {
258 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 292 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
259 } 293 }
260 294
261 TEST_P(CacheStorageManagerTestP, OpenCache) { 295 TEST_P(CacheStorageManagerTestP, OpenCache) {
262 EXPECT_TRUE(Open(origin1_, "foo")); 296 EXPECT_TRUE(Open(origin1_, "foo"));
263 } 297 }
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 EXPECT_TRUE(Open(origin1_, "foo")); 525 EXPECT_TRUE(Open(origin1_, "foo"));
492 EXPECT_TRUE(Delete(origin1_, "foo")); 526 EXPECT_TRUE(Delete(origin1_, "foo"));
493 EXPECT_TRUE(callback_cache_->AsWeakPtr()); 527 EXPECT_TRUE(callback_cache_->AsWeakPtr());
494 } 528 }
495 529
496 TEST_P(CacheStorageManagerTestP, OpenRunsSerially) { 530 TEST_P(CacheStorageManagerTestP, OpenRunsSerially) {
497 EXPECT_FALSE(Delete(origin1_, "tmp")); // Init storage. 531 EXPECT_FALSE(Delete(origin1_, "tmp")); // Init storage.
498 CacheStorage* cache_storage = CacheStorageForOrigin(origin1_); 532 CacheStorage* cache_storage = CacheStorageForOrigin(origin1_);
499 cache_storage->StartAsyncOperationForTesting(); 533 cache_storage->StartAsyncOperationForTesting();
500 534
501 scoped_ptr<base::RunLoop> open_loop(new base::RunLoop()); 535 base::RunLoop open_loop;
502 cache_manager_->OpenCache( 536 cache_manager_->OpenCache(
503 origin1_, "foo", 537 origin1_, "foo",
504 base::Bind(&CacheStorageManagerTest::CacheAndErrorCallback, 538 base::Bind(&CacheStorageManagerTest::CacheAndErrorCallback,
505 base::Unretained(this), base::Unretained(open_loop.get()))); 539 base::Unretained(this), base::Unretained(&open_loop)));
506 540
507 base::RunLoop().RunUntilIdle(); 541 base::RunLoop().RunUntilIdle();
508 EXPECT_FALSE(callback_cache_); 542 EXPECT_FALSE(callback_cache_);
509 543
510 cache_storage->CompleteAsyncOperationForTesting(); 544 cache_storage->CompleteAsyncOperationForTesting();
511 open_loop->Run(); 545 open_loop.Run();
512 EXPECT_TRUE(callback_cache_); 546 EXPECT_TRUE(callback_cache_);
513 } 547 }
514 548
549 TEST_P(CacheStorageManagerTestP, GetOriginUsage) {
550 EXPECT_EQ(0, GetOriginUsage(origin1_));
551 EXPECT_TRUE(Open(origin1_, "foo"));
552 EXPECT_TRUE(CachePut(callback_cache_, GURL("http://example.com/foo")));
553 EXPECT_LT(0, GetOriginUsage(origin1_));
554 EXPECT_EQ(0, GetOriginUsage(origin2_));
555 }
556
557 TEST_P(CacheStorageManagerTestP, GetAllOriginsUsage) {
558 EXPECT_EQ(0ULL, GetAllOriginsUsage().size());
559 EXPECT_TRUE(Open(origin1_, "foo"));
560 EXPECT_TRUE(CachePut(callback_cache_, GURL("http://example.com/foo")));
561 std::vector<CacheStorageUsageInfo> usage = GetAllOriginsUsage();
562 EXPECT_EQ(1ULL, usage.size());
563 const CacheStorageUsageInfo& info = usage[0];
564 EXPECT_EQ(origin1_, info.origin);
565 EXPECT_LT(0, info.total_size_bytes);
566 if (MemoryOnly())
567 EXPECT_TRUE(info.last_modified.is_null());
568 else
569 EXPECT_FALSE(info.last_modified.is_null());
570 }
571
515 TEST_F(CacheStorageManagerMemoryOnlyTest, MemoryBackedSize) { 572 TEST_F(CacheStorageManagerMemoryOnlyTest, MemoryBackedSize) {
516 CacheStorage* cache_storage = CacheStorageForOrigin(origin1_); 573 CacheStorage* cache_storage = CacheStorageForOrigin(origin1_);
517 EXPECT_EQ(0, cache_storage->MemoryBackedSize()); 574 EXPECT_EQ(0, cache_storage->MemoryBackedSize());
518 575
519 EXPECT_TRUE(Open(origin1_, "foo")); 576 EXPECT_TRUE(Open(origin1_, "foo"));
520 scoped_refptr<CacheStorageCache> foo_cache = callback_cache_; 577 scoped_refptr<CacheStorageCache> foo_cache = callback_cache_;
521 EXPECT_TRUE(Open(origin1_, "bar")); 578 EXPECT_TRUE(Open(origin1_, "bar"));
522 scoped_refptr<CacheStorageCache> bar_cache = callback_cache_; 579 scoped_refptr<CacheStorageCache> bar_cache = callback_cache_;
523 EXPECT_EQ(0, cache_storage->MemoryBackedSize()); 580 EXPECT_EQ(0, cache_storage->MemoryBackedSize());
524 581
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 ASSERT_TRUE(base::DirectoryExists(new_path_)); 618 ASSERT_TRUE(base::DirectoryExists(new_path_));
562 619
563 quota_manager_proxy_->SimulateQuotaManagerDestroyed(); 620 quota_manager_proxy_->SimulateQuotaManagerDestroyed();
564 cache_manager_ = CacheStorageManager::Create(cache_manager_.get()); 621 cache_manager_ = CacheStorageManager::Create(cache_manager_.get());
565 622
566 ASSERT_TRUE(base::Move(new_path_, legacy_path_)); 623 ASSERT_TRUE(base::Move(new_path_, legacy_path_));
567 ASSERT_TRUE(base::DirectoryExists(legacy_path_)); 624 ASSERT_TRUE(base::DirectoryExists(legacy_path_));
568 ASSERT_FALSE(base::DirectoryExists(new_path_)); 625 ASSERT_FALSE(base::DirectoryExists(new_path_));
569 } 626 }
570 627
571 int64 GetOriginUsage(const GURL& origin) {
572 scoped_ptr<base::RunLoop> loop(new base::RunLoop());
573 cache_manager_->GetOriginUsage(
574 origin,
575 base::Bind(&CacheStorageMigrationTest::UsageCallback,
576 base::Unretained(this), base::Unretained(loop.get())));
577 loop->Run();
578 return callback_usage_;
579 }
580
581 void UsageCallback(base::RunLoop* run_loop, int64 usage) {
582 callback_usage_ = usage;
583 run_loop->Quit();
584 }
585
586 base::FilePath legacy_path_; 628 base::FilePath legacy_path_;
587 base::FilePath new_path_; 629 base::FilePath new_path_;
588 630
589 const std::string cache1_; 631 const std::string cache1_;
590 const std::string cache2_; 632 const std::string cache2_;
591 633
592 int64 callback_usage_;
593
594 DISALLOW_COPY_AND_ASSIGN(CacheStorageMigrationTest); 634 DISALLOW_COPY_AND_ASSIGN(CacheStorageMigrationTest);
595 }; 635 };
596 636
597 TEST_F(CacheStorageMigrationTest, OpenCache) { 637 TEST_F(CacheStorageMigrationTest, OpenCache) {
598 EXPECT_TRUE(Open(origin1_, cache1_)); 638 EXPECT_TRUE(Open(origin1_, cache1_));
599 EXPECT_FALSE(base::DirectoryExists(legacy_path_)); 639 EXPECT_FALSE(base::DirectoryExists(legacy_path_));
600 EXPECT_TRUE(base::DirectoryExists(new_path_)); 640 EXPECT_TRUE(base::DirectoryExists(new_path_));
601 641
602 EXPECT_TRUE(Keys(origin1_)); 642 EXPECT_TRUE(Keys(origin1_));
603 std::vector<std::string> expected_keys; 643 std::vector<std::string> expected_keys;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 class CacheStorageQuotaClientTest : public CacheStorageManagerTest { 688 class CacheStorageQuotaClientTest : public CacheStorageManagerTest {
649 protected: 689 protected:
650 CacheStorageQuotaClientTest() {} 690 CacheStorageQuotaClientTest() {}
651 691
652 void SetUp() override { 692 void SetUp() override {
653 CacheStorageManagerTest::SetUp(); 693 CacheStorageManagerTest::SetUp();
654 quota_client_.reset( 694 quota_client_.reset(
655 new CacheStorageQuotaClient(cache_manager_->AsWeakPtr())); 695 new CacheStorageQuotaClient(cache_manager_->AsWeakPtr()));
656 } 696 }
657 697
658 void UsageCallback(base::RunLoop* run_loop, int64 usage) { 698 void QuotaUsageCallback(base::RunLoop* run_loop, int64 usage) {
659 callback_usage_ = usage; 699 callback_quota_usage_ = usage;
660 run_loop->Quit(); 700 run_loop->Quit();
661 } 701 }
662 702
663 void OriginsCallback(base::RunLoop* run_loop, const std::set<GURL>& origins) { 703 void OriginsCallback(base::RunLoop* run_loop, const std::set<GURL>& origins) {
664 callback_origins_ = origins; 704 callback_origins_ = origins;
665 run_loop->Quit(); 705 run_loop->Quit();
666 } 706 }
667 707
668 void DeleteOriginCallback(base::RunLoop* run_loop, 708 void DeleteOriginCallback(base::RunLoop* run_loop,
669 storage::QuotaStatusCode status) { 709 storage::QuotaStatusCode status) {
670 callback_status_ = status; 710 callback_status_ = status;
671 run_loop->Quit(); 711 run_loop->Quit();
672 } 712 }
673 713
674 int64 QuotaGetOriginUsage(const GURL& origin) { 714 int64 QuotaGetOriginUsage(const GURL& origin) {
675 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 715 base::RunLoop loop;
676 quota_client_->GetOriginUsage( 716 quota_client_->GetOriginUsage(
677 origin, storage::kStorageTypeTemporary, 717 origin, storage::kStorageTypeTemporary,
678 base::Bind(&CacheStorageQuotaClientTest::UsageCallback, 718 base::Bind(&CacheStorageQuotaClientTest::QuotaUsageCallback,
679 base::Unretained(this), base::Unretained(loop.get()))); 719 base::Unretained(this), base::Unretained(&loop)));
680 loop->Run(); 720 loop.Run();
681 return callback_usage_; 721 return callback_quota_usage_;
682 } 722 }
683 723
684 size_t QuotaGetOriginsForType() { 724 size_t QuotaGetOriginsForType() {
685 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 725 base::RunLoop loop;
686 quota_client_->GetOriginsForType( 726 quota_client_->GetOriginsForType(
687 storage::kStorageTypeTemporary, 727 storage::kStorageTypeTemporary,
688 base::Bind(&CacheStorageQuotaClientTest::OriginsCallback, 728 base::Bind(&CacheStorageQuotaClientTest::OriginsCallback,
689 base::Unretained(this), base::Unretained(loop.get()))); 729 base::Unretained(this), base::Unretained(&loop)));
690 loop->Run(); 730 loop.Run();
691 return callback_origins_.size(); 731 return callback_origins_.size();
692 } 732 }
693 733
694 size_t QuotaGetOriginsForHost(const std::string& host) { 734 size_t QuotaGetOriginsForHost(const std::string& host) {
695 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 735 base::RunLoop loop;
696 quota_client_->GetOriginsForHost( 736 quota_client_->GetOriginsForHost(
697 storage::kStorageTypeTemporary, host, 737 storage::kStorageTypeTemporary, host,
698 base::Bind(&CacheStorageQuotaClientTest::OriginsCallback, 738 base::Bind(&CacheStorageQuotaClientTest::OriginsCallback,
699 base::Unretained(this), base::Unretained(loop.get()))); 739 base::Unretained(this), base::Unretained(&loop)));
700 loop->Run(); 740 loop.Run();
701 return callback_origins_.size(); 741 return callback_origins_.size();
702 } 742 }
703 743
704 bool QuotaDeleteOriginData(const GURL& origin) { 744 bool QuotaDeleteOriginData(const GURL& origin) {
705 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 745 base::RunLoop loop;
706 quota_client_->DeleteOriginData( 746 quota_client_->DeleteOriginData(
707 origin, storage::kStorageTypeTemporary, 747 origin, storage::kStorageTypeTemporary,
708 base::Bind(&CacheStorageQuotaClientTest::DeleteOriginCallback, 748 base::Bind(&CacheStorageQuotaClientTest::DeleteOriginCallback,
709 base::Unretained(this), base::Unretained(loop.get()))); 749 base::Unretained(this), base::Unretained(&loop)));
710 loop->Run(); 750 loop.Run();
711 return callback_status_ == storage::kQuotaStatusOk; 751 return callback_status_ == storage::kQuotaStatusOk;
712 } 752 }
713 753
714 bool QuotaDoesSupport(storage::StorageType type) { 754 bool QuotaDoesSupport(storage::StorageType type) {
715 return quota_client_->DoesSupport(type); 755 return quota_client_->DoesSupport(type);
716 } 756 }
717 757
718 scoped_ptr<CacheStorageQuotaClient> quota_client_; 758 scoped_ptr<CacheStorageQuotaClient> quota_client_;
719 759
720 storage::QuotaStatusCode callback_status_; 760 storage::QuotaStatusCode callback_status_;
721 int64 callback_usage_; 761 int64 callback_quota_usage_ = 0;
722 std::set<GURL> callback_origins_; 762 std::set<GURL> callback_origins_;
723 763
724 DISALLOW_COPY_AND_ASSIGN(CacheStorageQuotaClientTest); 764 DISALLOW_COPY_AND_ASSIGN(CacheStorageQuotaClientTest);
725 }; 765 };
726 766
727 class CacheStorageQuotaClientTestP : public CacheStorageQuotaClientTest, 767 class CacheStorageQuotaClientTestP : public CacheStorageQuotaClientTest,
728 public testing::WithParamInterface<bool> { 768 public testing::WithParamInterface<bool> {
729 bool MemoryOnly() override { return !GetParam(); } 769 bool MemoryOnly() override { return !GetParam(); }
730 }; 770 };
731 771
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 830
791 INSTANTIATE_TEST_CASE_P(CacheStorageManagerTests, 831 INSTANTIATE_TEST_CASE_P(CacheStorageManagerTests,
792 CacheStorageManagerTestP, 832 CacheStorageManagerTestP,
793 ::testing::Values(false, true)); 833 ::testing::Values(false, true));
794 834
795 INSTANTIATE_TEST_CASE_P(CacheStorageQuotaClientTests, 835 INSTANTIATE_TEST_CASE_P(CacheStorageQuotaClientTests,
796 CacheStorageQuotaClientTestP, 836 CacheStorageQuotaClientTestP,
797 ::testing::Values(false, true)); 837 ::testing::Values(false, true));
798 838
799 } // namespace content 839 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698