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

Unified Diff: content/browser/cache_storage/cache_storage_manager_unittest.cc

Issue 2100433003: [CacheStorage] Temporarily preserve recently opened caches from CacheStorageDispatcherHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Simplified Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/cache_storage/cache_storage_manager_unittest.cc
diff --git a/content/browser/cache_storage/cache_storage_manager_unittest.cc b/content/browser/cache_storage/cache_storage_manager_unittest.cc
index 1dd40cf1195534cb419d87b74aee8db8cad9f109..0da84acf861ccc1bd09eaf6adfee05c93ff9a60d 100644
--- a/content/browser/cache_storage/cache_storage_manager_unittest.cc
+++ b/content/browser/cache_storage/cache_storage_manager_unittest.cc
@@ -165,7 +165,7 @@ class CacheStorageManagerTest : public testing::Test {
bool error = callback_error_ != CACHE_STORAGE_OK;
if (error)
- EXPECT_TRUE(!callback_cache_handle_);
+ EXPECT_FALSE(callback_cache_handle_);
else
EXPECT_TRUE(callback_cache_handle_);
return !error;
@@ -639,6 +639,28 @@ TEST_F(CacheStorageManagerTest, BadOriginName) {
EXPECT_STREQ("foo", callback_strings_[0].c_str());
}
+// With a persistent cache if the client drops its reference to a
+// CacheStorageCache it should be deleted.
+TEST_F(CacheStorageManagerTest, DropReference) {
+ EXPECT_TRUE(Open(origin1_, "foo"));
+ base::WeakPtr<CacheStorageCache> cache =
+ callback_cache_handle_->value()->AsWeakPtr();
+ callback_cache_handle_ = nullptr;
+ EXPECT_FALSE(cache);
+}
+
+// With a memory cache the cache can't be freed from memory until the client
+// calls delete.
+TEST_F(CacheStorageManagerMemoryOnlyTest, MemoryLosesReferenceOnlyAfterDelete) {
+ EXPECT_TRUE(Open(origin1_, "foo"));
+ base::WeakPtr<CacheStorageCache> cache =
+ callback_cache_handle_->value()->AsWeakPtr();
+ callback_cache_handle_ = nullptr;
+ EXPECT_TRUE(cache);
+ EXPECT_TRUE(Delete(origin1_, "foo"));
+ EXPECT_FALSE(cache);
+}
+
TEST_P(CacheStorageManagerTestP, DeleteBeforeRelease) {
EXPECT_TRUE(Open(origin1_, "foo"));
EXPECT_TRUE(Delete(origin1_, "foo"));

Powered by Google App Engine
This is Rietveld 408576698