Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: content/browser/service_worker/service_worker_url_request_job_unittest.cc

Issue 2779763004: Create ServiceWorkerProviderHost before starting worker (Closed)
Patch Set: Addressed comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698