| Index: content/browser/service_worker/service_worker_version_unittest.cc
|
| diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc
|
| index 5dc91dc05d06ae48c4f1990595461bde9776f237..e2df36af77c4d8cbec5638fd1b506b772bf86a7c 100644
|
| --- a/content/browser/service_worker/service_worker_version_unittest.cc
|
| +++ b/content/browser/service_worker/service_worker_version_unittest.cc
|
| @@ -18,6 +18,7 @@
|
| #include "content/browser/service_worker/embedded_worker_status.h"
|
| #include "content/browser/service_worker/embedded_worker_test_helper.h"
|
| #include "content/browser/service_worker/service_worker_context_core.h"
|
| +#include "content/browser/service_worker/service_worker_dispatcher_host.h"
|
| #include "content/browser/service_worker/service_worker_registration.h"
|
| #include "content/browser/service_worker/service_worker_test_utils.h"
|
| #include "content/common/service_worker/service_worker_utils.h"
|
| @@ -269,14 +270,15 @@ class MessageReceiverDisallowStart : public MessageReceiver {
|
|
|
| enum class StartMode { STALL, FAIL, SUCCEED };
|
|
|
| - void OnStartWorker(int embedded_worker_id,
|
| - int64_t service_worker_version_id,
|
| - const GURL& scope,
|
| - const GURL& script_url,
|
| - bool pause_after_download,
|
| - mojom::ServiceWorkerEventDispatcherRequest request,
|
| - mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo
|
| - instance_host) override {
|
| + void OnStartWorker(
|
| + int embedded_worker_id,
|
| + int64_t service_worker_version_id,
|
| + const GURL& scope,
|
| + const GURL& script_url,
|
| + bool pause_after_download,
|
| + mojom::ServiceWorkerEventDispatcherRequest request,
|
| + mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host,
|
| + mojom::ServiceWorkerProviderClientInfoPtr provider_client_info) override {
|
| switch (mode_) {
|
| case StartMode::STALL:
|
| // Prepare for OnStopWorker().
|
| @@ -292,7 +294,8 @@ class MessageReceiverDisallowStart : public MessageReceiver {
|
| case StartMode::SUCCEED:
|
| MessageReceiver::OnStartWorker(
|
| embedded_worker_id, service_worker_version_id, scope, script_url,
|
| - pause_after_download, std::move(request), std::move(instance_host));
|
| + pause_after_download, std::move(request), std::move(instance_host),
|
| + std::move(provider_client_info));
|
| break;
|
| }
|
| current_mock_instance_index_++;
|
| @@ -697,6 +700,11 @@ TEST_F(ServiceWorkerVersionTest, StoppingBeforeDestruct) {
|
| EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status());
|
| EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, listener.last_status);
|
|
|
| + // Release the reference to |version_|.
|
| + // Hosting provider has the reference to the |version_|.
|
| + helper_->context()->RemoveProviderHost(
|
| + version_->running_controller()->process_id(),
|
| + version_->running_controller()->provider_id());
|
| version_ = nullptr;
|
| EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, listener.last_status);
|
| }
|
| @@ -1103,9 +1111,10 @@ TEST_F(ServiceWorkerFailToStartTest, RendererCrash) {
|
| EXPECT_EQ(SERVICE_WORKER_ERROR_NETWORK, status);
|
| EXPECT_EQ(EmbeddedWorkerStatus::STARTING, version_->running_status());
|
|
|
| - // Simulate renderer crash: do what
|
| + // Simulate renderer crash: remove DispatcherHost like what
|
| // ServiceWorkerDispatcherHost::OnFilterRemoved does.
|
| - helper_->context()->RemoveDispatcherHost(helper_->mock_render_process_id());
|
| + helper_->RegisterMockDispatcherHost(helper_->mock_render_process_id(),
|
| + nullptr);
|
| base::RunLoop().RunUntilIdle();
|
|
|
| // Callback completed.
|
| @@ -1313,9 +1322,10 @@ TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) {
|
| // Callback has not completed yet.
|
| EXPECT_EQ(SERVICE_WORKER_OK, status);
|
|
|
| - // Simulate renderer crash: do what
|
| + // Simulate renderer crash: remove DispatcherHost like what
|
| // ServiceWorkerDispatcherHost::OnFilterRemoved does.
|
| - helper_->context()->RemoveDispatcherHost(helper_->mock_render_process_id());
|
| + helper_->RegisterMockDispatcherHost(helper_->mock_render_process_id(),
|
| + nullptr);
|
| base::RunLoop().RunUntilIdle();
|
|
|
| // Callback completed.
|
|
|