| OLD | NEW |
| 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 <stack> | 5 #include <stack> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 test_->ScheduleNextTask(); | 88 test_->ScheduleNextTask(); |
| 89 } | 89 } |
| 90 | 90 |
| 91 void OnGroupMadeObsolete(AppCacheGroup* group, bool success) { | 91 void OnGroupMadeObsolete(AppCacheGroup* group, bool success) { |
| 92 obsoleted_group_ = group; | 92 obsoleted_group_ = group; |
| 93 obsoleted_success_ = success; | 93 obsoleted_success_ = success; |
| 94 test_->ScheduleNextTask(); | 94 test_->ScheduleNextTask(); |
| 95 } | 95 } |
| 96 | 96 |
| 97 void OnMainResponseFound(const GURL& url, const AppCacheEntry& entry, | 97 void OnMainResponseFound(const GURL& url, const AppCacheEntry& entry, |
| 98 const GURL& fallback_url, | 98 const GURL& namespace_entry_url, |
| 99 const AppCacheEntry& fallback_entry, | 99 const AppCacheEntry& fallback_entry, |
| 100 int64 cache_id, int64 group_id, | 100 int64 cache_id, int64 group_id, |
| 101 const GURL& manifest_url) { | 101 const GURL& manifest_url) { |
| 102 found_url_ = url; | 102 found_url_ = url; |
| 103 found_entry_ = entry; | 103 found_entry_ = entry; |
| 104 found_fallback_url_ = fallback_url; | 104 found_namespace_entry_url_ = namespace_entry_url; |
| 105 found_fallback_entry_ = fallback_entry; | 105 found_fallback_entry_ = fallback_entry; |
| 106 found_cache_id_ = cache_id; | 106 found_cache_id_ = cache_id; |
| 107 found_group_id_ = group_id; | 107 found_group_id_ = group_id; |
| 108 found_manifest_url_ = manifest_url; | 108 found_manifest_url_ = manifest_url; |
| 109 test_->ScheduleNextTask(); | 109 test_->ScheduleNextTask(); |
| 110 } | 110 } |
| 111 | 111 |
| 112 scoped_refptr<AppCache> loaded_cache_; | 112 scoped_refptr<AppCache> loaded_cache_; |
| 113 int64 loaded_cache_id_; | 113 int64 loaded_cache_id_; |
| 114 scoped_refptr<AppCacheGroup> loaded_group_; | 114 scoped_refptr<AppCacheGroup> loaded_group_; |
| 115 GURL loaded_manifest_url_; | 115 GURL loaded_manifest_url_; |
| 116 scoped_refptr<AppCache> loaded_groups_newest_cache_; | 116 scoped_refptr<AppCache> loaded_groups_newest_cache_; |
| 117 scoped_refptr<AppCacheGroup> stored_group_; | 117 scoped_refptr<AppCacheGroup> stored_group_; |
| 118 bool stored_group_success_; | 118 bool stored_group_success_; |
| 119 bool would_exceed_quota_; | 119 bool would_exceed_quota_; |
| 120 scoped_refptr<AppCacheGroup> obsoleted_group_; | 120 scoped_refptr<AppCacheGroup> obsoleted_group_; |
| 121 bool obsoleted_success_; | 121 bool obsoleted_success_; |
| 122 GURL found_url_; | 122 GURL found_url_; |
| 123 AppCacheEntry found_entry_; | 123 AppCacheEntry found_entry_; |
| 124 GURL found_fallback_url_; | 124 GURL found_namespace_entry_url_; |
| 125 AppCacheEntry found_fallback_entry_; | 125 AppCacheEntry found_fallback_entry_; |
| 126 int64 found_cache_id_; | 126 int64 found_cache_id_; |
| 127 int64 found_group_id_; | 127 int64 found_group_id_; |
| 128 GURL found_manifest_url_; | 128 GURL found_manifest_url_; |
| 129 AppCacheStorageImplTest* test_; | 129 AppCacheStorageImplTest* test_; |
| 130 }; | 130 }; |
| 131 | 131 |
| 132 class MockQuotaManager : public quota::QuotaManager { | 132 class MockQuotaManager : public quota::QuotaManager { |
| 133 public: | 133 public: |
| 134 MockQuotaManager() | 134 MockQuotaManager() |
| (...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 800 storage()->FindResponseForMainRequest(kEntryUrl, GURL(), delegate()); | 800 storage()->FindResponseForMainRequest(kEntryUrl, GURL(), delegate()); |
| 801 EXPECT_NE(kEntryUrl, delegate()->found_url_); | 801 EXPECT_NE(kEntryUrl, delegate()->found_url_); |
| 802 } | 802 } |
| 803 | 803 |
| 804 void Verify_FindNoMainResponse() { | 804 void Verify_FindNoMainResponse() { |
| 805 EXPECT_EQ(kEntryUrl, delegate()->found_url_); | 805 EXPECT_EQ(kEntryUrl, delegate()->found_url_); |
| 806 EXPECT_TRUE(delegate()->found_manifest_url_.is_empty()); | 806 EXPECT_TRUE(delegate()->found_manifest_url_.is_empty()); |
| 807 EXPECT_EQ(kNoCacheId, delegate()->found_cache_id_); | 807 EXPECT_EQ(kNoCacheId, delegate()->found_cache_id_); |
| 808 EXPECT_EQ(kNoResponseId, delegate()->found_entry_.response_id()); | 808 EXPECT_EQ(kNoResponseId, delegate()->found_entry_.response_id()); |
| 809 EXPECT_EQ(kNoResponseId, delegate()->found_fallback_entry_.response_id()); | 809 EXPECT_EQ(kNoResponseId, delegate()->found_fallback_entry_.response_id()); |
| 810 EXPECT_TRUE(delegate()->found_fallback_url_.is_empty()); | 810 EXPECT_TRUE(delegate()->found_namespace_entry_url_.is_empty()); |
| 811 EXPECT_EQ(0, delegate()->found_entry_.types()); | 811 EXPECT_EQ(0, delegate()->found_entry_.types()); |
| 812 EXPECT_EQ(0, delegate()->found_fallback_entry_.types()); | 812 EXPECT_EQ(0, delegate()->found_fallback_entry_.types()); |
| 813 TestFinished(); | 813 TestFinished(); |
| 814 } | 814 } |
| 815 | 815 |
| 816 // BasicFindMainResponse ------------------------------- | 816 // BasicFindMainResponse ------------------------------- |
| 817 | 817 |
| 818 void BasicFindMainResponseInDatabase() { | 818 void BasicFindMainResponseInDatabase() { |
| 819 BasicFindMainResponse(true); | 819 BasicFindMainResponse(true); |
| 820 } | 820 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 EXPECT_NE(kFallbackTestUrl, delegate()->found_url_); | 919 EXPECT_NE(kFallbackTestUrl, delegate()->found_url_); |
| 920 } | 920 } |
| 921 | 921 |
| 922 void Verify_BasicFindMainFallbackResponse() { | 922 void Verify_BasicFindMainFallbackResponse() { |
| 923 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); | 923 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); |
| 924 EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_); | 924 EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_); |
| 925 EXPECT_EQ(1, delegate()->found_cache_id_); | 925 EXPECT_EQ(1, delegate()->found_cache_id_); |
| 926 EXPECT_EQ(2, delegate()->found_group_id_); | 926 EXPECT_EQ(2, delegate()->found_group_id_); |
| 927 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); | 927 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); |
| 928 EXPECT_EQ(2, delegate()->found_fallback_entry_.response_id()); | 928 EXPECT_EQ(2, delegate()->found_fallback_entry_.response_id()); |
| 929 EXPECT_EQ(kEntryUrl2, delegate()->found_fallback_url_); | 929 EXPECT_EQ(kEntryUrl2, delegate()->found_namespace_entry_url_); |
| 930 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); | 930 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); |
| 931 TestFinished(); | 931 TestFinished(); |
| 932 } | 932 } |
| 933 | 933 |
| 934 // BasicFindMainInterceptResponse ------------------------------- | 934 // BasicFindMainInterceptResponse ------------------------------- |
| 935 | 935 |
| 936 void BasicFindMainInterceptResponseInDatabase() { | 936 void BasicFindMainInterceptResponseInDatabase() { |
| 937 BasicFindMainInterceptResponse(true); | 937 BasicFindMainInterceptResponse(true); |
| 938 } | 938 } |
| 939 | 939 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 988 EXPECT_NE(kInterceptTestUrl, delegate()->found_url_); | 988 EXPECT_NE(kInterceptTestUrl, delegate()->found_url_); |
| 989 } | 989 } |
| 990 | 990 |
| 991 void Verify_BasicFindMainInterceptResponse() { | 991 void Verify_BasicFindMainInterceptResponse() { |
| 992 EXPECT_EQ(kInterceptTestUrl, delegate()->found_url_); | 992 EXPECT_EQ(kInterceptTestUrl, delegate()->found_url_); |
| 993 EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_); | 993 EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_); |
| 994 EXPECT_EQ(1, delegate()->found_cache_id_); | 994 EXPECT_EQ(1, delegate()->found_cache_id_); |
| 995 EXPECT_EQ(2, delegate()->found_group_id_); | 995 EXPECT_EQ(2, delegate()->found_group_id_); |
| 996 EXPECT_EQ(2, delegate()->found_entry_.response_id()); | 996 EXPECT_EQ(2, delegate()->found_entry_.response_id()); |
| 997 EXPECT_TRUE(delegate()->found_entry_.IsIntercept()); | 997 EXPECT_TRUE(delegate()->found_entry_.IsIntercept()); |
| 998 EXPECT_EQ(kEntryUrl2, delegate()->found_namespace_entry_url_); |
| 998 EXPECT_FALSE(delegate()->found_fallback_entry_.has_response_id()); | 999 EXPECT_FALSE(delegate()->found_fallback_entry_.has_response_id()); |
| 999 TestFinished(); | 1000 TestFinished(); |
| 1000 } | 1001 } |
| 1001 // FindMainResponseWithMultipleHits ------------------------------- | 1002 // FindMainResponseWithMultipleHits ------------------------------- |
| 1002 | 1003 |
| 1003 void FindMainResponseWithMultipleHits() { | 1004 void FindMainResponseWithMultipleHits() { |
| 1004 PushNextTask(base::Bind( | 1005 PushNextTask(base::Bind( |
| 1005 &AppCacheStorageImplTest::Verify_FindMainResponseWithMultipleHits, | 1006 &AppCacheStorageImplTest::Verify_FindMainResponseWithMultipleHits, |
| 1006 base::Unretained(this))); | 1007 base::Unretained(this))); |
| 1007 | 1008 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 | 1119 |
| 1119 void Verify_FindMainResponseWithMultipleHits4() { | 1120 void Verify_FindMainResponseWithMultipleHits4() { |
| 1120 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); | 1121 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); |
| 1121 EXPECT_EQ(kManifestUrl3, delegate()->found_manifest_url_); | 1122 EXPECT_EQ(kManifestUrl3, delegate()->found_manifest_url_); |
| 1122 EXPECT_EQ(3, delegate()->found_cache_id_); | 1123 EXPECT_EQ(3, delegate()->found_cache_id_); |
| 1123 EXPECT_EQ(3, delegate()->found_group_id_); | 1124 EXPECT_EQ(3, delegate()->found_group_id_); |
| 1124 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); | 1125 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); |
| 1125 EXPECT_EQ(3 + kFallbackEntryIdOffset, | 1126 EXPECT_EQ(3 + kFallbackEntryIdOffset, |
| 1126 delegate()->found_fallback_entry_.response_id()); | 1127 delegate()->found_fallback_entry_.response_id()); |
| 1127 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); | 1128 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); |
| 1128 EXPECT_EQ(kEntryUrl2, delegate()->found_fallback_url_); | 1129 EXPECT_EQ(kEntryUrl2, delegate()->found_namespace_entry_url_); |
| 1129 | 1130 |
| 1130 // Conduct another test preferring kManifestUrl2 that hits the fallback. | 1131 // Conduct another test preferring kManifestUrl2 that hits the fallback. |
| 1131 delegate_.reset(new MockStorageDelegate(this)); | 1132 delegate_.reset(new MockStorageDelegate(this)); |
| 1132 PushNextTask(base::Bind( | 1133 PushNextTask(base::Bind( |
| 1133 &AppCacheStorageImplTest::Verify_FindMainResponseWithMultipleHits5, | 1134 &AppCacheStorageImplTest::Verify_FindMainResponseWithMultipleHits5, |
| 1134 base::Unretained(this))); | 1135 base::Unretained(this))); |
| 1135 storage()->FindResponseForMainRequest( | 1136 storage()->FindResponseForMainRequest( |
| 1136 kFallbackTestUrl, kManifestUrl2, delegate()); | 1137 kFallbackTestUrl, kManifestUrl2, delegate()); |
| 1137 EXPECT_NE(kFallbackTestUrl, delegate()->found_url_); | 1138 EXPECT_NE(kFallbackTestUrl, delegate()->found_url_); |
| 1138 } | 1139 } |
| 1139 | 1140 |
| 1140 void Verify_FindMainResponseWithMultipleHits5() { | 1141 void Verify_FindMainResponseWithMultipleHits5() { |
| 1141 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); | 1142 EXPECT_EQ(kFallbackTestUrl, delegate()->found_url_); |
| 1142 EXPECT_EQ(kManifestUrl2, delegate()->found_manifest_url_); | 1143 EXPECT_EQ(kManifestUrl2, delegate()->found_manifest_url_); |
| 1143 EXPECT_EQ(2, delegate()->found_cache_id_); | 1144 EXPECT_EQ(2, delegate()->found_cache_id_); |
| 1144 EXPECT_EQ(2, delegate()->found_group_id_); | 1145 EXPECT_EQ(2, delegate()->found_group_id_); |
| 1145 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); | 1146 EXPECT_FALSE(delegate()->found_entry_.has_response_id()); |
| 1146 EXPECT_EQ(2 + kFallbackEntryIdOffset, | 1147 EXPECT_EQ(2 + kFallbackEntryIdOffset, |
| 1147 delegate()->found_fallback_entry_.response_id()); | 1148 delegate()->found_fallback_entry_.response_id()); |
| 1148 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); | 1149 EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback()); |
| 1149 EXPECT_EQ(kEntryUrl2, delegate()->found_fallback_url_); | 1150 EXPECT_EQ(kEntryUrl2, delegate()->found_namespace_entry_url_); |
| 1150 | 1151 |
| 1151 TestFinished(); | 1152 TestFinished(); |
| 1152 } | 1153 } |
| 1153 | 1154 |
| 1154 // FindMainResponseExclusions ------------------------------- | 1155 // FindMainResponseExclusions ------------------------------- |
| 1155 | 1156 |
| 1156 void FindMainResponseExclusionsInDatabase() { | 1157 void FindMainResponseExclusionsInDatabase() { |
| 1157 FindMainResponseExclusions(true); | 1158 FindMainResponseExclusions(true); |
| 1158 } | 1159 } |
| 1159 | 1160 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1206 storage()->FindResponseForMainRequest(kEntryUrl, GURL(), delegate()); | 1207 storage()->FindResponseForMainRequest(kEntryUrl, GURL(), delegate()); |
| 1207 } | 1208 } |
| 1208 | 1209 |
| 1209 void Verify_ExclusionNotFound(GURL expected_url, int phase) { | 1210 void Verify_ExclusionNotFound(GURL expected_url, int phase) { |
| 1210 EXPECT_EQ(expected_url, delegate()->found_url_); | 1211 EXPECT_EQ(expected_url, delegate()->found_url_); |
| 1211 EXPECT_TRUE(delegate()->found_manifest_url_.is_empty()); | 1212 EXPECT_TRUE(delegate()->found_manifest_url_.is_empty()); |
| 1212 EXPECT_EQ(kNoCacheId, delegate()->found_cache_id_); | 1213 EXPECT_EQ(kNoCacheId, delegate()->found_cache_id_); |
| 1213 EXPECT_EQ(0, delegate()->found_group_id_); | 1214 EXPECT_EQ(0, delegate()->found_group_id_); |
| 1214 EXPECT_EQ(kNoResponseId, delegate()->found_entry_.response_id()); | 1215 EXPECT_EQ(kNoResponseId, delegate()->found_entry_.response_id()); |
| 1215 EXPECT_EQ(kNoResponseId, delegate()->found_fallback_entry_.response_id()); | 1216 EXPECT_EQ(kNoResponseId, delegate()->found_fallback_entry_.response_id()); |
| 1216 EXPECT_TRUE(delegate()->found_fallback_url_.is_empty()); | 1217 EXPECT_TRUE(delegate()->found_namespace_entry_url_.is_empty()); |
| 1217 EXPECT_EQ(0, delegate()->found_entry_.types()); | 1218 EXPECT_EQ(0, delegate()->found_entry_.types()); |
| 1218 EXPECT_EQ(0, delegate()->found_fallback_entry_.types()); | 1219 EXPECT_EQ(0, delegate()->found_fallback_entry_.types()); |
| 1219 | 1220 |
| 1220 if (phase == 1) { | 1221 if (phase == 1) { |
| 1221 // We should not find anything for the online namespace. | 1222 // We should not find anything for the online namespace. |
| 1222 PushNextTask( | 1223 PushNextTask( |
| 1223 base::Bind(&AppCacheStorageImplTest::Verify_ExclusionNotFound, | 1224 base::Bind(&AppCacheStorageImplTest::Verify_ExclusionNotFound, |
| 1224 base::Unretained(this), kOnlineNamespace, 2)); | 1225 base::Unretained(this), kOnlineNamespace, 2)); |
| 1225 storage()->FindResponseForMainRequest( | 1226 storage()->FindResponseForMainRequest( |
| 1226 kOnlineNamespace, GURL(), delegate()); | 1227 kOnlineNamespace, GURL(), delegate()); |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1402 } | 1403 } |
| 1403 | 1404 |
| 1404 TEST_F(AppCacheStorageImplTest, FindMainResponseExclusionsInWorkingSet) { | 1405 TEST_F(AppCacheStorageImplTest, FindMainResponseExclusionsInWorkingSet) { |
| 1405 RunTestOnIOThread( | 1406 RunTestOnIOThread( |
| 1406 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet); | 1407 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet); |
| 1407 } | 1408 } |
| 1408 | 1409 |
| 1409 // That's all folks! | 1410 // That's all folks! |
| 1410 | 1411 |
| 1411 } // namespace appcache | 1412 } // namespace appcache |
| OLD | NEW |