Index: content/browser/appcache/chrome_appcache_service_unittest.cc |
diff --git a/content/browser/appcache/chrome_appcache_service_unittest.cc b/content/browser/appcache/chrome_appcache_service_unittest.cc |
index 39946732662fd1a33a740a896a48c5d76020b59b..0ea064fc725e1324794eeda80032a4c94d6b076a 100644 |
--- a/content/browser/appcache/chrome_appcache_service_unittest.cc |
+++ b/content/browser/appcache/chrome_appcache_service_unittest.cc |
@@ -24,6 +24,7 @@ const FilePath::CharType kTestingAppCacheDirname[] = |
// test. |
const char kProtectedManifest[] = "http://www.protected.com/cache.manifest"; |
const char kNormalManifest[] = "http://www.normal.com/cache.manifest"; |
+const char kSessionOnlyManifest[] = "http://www.sessiononly.com/cache.manifest"; |
} // namespace |
@@ -35,6 +36,7 @@ class ChromeAppCacheServiceTest : public testing::Test { |
: message_loop_(MessageLoop::TYPE_IO), |
kProtectedManifestURL(kProtectedManifest), |
kNormalManifestURL(kNormalManifest), |
+ kSessionOnlyManifestURL(kSessionOnlyManifest), |
db_thread_(BrowserThread::DB, &message_loop_), |
file_thread_(BrowserThread::FILE, &message_loop_), |
cache_thread_(BrowserThread::CACHE, &message_loop_), |
@@ -51,6 +53,7 @@ class ChromeAppCacheServiceTest : public testing::Test { |
ScopedTempDir temp_dir_; |
const GURL kProtectedManifestURL; |
const GURL kNormalManifestURL; |
+ const GURL kSessionOnlyManifestURL; |
private: |
BrowserThread db_thread_; |
@@ -69,6 +72,7 @@ ChromeAppCacheServiceTest::CreateAppCacheService( |
scoped_refptr<quota::MockSpecialStoragePolicy> mock_policy = |
new quota::MockSpecialStoragePolicy; |
mock_policy->AddProtected(kProtectedManifestURL.GetOrigin()); |
+ mock_policy->AddSessionOnly(kSessionOnlyManifestURL.GetOrigin()); |
BrowserThread::PostTask( |
BrowserThread::IO, FROM_HERE, |
NewRunnableMethod(appcache_service.get(), |
@@ -94,13 +98,16 @@ void ChromeAppCacheServiceTest::InsertDataIntoAppCache( |
AppCacheTestHelper appcache_helper; |
appcache_helper.AddGroupAndCache(appcache_service, kNormalManifestURL); |
appcache_helper.AddGroupAndCache(appcache_service, kProtectedManifestURL); |
+ appcache_helper.AddGroupAndCache(appcache_service, kSessionOnlyManifestURL); |
// Verify that adding the data succeeded |
std::set<GURL> origins; |
appcache_helper.GetOriginsWithCaches(appcache_service, &origins); |
- ASSERT_EQ(2UL, origins.size()); |
+ ASSERT_EQ(3UL, origins.size()); |
ASSERT_TRUE(origins.find(kProtectedManifestURL.GetOrigin()) != origins.end()); |
ASSERT_TRUE(origins.find(kNormalManifestURL.GetOrigin()) != origins.end()); |
+ ASSERT_TRUE(origins.find(kSessionOnlyManifestURL.GetOrigin()) != |
+ origins.end()); |
} |
TEST_F(ChromeAppCacheServiceTest, KeepOnDestruction) { |
@@ -125,13 +132,15 @@ TEST_F(ChromeAppCacheServiceTest, KeepOnDestruction) { |
// The directory is still there |
ASSERT_TRUE(file_util::PathExists(appcache_path)); |
- // The appcache data is also there |
+ // The appcache data is also there, except the session-only origin. |
AppCacheTestHelper appcache_helper; |
std::set<GURL> origins; |
appcache_helper.GetOriginsWithCaches(appcache_service, &origins); |
EXPECT_EQ(2UL, origins.size()); |
EXPECT_TRUE(origins.find(kProtectedManifestURL.GetOrigin()) != origins.end()); |
EXPECT_TRUE(origins.find(kNormalManifestURL.GetOrigin()) != origins.end()); |
+ EXPECT_TRUE(origins.find(kSessionOnlyManifestURL.GetOrigin()) == |
+ origins.end()); |
// Delete and let cleanup tasks run prior to returning. |
appcache_service = NULL; |
@@ -168,6 +177,8 @@ TEST_F(ChromeAppCacheServiceTest, RemoveOnDestruction) { |
EXPECT_EQ(1UL, origins.size()); |
EXPECT_TRUE(origins.find(kProtectedManifestURL.GetOrigin()) != origins.end()); |
EXPECT_TRUE(origins.find(kNormalManifestURL.GetOrigin()) == origins.end()); |
+ EXPECT_TRUE(origins.find(kSessionOnlyManifestURL.GetOrigin()) == |
+ origins.end()); |
// Delete and let cleanup tasks run prior to returning. |
appcache_service = NULL; |