OLD | NEW |
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 "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 210 |
211 void TearDown() override { | 211 void TearDown() override { |
212 quota_manager_proxy_->SimulateQuotaManagerDestroyed(); | 212 quota_manager_proxy_->SimulateQuotaManagerDestroyed(); |
213 base::RunLoop().RunUntilIdle(); | 213 base::RunLoop().RunUntilIdle(); |
214 } | 214 } |
215 | 215 |
216 void CreateRequests(ChromeBlobStorageContext* blob_storage_context) { | 216 void CreateRequests(ChromeBlobStorageContext* blob_storage_context) { |
217 ServiceWorkerHeaderMap headers; | 217 ServiceWorkerHeaderMap headers; |
218 headers.insert(std::make_pair("a", "a")); | 218 headers.insert(std::make_pair("a", "a")); |
219 headers.insert(std::make_pair("b", "b")); | 219 headers.insert(std::make_pair("b", "b")); |
220 body_request_ = | 220 body_request_ = ServiceWorkerFetchRequest( |
221 ServiceWorkerFetchRequest(GURL("http://example.com/body.html"), "GET", | 221 GURL("http://example.com/body.html"), "GET", headers, Referrer(), false, |
222 headers, Referrer(), false); | 222 ServiceWorkerClientInfo()); |
223 no_body_request_ = | 223 no_body_request_ = ServiceWorkerFetchRequest( |
224 ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"), | 224 GURL("http://example.com/no_body.html"), "GET", headers, Referrer(), |
225 "GET", headers, Referrer(), false); | 225 false, ServiceWorkerClientInfo()); |
226 | 226 |
227 std::string expected_response; | 227 std::string expected_response; |
228 for (int i = 0; i < 100; ++i) | 228 for (int i = 0; i < 100; ++i) |
229 expected_blob_data_ += kTestData; | 229 expected_blob_data_ += kTestData; |
230 | 230 |
231 scoped_ptr<storage::BlobDataBuilder> blob_data( | 231 scoped_ptr<storage::BlobDataBuilder> blob_data( |
232 new storage::BlobDataBuilder("blob-id:myblob")); | 232 new storage::BlobDataBuilder("blob-id:myblob")); |
233 blob_data->AppendData(expected_blob_data_); | 233 blob_data->AppendData(expected_blob_data_); |
234 | 234 |
235 blob_handle_ = | 235 blob_handle_ = |
236 blob_storage_context->context()->AddFinishedBlob(blob_data.get()); | 236 blob_storage_context->context()->AddFinishedBlob(blob_data.get()); |
237 | 237 |
238 body_response_ = ServiceWorkerResponse( | 238 body_response_ = ServiceWorkerResponse( |
239 GURL("http://example.com/body.html"), 200, "OK", | 239 GURL("http://example.com/body.html"), 200, "OK", |
240 blink::WebServiceWorkerResponseTypeDefault, headers, | 240 blink::WebServiceWorkerResponseTypeDefault, headers, |
241 blob_handle_->uuid(), expected_blob_data_.size(), GURL()); | 241 blob_handle_->uuid(), expected_blob_data_.size(), GURL()); |
242 | 242 |
243 no_body_response_ = ServiceWorkerResponse( | 243 no_body_response_ = ServiceWorkerResponse( |
244 GURL("http://example.com/no_body.html"), 200, "OK", | 244 GURL("http://example.com/no_body.html"), 200, "OK", |
245 blink::WebServiceWorkerResponseTypeDefault, headers, "", 0, GURL()); | 245 blink::WebServiceWorkerResponseTypeDefault, headers, "", 0, GURL()); |
246 } | 246 } |
247 | 247 |
248 scoped_ptr<ServiceWorkerFetchRequest> CopyFetchRequest( | 248 scoped_ptr<ServiceWorkerFetchRequest> CopyFetchRequest( |
249 const ServiceWorkerFetchRequest& request) { | 249 const ServiceWorkerFetchRequest& request) { |
250 return make_scoped_ptr(new ServiceWorkerFetchRequest( | 250 return make_scoped_ptr(new ServiceWorkerFetchRequest( |
251 request.url, request.method, request.headers, request.referrer, | 251 request.url, request.method, request.headers, request.referrer, |
252 request.is_reload)); | 252 request.is_reload, request.client)); |
253 } | 253 } |
254 | 254 |
255 CacheStorageError BatchOperation( | 255 CacheStorageError BatchOperation( |
256 const std::vector<CacheStorageBatchOperation>& operations) { | 256 const std::vector<CacheStorageBatchOperation>& operations) { |
257 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); | 257 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
258 | 258 |
259 cache_->BatchOperation( | 259 cache_->BatchOperation( |
260 operations, | 260 operations, |
261 base::Bind(&CacheStorageCacheTest::ErrorTypeCallback, | 261 base::Bind(&CacheStorageCacheTest::ErrorTypeCallback, |
262 base::Unretained(this), base::Unretained(loop.get()))); | 262 base::Unretained(this), base::Unretained(loop.get()))); |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 ServiceWorkerHeaderMap(), "", 0, GURL()); | 744 ServiceWorkerHeaderMap(), "", 0, GURL()); |
745 response.headers["content-type"] = "foo"; | 745 response.headers["content-type"] = "foo"; |
746 response.headers["Content-Type"] = "bar"; | 746 response.headers["Content-Type"] = "bar"; |
747 EXPECT_EQ("bar", response.headers["content-type"]); | 747 EXPECT_EQ("bar", response.headers["content-type"]); |
748 } | 748 } |
749 | 749 |
750 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerFetchRequestHeaders) { | 750 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerFetchRequestHeaders) { |
751 // CacheStorageCache depends on ServiceWorkerFetchRequest having caseless | 751 // CacheStorageCache depends on ServiceWorkerFetchRequest having caseless |
752 // headers so that it can quickly lookup vary headers. | 752 // headers so that it can quickly lookup vary headers. |
753 ServiceWorkerFetchRequest request(GURL("http://www.example.com"), "GET", | 753 ServiceWorkerFetchRequest request(GURL("http://www.example.com"), "GET", |
754 ServiceWorkerHeaderMap(), Referrer(), | 754 ServiceWorkerHeaderMap(), Referrer(), false, |
755 false); | 755 ServiceWorkerClientInfo()); |
756 request.headers["content-type"] = "foo"; | 756 request.headers["content-type"] = "foo"; |
757 request.headers["Content-Type"] = "bar"; | 757 request.headers["Content-Type"] = "bar"; |
758 EXPECT_EQ("bar", request.headers["content-type"]); | 758 EXPECT_EQ("bar", request.headers["content-type"]); |
759 } | 759 } |
760 | 760 |
761 TEST_P(CacheStorageCacheTestP, QuotaManagerModified) { | 761 TEST_P(CacheStorageCacheTestP, QuotaManagerModified) { |
762 EXPECT_EQ(0, quota_manager_proxy_->notify_storage_modified_count()); | 762 EXPECT_EQ(0, quota_manager_proxy_->notify_storage_modified_count()); |
763 | 763 |
764 EXPECT_TRUE(Put(no_body_request_, no_body_response_)); | 764 EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
765 EXPECT_EQ(1, quota_manager_proxy_->notify_storage_modified_count()); | 765 EXPECT_EQ(1, quota_manager_proxy_->notify_storage_modified_count()); |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
862 EXPECT_EQ(1, sequence_out); | 862 EXPECT_EQ(1, sequence_out); |
863 close_loop2->Run(); | 863 close_loop2->Run(); |
864 EXPECT_EQ(2, sequence_out); | 864 EXPECT_EQ(2, sequence_out); |
865 } | 865 } |
866 | 866 |
867 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest, | 867 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest, |
868 CacheStorageCacheTestP, | 868 CacheStorageCacheTestP, |
869 ::testing::Values(false, true)); | 869 ::testing::Values(false, true)); |
870 | 870 |
871 } // namespace content | 871 } // namespace content |
OLD | NEW |