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 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1426 base::RunLoop().RunUntilIdle(); | 1430 base::RunLoop().RunUntilIdle(); |
1427 | 1431 |
1428 // The fetch event request should no longer be in-flight. | 1432 // The fetch event request should no longer be in-flight. |
1429 EXPECT_FALSE(version_->HasWork()); | 1433 EXPECT_FALSE(version_->HasWork()); |
1430 } | 1434 } |
1431 | 1435 |
1432 // TODO(kinuko): Add more tests with different response data and also for | 1436 // TODO(kinuko): Add more tests with different response data and also for |
1433 // FallbackToNetwork case. | 1437 // FallbackToNetwork case. |
1434 | 1438 |
1435 } // namespace content | 1439 } // namespace content |
OLD | NEW |