Chromium Code Reviews| Index: content/browser/service_worker/service_worker_test_utils.cc |
| diff --git a/content/browser/service_worker/service_worker_test_utils.cc b/content/browser/service_worker/service_worker_test_utils.cc |
| index 4c8f7390b91924cba6bc779d126ad9be89b5cfe6..5f29a3067d53934de6dc3d9719fdc20c98a24d72 100644 |
| --- a/content/browser/service_worker/service_worker_test_utils.cc |
| +++ b/content/browser/service_worker/service_worker_test_utils.cc |
| @@ -7,6 +7,8 @@ |
| #include <utility> |
| #include "content/browser/service_worker/service_worker_provider_host.h" |
| +#include "content/common/service_worker/service_worker_provider.mojom.h" |
| +#include "content/public/common/child_process_host.h" |
| namespace content { |
| @@ -26,6 +28,12 @@ void ServiceWorkerRemoteProviderEndpoint::BindWithProviderHostInfo( |
| info->host_request = mojo::MakeIsolatedRequest(&host_ptr_); |
| } |
| +void ServiceWorkerRemoteProviderEndpoint::BindWithProviderClientInfo( |
| + mojom::ServiceWorkerProviderClientInfo* info) { |
|
dcheng
2017/06/20 21:09:47
FWIW, I think it's a little surprising that this i
shimazu
2017/06/21 03:11:26
Thanks. I agree that passing move-only object by v
dcheng
2017/06/21 05:45:06
I guess it's a matter of semantics. With MakeReque
shimazu
2017/06/21 06:27:14
I see, unless the ProviderClientInfo is used on th
|
| + client_request_ = std::move(info->client_request); |
| + host_ptr_.Bind(std::move(info->host_ptr_info)); |
| +} |
| + |
| std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostForWindow( |
| int process_id, |
| int provider_id, |
| @@ -43,16 +51,19 @@ std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostForWindow( |
| std::unique_ptr<ServiceWorkerProviderHost> |
| CreateProviderHostForServiceWorkerContext( |
| int process_id, |
| - int provider_id, |
| bool is_parent_frame_secure, |
| + ServiceWorkerVersion* hosted_version, |
| base::WeakPtr<ServiceWorkerContextCore> context, |
| ServiceWorkerRemoteProviderEndpoint* output_endpoint) { |
| - ServiceWorkerProviderHostInfo info(provider_id, MSG_ROUTING_NONE, |
| - SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, |
| - is_parent_frame_secure); |
| - output_endpoint->BindWithProviderHostInfo(&info); |
| - return ServiceWorkerProviderHost::Create(process_id, std::move(info), |
| - std::move(context), nullptr); |
| + ServiceWorkerProviderHostInfo info( |
| + kInvalidServiceWorkerProviderId, MSG_ROUTING_NONE, |
| + SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, is_parent_frame_secure); |
| + std::unique_ptr<ServiceWorkerProviderHost> host = |
| + ServiceWorkerProviderHost::PreCreateForController(std::move(context)); |
| + mojom::ServiceWorkerProviderClientInfoPtr provider_client_info = |
| + host->CompleteStartWorkerPreparation(process_id, hosted_version); |
| + output_endpoint->BindWithProviderClientInfo(provider_client_info.get()); |
| + return host; |
| } |
| std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostWithDispatcherHost( |