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

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

Issue 1681653002: [CacheStorage] Use backend size to determine change in cache size in put and delete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Run callbacks immediately Created 4 years, 10 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
« no previous file with comments | « content/browser/cache_storage/cache_storage_cache.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_cache.h" 5 #include "content/browser/cache_storage/cache_storage_cache.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 414 scoped_ptr<base::RunLoop> loop(new base::RunLoop());
415 415
416 cache_->Close(base::Bind(&CacheStorageCacheTest::CloseCallback, 416 cache_->Close(base::Bind(&CacheStorageCacheTest::CloseCallback,
417 base::Unretained(this), 417 base::Unretained(this),
418 base::Unretained(loop.get()))); 418 base::Unretained(loop.get())));
419 loop->Run(); 419 loop->Run();
420 return callback_closed_; 420 return callback_closed_;
421 } 421 }
422 422
423 int64_t Size() { 423 int64_t Size() {
424 // Storage notification happens after an operation completes. Let the any
425 // notifications complete before calling Size.
426 base::RunLoop().RunUntilIdle();
427
424 base::RunLoop run_loop; 428 base::RunLoop run_loop;
425 cache_->Size(base::Bind(&CacheStorageCacheTest::SizeCallback, 429 cache_->Size(base::Bind(&CacheStorageCacheTest::SizeCallback,
426 base::Unretained(this), &run_loop)); 430 base::Unretained(this), &run_loop));
427 run_loop.Run(); 431 run_loop.Run();
428 return callback_size_; 432 return callback_size_;
429 } 433 }
430 434
431 void RequestsCallback(base::RunLoop* run_loop, 435 void RequestsCallback(base::RunLoop* run_loop,
432 CacheStorageError error, 436 CacheStorageError error,
433 scoped_ptr<CacheStorageCache::Requests> requests) { 437 scoped_ptr<CacheStorageCache::Requests> requests) {
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 false); 931 false);
928 request.headers["content-type"] = "foo"; 932 request.headers["content-type"] = "foo";
929 request.headers["Content-Type"] = "bar"; 933 request.headers["Content-Type"] = "bar";
930 EXPECT_EQ("bar", request.headers["content-type"]); 934 EXPECT_EQ("bar", request.headers["content-type"]);
931 } 935 }
932 936
933 TEST_P(CacheStorageCacheTestP, QuotaManagerModified) { 937 TEST_P(CacheStorageCacheTestP, QuotaManagerModified) {
934 EXPECT_EQ(0, quota_manager_proxy_->notify_storage_modified_count()); 938 EXPECT_EQ(0, quota_manager_proxy_->notify_storage_modified_count());
935 939
936 EXPECT_TRUE(Put(no_body_request_, no_body_response_)); 940 EXPECT_TRUE(Put(no_body_request_, no_body_response_));
941 // Storage notification happens after the operation returns, so continue the
942 // event loop.
943 base::RunLoop().RunUntilIdle();
937 EXPECT_EQ(1, quota_manager_proxy_->notify_storage_modified_count()); 944 EXPECT_EQ(1, quota_manager_proxy_->notify_storage_modified_count());
938 EXPECT_LT(0, quota_manager_proxy_->last_notified_delta()); 945 EXPECT_LT(0, quota_manager_proxy_->last_notified_delta());
939 int64_t sum_delta = quota_manager_proxy_->last_notified_delta(); 946 int64_t sum_delta = quota_manager_proxy_->last_notified_delta();
940 947
941 EXPECT_TRUE(Put(body_request_, body_response_)); 948 EXPECT_TRUE(Put(body_request_, body_response_));
949 base::RunLoop().RunUntilIdle();
942 EXPECT_EQ(2, quota_manager_proxy_->notify_storage_modified_count()); 950 EXPECT_EQ(2, quota_manager_proxy_->notify_storage_modified_count());
943 EXPECT_LT(sum_delta, quota_manager_proxy_->last_notified_delta()); 951 EXPECT_LT(sum_delta, quota_manager_proxy_->last_notified_delta());
944 sum_delta += quota_manager_proxy_->last_notified_delta(); 952 sum_delta += quota_manager_proxy_->last_notified_delta();
945 953
946 EXPECT_TRUE(Delete(body_request_)); 954 EXPECT_TRUE(Delete(body_request_));
955 base::RunLoop().RunUntilIdle();
947 EXPECT_EQ(3, quota_manager_proxy_->notify_storage_modified_count()); 956 EXPECT_EQ(3, quota_manager_proxy_->notify_storage_modified_count());
948 sum_delta += quota_manager_proxy_->last_notified_delta(); 957 sum_delta += quota_manager_proxy_->last_notified_delta();
949 958
950 EXPECT_TRUE(Delete(no_body_request_)); 959 EXPECT_TRUE(Delete(no_body_request_));
960 base::RunLoop().RunUntilIdle();
951 EXPECT_EQ(4, quota_manager_proxy_->notify_storage_modified_count()); 961 EXPECT_EQ(4, quota_manager_proxy_->notify_storage_modified_count());
952 sum_delta += quota_manager_proxy_->last_notified_delta(); 962 sum_delta += quota_manager_proxy_->last_notified_delta();
953 963
954 EXPECT_EQ(0, sum_delta); 964 EXPECT_EQ(0, sum_delta);
955 } 965 }
956 966
957 TEST_P(CacheStorageCacheTestP, PutObeysQuotaLimits) { 967 TEST_P(CacheStorageCacheTestP, PutObeysQuotaLimits) {
958 mock_quota_manager_->SetQuota(GURL(kOrigin), storage::kStorageTypeTemporary, 968 mock_quota_manager_->SetQuota(GURL(kOrigin), storage::kStorageTypeTemporary,
959 0); 969 0);
960 EXPECT_FALSE(Put(no_body_request_, no_body_response_)); 970 EXPECT_FALSE(Put(no_body_request_, no_body_response_));
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 EXPECT_EQ(1, sequence_out); 1045 EXPECT_EQ(1, sequence_out);
1036 close_loop2->Run(); 1046 close_loop2->Run();
1037 EXPECT_EQ(2, sequence_out); 1047 EXPECT_EQ(2, sequence_out);
1038 } 1048 }
1039 1049
1040 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest, 1050 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest,
1041 CacheStorageCacheTestP, 1051 CacheStorageCacheTestP,
1042 ::testing::Values(false, true)); 1052 ::testing::Values(false, true));
1043 1053
1044 } // namespace content 1054 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/cache_storage/cache_storage_cache.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698