OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_test_utils.h" | 5 #include "content/browser/service_worker/service_worker_test_utils.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "content/browser/service_worker/service_worker_provider_host.h" | 9 #include "content/browser/service_worker/service_worker_provider_host.h" |
10 | 10 |
11 namespace content { | 11 namespace content { |
12 | 12 |
| 13 ServiceWorkerRemoteProviderEndpoint::ServiceWorkerRemoteProviderEndpoint() {} |
| 14 ServiceWorkerRemoteProviderEndpoint::ServiceWorkerRemoteProviderEndpoint( |
| 15 ServiceWorkerRemoteProviderEndpoint&& other) |
| 16 : host_ptr_(std::move(other.host_ptr_)), |
| 17 client_request_(std::move(other.client_request_)) {} |
| 18 |
| 19 ServiceWorkerRemoteProviderEndpoint::~ServiceWorkerRemoteProviderEndpoint() {} |
| 20 |
| 21 void ServiceWorkerRemoteProviderEndpoint::BindWithProviderHostInfo( |
| 22 content::ServiceWorkerProviderHostInfo* info) { |
| 23 mojom::ServiceWorkerProviderAssociatedPtr client_ptr; |
| 24 client_request_ = mojo::MakeIsolatedRequest(&client_ptr); |
| 25 info->client_ptr_info = client_ptr.PassInterface(); |
| 26 info->host_request = mojo::MakeIsolatedRequest(&host_ptr_); |
| 27 } |
| 28 |
13 std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostForWindow( | 29 std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostForWindow( |
14 int process_id, | 30 int process_id, |
15 int provider_id, | 31 int provider_id, |
16 bool is_parent_frame_secure, | 32 bool is_parent_frame_secure, |
17 base::WeakPtr<ServiceWorkerContextCore> context) { | 33 base::WeakPtr<ServiceWorkerContextCore> context, |
| 34 ServiceWorkerRemoteProviderEndpoint* output_endpoint) { |
18 ServiceWorkerProviderHostInfo info(provider_id, 1 /* route_id */, | 35 ServiceWorkerProviderHostInfo info(provider_id, 1 /* route_id */, |
19 SERVICE_WORKER_PROVIDER_FOR_WINDOW, | 36 SERVICE_WORKER_PROVIDER_FOR_WINDOW, |
20 is_parent_frame_secure); | 37 is_parent_frame_secure); |
| 38 output_endpoint->BindWithProviderHostInfo(&info); |
21 return ServiceWorkerProviderHost::Create(process_id, std::move(info), | 39 return ServiceWorkerProviderHost::Create(process_id, std::move(info), |
22 std::move(context), nullptr); | 40 std::move(context), nullptr); |
23 } | 41 } |
24 | 42 |
25 std::unique_ptr<ServiceWorkerProviderHost> | 43 std::unique_ptr<ServiceWorkerProviderHost> |
26 CreateProviderHostForServiceWorkerContext( | 44 CreateProviderHostForServiceWorkerContext( |
27 int process_id, | 45 int process_id, |
28 int provider_id, | 46 int provider_id, |
29 bool is_parent_frame_secure, | 47 bool is_parent_frame_secure, |
30 base::WeakPtr<ServiceWorkerContextCore> context) { | 48 base::WeakPtr<ServiceWorkerContextCore> context, |
| 49 ServiceWorkerRemoteProviderEndpoint* output_endpoint) { |
31 ServiceWorkerProviderHostInfo info(provider_id, MSG_ROUTING_NONE, | 50 ServiceWorkerProviderHostInfo info(provider_id, MSG_ROUTING_NONE, |
32 SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, | 51 SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, |
33 is_parent_frame_secure); | 52 is_parent_frame_secure); |
| 53 output_endpoint->BindWithProviderHostInfo(&info); |
34 return ServiceWorkerProviderHost::Create(process_id, std::move(info), | 54 return ServiceWorkerProviderHost::Create(process_id, std::move(info), |
35 std::move(context), nullptr); | 55 std::move(context), nullptr); |
36 } | 56 } |
37 | 57 |
38 std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostWithDispatcherHost( | 58 std::unique_ptr<ServiceWorkerProviderHost> CreateProviderHostWithDispatcherHost( |
39 int process_id, | 59 int process_id, |
40 int provider_id, | 60 int provider_id, |
41 base::WeakPtr<ServiceWorkerContextCore> context, | 61 base::WeakPtr<ServiceWorkerContextCore> context, |
42 int route_id, | 62 int route_id, |
43 ServiceWorkerDispatcherHost* dispatcher_host) { | 63 ServiceWorkerDispatcherHost* dispatcher_host, |
| 64 ServiceWorkerRemoteProviderEndpoint* output_endpoint) { |
44 ServiceWorkerProviderHostInfo info(provider_id, route_id, | 65 ServiceWorkerProviderHostInfo info(provider_id, route_id, |
45 SERVICE_WORKER_PROVIDER_FOR_WINDOW, true); | 66 SERVICE_WORKER_PROVIDER_FOR_WINDOW, true); |
| 67 output_endpoint->BindWithProviderHostInfo(&info); |
46 return ServiceWorkerProviderHost::Create(process_id, std::move(info), | 68 return ServiceWorkerProviderHost::Create(process_id, std::move(info), |
47 std::move(context), dispatcher_host); | 69 std::move(context), dispatcher_host); |
48 } | 70 } |
49 | 71 |
50 } // namespace content | 72 } // namespace content |
OLD | NEW |