| 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/service_worker/service_worker_url_request_job.h" | 5 #include "content/browser/service_worker/service_worker_url_request_job.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 ~DelayHelper() override {} | 432 ~DelayHelper() override {} |
| 433 | 433 |
| 434 void CompleteNavigationPreload() { | 434 void CompleteNavigationPreload() { |
| 435 test_->handler()->job()->OnNavigationPreloadResponse(); | 435 test_->handler()->job()->OnNavigationPreloadResponse(); |
| 436 } | 436 } |
| 437 | 437 |
| 438 void CompleteStartWorker() { | 438 void CompleteStartWorker() { |
| 439 EmbeddedWorkerTestHelper::OnStartWorker( | 439 EmbeddedWorkerTestHelper::OnStartWorker( |
| 440 embedded_worker_id_, service_worker_version_id_, scope_, script_url_, | 440 embedded_worker_id_, service_worker_version_id_, scope_, script_url_, |
| 441 pause_after_download_, std::move(start_worker_request_), | 441 pause_after_download_, std::move(start_worker_request_), |
| 442 std::move(start_worker_instance_host_)); | 442 std::move(start_worker_instance_host_), |
| 443 std::move(provider_client_info_)); |
| 443 } | 444 } |
| 444 | 445 |
| 445 void Respond() { | 446 void Respond() { |
| 446 response_callback_->OnResponse( | 447 response_callback_->OnResponse( |
| 447 ServiceWorkerResponse( | 448 ServiceWorkerResponse( |
| 448 base::MakeUnique<std::vector<GURL>>(), 200, "OK", | 449 base::MakeUnique<std::vector<GURL>>(), 200, "OK", |
| 449 blink::kWebServiceWorkerResponseTypeDefault, | 450 blink::kWebServiceWorkerResponseTypeDefault, |
| 450 base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, | 451 base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, |
| 451 blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), | 452 blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), |
| 452 false /* response_is_in_cache_storage */, | 453 false /* response_is_in_cache_storage */, |
| 453 std::string() /* response_cache_storage_cache_name */, | 454 std::string() /* response_cache_storage_cache_name */, |
| 454 base::MakeUnique< | 455 base::MakeUnique< |
| 455 ServiceWorkerHeaderList>() /* cors_exposed_header_names */), | 456 ServiceWorkerHeaderList>() /* cors_exposed_header_names */), |
| 456 base::Time::Now()); | 457 base::Time::Now()); |
| 457 std::move(finish_callback_).Run(SERVICE_WORKER_OK, base::Time::Now()); | 458 std::move(finish_callback_).Run(SERVICE_WORKER_OK, base::Time::Now()); |
| 458 } | 459 } |
| 459 | 460 |
| 460 protected: | 461 protected: |
| 461 void OnStartWorker(int embedded_worker_id, | 462 void OnStartWorker( |
| 462 int64_t service_worker_version_id, | 463 int embedded_worker_id, |
| 463 const GURL& scope, | 464 int64_t service_worker_version_id, |
| 464 const GURL& script_url, | 465 const GURL& scope, |
| 465 bool pause_after_download, | 466 const GURL& script_url, |
| 466 mojom::ServiceWorkerEventDispatcherRequest request, | 467 bool pause_after_download, |
| 467 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo | 468 mojom::ServiceWorkerEventDispatcherRequest request, |
| 468 instance_host) override { | 469 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host, |
| 470 mojom::ServiceWorkerProviderClientInfoPtr provider_client_info) override { |
| 469 embedded_worker_id_ = embedded_worker_id; | 471 embedded_worker_id_ = embedded_worker_id; |
| 470 service_worker_version_id_ = service_worker_version_id; | 472 service_worker_version_id_ = service_worker_version_id; |
| 471 scope_ = scope; | 473 scope_ = scope; |
| 472 script_url_ = script_url; | 474 script_url_ = script_url; |
| 473 pause_after_download_ = pause_after_download; | 475 pause_after_download_ = pause_after_download; |
| 474 start_worker_request_ = std::move(request); | 476 start_worker_request_ = std::move(request); |
| 475 start_worker_instance_host_ = std::move(instance_host); | 477 start_worker_instance_host_ = std::move(instance_host); |
| 478 provider_client_info_ = std::move(provider_client_info); |
| 476 } | 479 } |
| 477 | 480 |
| 478 void OnFetchEvent( | 481 void OnFetchEvent( |
| 479 int embedded_worker_id, | 482 int embedded_worker_id, |
| 480 int fetch_event_id, | 483 int fetch_event_id, |
| 481 const ServiceWorkerFetchRequest& /* request */, | 484 const ServiceWorkerFetchRequest& /* request */, |
| 482 mojom::FetchEventPreloadHandlePtr preload_handle, | 485 mojom::FetchEventPreloadHandlePtr preload_handle, |
| 483 mojom::ServiceWorkerFetchResponseCallbackPtr response_callback, | 486 mojom::ServiceWorkerFetchResponseCallbackPtr response_callback, |
| 484 FetchCallback finish_callback) override { | 487 FetchCallback finish_callback) override { |
| 485 embedded_worker_id_ = embedded_worker_id; | 488 embedded_worker_id_ = embedded_worker_id; |
| 486 fetch_event_id_ = fetch_event_id; | 489 fetch_event_id_ = fetch_event_id; |
| 487 response_callback_ = std::move(response_callback); | 490 response_callback_ = std::move(response_callback); |
| 488 finish_callback_ = std::move(finish_callback); | 491 finish_callback_ = std::move(finish_callback); |
| 489 preload_handle_ = std::move(preload_handle); | 492 preload_handle_ = std::move(preload_handle); |
| 490 } | 493 } |
| 491 | 494 |
| 492 private: | 495 private: |
| 493 int64_t service_worker_version_id_; | 496 int64_t service_worker_version_id_; |
| 494 GURL scope_; | 497 GURL scope_; |
| 495 GURL script_url_; | 498 GURL script_url_; |
| 496 bool pause_after_download_; | 499 bool pause_after_download_; |
| 497 mojom::ServiceWorkerEventDispatcherRequest start_worker_request_; | 500 mojom::ServiceWorkerEventDispatcherRequest start_worker_request_; |
| 498 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo | 501 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo |
| 499 start_worker_instance_host_; | 502 start_worker_instance_host_; |
| 503 mojom::ServiceWorkerProviderClientInfoPtr provider_client_info_; |
| 500 int embedded_worker_id_ = 0; | 504 int embedded_worker_id_ = 0; |
| 501 int fetch_event_id_ = 0; | 505 int fetch_event_id_ = 0; |
| 502 mojom::ServiceWorkerFetchResponseCallbackPtr response_callback_; | 506 mojom::ServiceWorkerFetchResponseCallbackPtr response_callback_; |
| 503 mojom::FetchEventPreloadHandlePtr preload_handle_; | 507 mojom::FetchEventPreloadHandlePtr preload_handle_; |
| 504 FetchCallback finish_callback_; | 508 FetchCallback finish_callback_; |
| 505 ServiceWorkerURLRequestJobTest* test_; | 509 ServiceWorkerURLRequestJobTest* test_; |
| 506 DISALLOW_COPY_AND_ASSIGN(DelayHelper); | 510 DISALLOW_COPY_AND_ASSIGN(DelayHelper); |
| 507 }; | 511 }; |
| 508 | 512 |
| 509 TEST_F(ServiceWorkerURLRequestJobTest, | 513 TEST_F(ServiceWorkerURLRequestJobTest, |
| (...skipping 914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1424 base::RunLoop().RunUntilIdle(); | 1428 base::RunLoop().RunUntilIdle(); |
| 1425 | 1429 |
| 1426 // The fetch event request should no longer be in-flight. | 1430 // The fetch event request should no longer be in-flight. |
| 1427 EXPECT_FALSE(version_->HasWork()); | 1431 EXPECT_FALSE(version_->HasWork()); |
| 1428 } | 1432 } |
| 1429 | 1433 |
| 1430 // TODO(kinuko): Add more tests with different response data and also for | 1434 // TODO(kinuko): Add more tests with different response data and also for |
| 1431 // FallbackToNetwork case. | 1435 // FallbackToNetwork case. |
| 1432 | 1436 |
| 1433 } // namespace content | 1437 } // namespace content |
| OLD | NEW |