| Index: content/browser/service_worker/embedded_worker_instance_unittest.cc
 | 
| diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc
 | 
| index ea9adb81cca6d1d4d40a0a97573353ac515d1653..94ac7e9cf539e624044c8096190ed161e09155c2 100644
 | 
| --- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
 | 
| +++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
 | 
| @@ -153,20 +153,32 @@ class StalledInStartWorkerHelper : public EmbeddedWorkerTestHelper {
 | 
|    StalledInStartWorkerHelper() : EmbeddedWorkerTestHelper(base::FilePath()) {}
 | 
|    ~StalledInStartWorkerHelper() 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) 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) override {
 | 
|      if (force_stall_in_start_) {
 | 
| +      // Prepare for OnStopWorker().
 | 
| +      instance_host_ptr_map_[embedded_worker_id].Bind(std::move(instance_host));
 | 
|        // Do nothing to simulate a stall in the worker process.
 | 
|        return;
 | 
|      }
 | 
|      EmbeddedWorkerTestHelper::OnStartWorker(
 | 
|          embedded_worker_id, service_worker_version_id, scope, script_url,
 | 
| -        pause_after_download, std::move(request));
 | 
| +        pause_after_download, std::move(request), std::move(instance_host));
 | 
| +  }
 | 
| +
 | 
| +  void OnStopWorker(int embedded_worker_id) override {
 | 
| +    if (instance_host_ptr_map_[embedded_worker_id]) {
 | 
| +      instance_host_ptr_map_[embedded_worker_id]->OnStopped();
 | 
| +      base::RunLoop().RunUntilIdle();
 | 
| +      return;
 | 
| +    }
 | 
| +    EmbeddedWorkerTestHelper::OnStopWorker(embedded_worker_id);
 | 
|    }
 | 
|  
 | 
|    void set_force_stall_in_start(bool force_stall_in_start) {
 | 
| @@ -175,6 +187,11 @@ class StalledInStartWorkerHelper : public EmbeddedWorkerTestHelper {
 | 
|  
 | 
|   private:
 | 
|    bool force_stall_in_start_ = true;
 | 
| +
 | 
| +  std::map<
 | 
| +      int /* embedded_worker_id */,
 | 
| +      mojom::EmbeddedWorkerInstanceHostAssociatedPtr /* instance_host_ptr */>
 | 
| +      instance_host_ptr_map_;
 | 
|  };
 | 
|  
 | 
|  TEST_F(EmbeddedWorkerInstanceTest, StartAndStop) {
 | 
| @@ -708,7 +725,9 @@ class FailEmbeddedWorkerInstanceClientImpl
 | 
|   private:
 | 
|    void StartWorker(
 | 
|        const EmbeddedWorkerStartParams& /* unused */,
 | 
| -      mojom::ServiceWorkerEventDispatcherRequest /* unused */) override {
 | 
| +      mojom::ServiceWorkerEventDispatcherRequest /* unused */,
 | 
| +      mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo /* unused */)
 | 
| +      override {
 | 
|      helper_->mock_instance_clients()->clear();
 | 
|    }
 | 
|  };
 | 
| 
 |