OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/service_worker/foreign_fetch_request_handler.h" | 5 #include "content/browser/service_worker/foreign_fetch_request_handler.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/test/simple_test_tick_clock.h" | 9 #include "base/test/simple_test_tick_clock.h" |
10 #include "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 64 |
65 void SetUp() override { | 65 void SetUp() override { |
66 const GURL kScope("https://valid.example.com/scope/"); | 66 const GURL kScope("https://valid.example.com/scope/"); |
67 const GURL kResource1("https://valid.example.com/scope/sw.js"); | 67 const GURL kResource1("https://valid.example.com/scope/sw.js"); |
68 const int64_t kRegistrationId = 0; | 68 const int64_t kRegistrationId = 0; |
69 const int64_t kVersionId = 0; | 69 const int64_t kVersionId = 0; |
70 helper_.reset(new EmbeddedWorkerTestHelper(base::FilePath())); | 70 helper_.reset(new EmbeddedWorkerTestHelper(base::FilePath())); |
71 | 71 |
72 // Create a registration for the worker which has foreign fetch event | 72 // Create a registration for the worker which has foreign fetch event |
73 // handler. | 73 // handler. |
74 registration_ = new ServiceWorkerRegistration(kScope, kRegistrationId, | 74 registration_ = new ServiceWorkerRegistration( |
75 context()->AsWeakPtr()); | 75 kScope, false /* use_cache */, kRegistrationId, context()->AsWeakPtr()); |
76 version_ = new ServiceWorkerVersion(registration_.get(), kResource1, | 76 version_ = new ServiceWorkerVersion(registration_.get(), kResource1, |
77 kVersionId, context()->AsWeakPtr()); | 77 kVersionId, context()->AsWeakPtr()); |
78 version_->set_foreign_fetch_scopes({kScope}); | 78 version_->set_foreign_fetch_scopes({kScope}); |
79 | 79 |
80 context()->storage()->LazyInitialize(base::Bind(&EmptyCallback)); | 80 context()->storage()->LazyInitialize(base::Bind(&EmptyCallback)); |
81 base::RunLoop().RunUntilIdle(); | 81 base::RunLoop().RunUntilIdle(); |
82 | 82 |
83 // Persist the registration data. | 83 // Persist the registration data. |
84 std::vector<ServiceWorkerDatabase::ResourceRecord> records; | 84 std::vector<ServiceWorkerDatabase::ResourceRecord> records; |
85 records.push_back( | 85 records.push_back( |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 helper_->mock_render_process_id(), kMockProviderId, | 172 helper_->mock_render_process_id(), kMockProviderId, |
173 true /* is_parent_frame_secure */, helper_->context()->AsWeakPtr()); | 173 true /* is_parent_frame_secure */, helper_->context()->AsWeakPtr()); |
174 EXPECT_FALSE( | 174 EXPECT_FALSE( |
175 context()->GetProviderHost(host->process_id(), host->provider_id())); | 175 context()->GetProviderHost(host->process_id(), host->provider_id())); |
176 provider_host_ = host->AsWeakPtr(); | 176 provider_host_ = host->AsWeakPtr(); |
177 context()->AddProviderHost(std::move(host)); | 177 context()->AddProviderHost(std::move(host)); |
178 | 178 |
179 // Create another worker whose requests will be intercepted by the foreign | 179 // Create another worker whose requests will be intercepted by the foreign |
180 // fetch event handler. | 180 // fetch event handler. |
181 scoped_refptr<ServiceWorkerRegistration> registration = | 181 scoped_refptr<ServiceWorkerRegistration> registration = |
182 new ServiceWorkerRegistration(GURL("https://host/scope"), 1L, | 182 new ServiceWorkerRegistration(GURL("https://host/scope"), |
| 183 false /* use_cache */, 1L, |
183 context()->AsWeakPtr()); | 184 context()->AsWeakPtr()); |
184 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( | 185 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( |
185 registration.get(), GURL("https://host/script.js"), 1L, | 186 registration.get(), GURL("https://host/script.js"), 1L, |
186 context()->AsWeakPtr()); | 187 context()->AsWeakPtr()); |
187 | 188 |
188 std::vector<ServiceWorkerDatabase::ResourceRecord> records; | 189 std::vector<ServiceWorkerDatabase::ResourceRecord> records; |
189 records.push_back( | 190 records.push_back( |
190 ServiceWorkerDatabase::ResourceRecord(10, version->script_url(), 100)); | 191 ServiceWorkerDatabase::ResourceRecord(10, version->script_url(), 100)); |
191 version->script_cache_map()->SetResources(records); | 192 version->script_cache_map()->SetResources(records); |
192 version->set_fetch_handler_existence( | 193 version->set_fetch_handler_existence( |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 // Make sure new request only gets remaining timeout. | 378 // Make sure new request only gets remaining timeout. |
378 ForeignFetchRequestHandler* handler = | 379 ForeignFetchRequestHandler* handler = |
379 InitializeHandler("https://valid.example.com/foo", RESOURCE_TYPE_IMAGE, | 380 InitializeHandler("https://valid.example.com/foo", RESOURCE_TYPE_IMAGE, |
380 nullptr /* initiator */); | 381 nullptr /* initiator */); |
381 ASSERT_TRUE(handler); | 382 ASSERT_TRUE(handler); |
382 ASSERT_TRUE(timeout_for_request(handler).has_value()); | 383 ASSERT_TRUE(timeout_for_request(handler).has_value()); |
383 EXPECT_EQ(remaining_time, timeout_for_request(handler).value()); | 384 EXPECT_EQ(remaining_time, timeout_for_request(handler).value()); |
384 } | 385 } |
385 | 386 |
386 } // namespace content | 387 } // namespace content |
OLD | NEW |