OLD | NEW |
---|---|
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/embedded_worker_test_helper.h" | 5 #include "content/browser/service_worker/embedded_worker_test_helper.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
54 ~MockMessagePortMessageFilter() override {} | 54 ~MockMessagePortMessageFilter() override {} |
55 base::AtomicSequenceNumber next_routing_id_; | 55 base::AtomicSequenceNumber next_routing_id_; |
56 ScopedVector<IPC::Message> message_queue_; | 56 ScopedVector<IPC::Message> message_queue_; |
57 }; | 57 }; |
58 | 58 |
59 } // namespace | 59 } // namespace |
60 | 60 |
61 class EmbeddedWorkerTestHelper::MockEmbeddedWorkerSetup | 61 class EmbeddedWorkerTestHelper::MockEmbeddedWorkerSetup |
62 : public mojom::EmbeddedWorkerSetup { | 62 : public mojom::EmbeddedWorkerSetup { |
63 public: | 63 public: |
64 explicit MockEmbeddedWorkerSetup( | |
65 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper) | |
66 : helper_(helper) {} | |
67 | |
68 static void Create(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 64 static void Create(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
69 mojom::EmbeddedWorkerSetupRequest request) { | 65 mojom::EmbeddedWorkerSetupRequest request) { |
70 mojo::MakeStrongBinding(base::MakeUnique<MockEmbeddedWorkerSetup>(helper), | 66 // TODO(shimazu): Remove this mock after EmbeddedWorkerSetup is removed. |
71 std::move(request)); | 67 NOTREACHED(); |
72 } | 68 } |
73 | 69 |
74 void AttachServiceWorkerEventDispatcher( | 70 void AttachServiceWorkerEventDispatcher( |
75 int32_t thread_id, | 71 int32_t thread_id, |
76 mojom::ServiceWorkerEventDispatcherRequest request) override { | 72 mojom::ServiceWorkerEventDispatcherRequest request) override { |
77 if (!helper_) | 73 NOTREACHED(); |
78 return; | |
79 helper_->OnSetupMojo(thread_id, std::move(request)); | |
80 } | 74 } |
81 | |
82 private: | |
83 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; | |
84 }; | 75 }; |
85 | 76 |
86 EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: | 77 EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: |
87 MockEmbeddedWorkerInstanceClient( | 78 MockEmbeddedWorkerInstanceClient( |
88 base::WeakPtr<EmbeddedWorkerTestHelper> helper) | 79 base::WeakPtr<EmbeddedWorkerTestHelper> helper) |
89 : helper_(helper), binding_(this) {} | 80 : helper_(helper), binding_(this) {} |
90 | 81 |
91 EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: | 82 EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: |
92 ~MockEmbeddedWorkerInstanceClient() {} | 83 ~MockEmbeddedWorkerInstanceClient() {} |
93 | 84 |
94 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StartWorker( | 85 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StartWorker( |
95 const EmbeddedWorkerStartParams& params, | 86 const EmbeddedWorkerStartParams& params, |
96 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { | 87 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { |
97 if (!helper_) | 88 if (!helper_) |
98 return; | 89 return; |
99 | 90 |
100 embedded_worker_id_ = params.embedded_worker_id; | 91 embedded_worker_id_ = params.embedded_worker_id; |
101 | 92 |
102 EmbeddedWorkerInstance* worker = | 93 EmbeddedWorkerInstance* worker = |
103 helper_->registry()->GetWorker(params.embedded_worker_id); | 94 helper_->registry()->GetWorker(params.embedded_worker_id); |
104 ASSERT_TRUE(worker != NULL); | 95 ASSERT_TRUE(worker != NULL); |
105 EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status()); | 96 EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status()); |
106 | 97 |
107 base::ThreadTaskRunnerHandle::Get()->PostTask( | 98 helper_->OnStartWorkerStub(params, std::move(dispatcher_request)); |
108 FROM_HERE, | |
109 base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, helper_->AsWeakPtr(), | |
110 params.embedded_worker_id, params.service_worker_version_id, | |
111 params.scope, params.script_url, params.pause_after_download)); | |
112 base::ThreadTaskRunnerHandle::Get()->PostTask( | |
113 FROM_HERE, | |
114 base::Bind(&EmbeddedWorkerTestHelper::OnSetupMojo, helper_->AsWeakPtr(), | |
115 worker->thread_id(), base::Passed(&dispatcher_request))); | |
116 } | 99 } |
117 | 100 |
118 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StopWorker( | 101 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::StopWorker( |
119 const StopWorkerCallback& callback) { | 102 const StopWorkerCallback& callback) { |
120 if (!helper_) | 103 if (!helper_) |
121 return; | 104 return; |
122 | 105 |
123 ASSERT_TRUE(embedded_worker_id_); | 106 ASSERT_TRUE(embedded_worker_id_); |
124 EmbeddedWorkerInstance* worker = | 107 EmbeddedWorkerInstance* worker = |
125 helper_->registry()->GetWorker(embedded_worker_id_.value()); | 108 helper_->registry()->GetWorker(embedded_worker_id_.value()); |
126 // |worker| is possible to be null when corresponding EmbeddedWorkerInstance | 109 // |worker| is possible to be null when corresponding EmbeddedWorkerInstance |
127 // is removed right after sending StopWorker. | 110 // is removed right after sending StopWorker. |
128 if (worker) | 111 if (worker) |
129 EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, worker->status()); | 112 EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, worker->status()); |
130 callback.Run(); | 113 helper_->OnStopWorkerStub(callback); |
131 } | 114 } |
132 | 115 |
133 // static | 116 // static |
134 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::Bind( | 117 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::Bind( |
135 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 118 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
136 mojom::EmbeddedWorkerInstanceClientRequest request) { | 119 mojom::EmbeddedWorkerInstanceClientRequest request) { |
137 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* clients = | 120 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* clients = |
138 helper->mock_instance_clients(); | 121 helper->mock_instance_clients(); |
139 size_t next_client_index = helper->mock_instance_clients_next_index_; | 122 size_t next_client_index = helper->mock_instance_clients_next_index_; |
140 | 123 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
249 | 232 |
250 bool EmbeddedWorkerTestHelper::Send(IPC::Message* message) { | 233 bool EmbeddedWorkerTestHelper::Send(IPC::Message* message) { |
251 OnMessageReceived(*message); | 234 OnMessageReceived(*message); |
252 delete message; | 235 delete message; |
253 return true; | 236 return true; |
254 } | 237 } |
255 | 238 |
256 bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) { | 239 bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) { |
257 bool handled = true; | 240 bool handled = true; |
258 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 241 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
259 IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StartWorker, OnStartWorkerStub) | |
260 IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload, | 242 IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload, |
261 OnResumeAfterDownloadStub) | 243 OnResumeAfterDownloadStub) |
262 IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StopWorker, OnStopWorkerStub) | |
263 IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker, | 244 IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker, |
264 OnMessageToWorkerStub) | 245 OnMessageToWorkerStub) |
265 IPC_MESSAGE_UNHANDLED(handled = false) | 246 IPC_MESSAGE_UNHANDLED(handled = false) |
266 IPC_END_MESSAGE_MAP() | 247 IPC_END_MESSAGE_MAP() |
267 | 248 |
268 // IPC::TestSink only records messages that are not handled by filters, | 249 // IPC::TestSink only records messages that are not handled by filters, |
269 // so we just forward all messages to the separate sink. | 250 // so we just forward all messages to the separate sink. |
270 sink_.OnMessageReceived(message); | 251 sink_.OnMessageReceived(message); |
271 | 252 |
272 return handled; | 253 return handled; |
(...skipping 18 matching lines...) Expand all Loading... | |
291 net::HttpResponseInfo info; | 272 net::HttpResponseInfo info; |
292 const char data[] = | 273 const char data[] = |
293 "HTTP/1.1 200 OK\0" | 274 "HTTP/1.1 200 OK\0" |
294 "Content-Type: application/javascript\0" | 275 "Content-Type: application/javascript\0" |
295 "\0"; | 276 "\0"; |
296 info.headers = | 277 info.headers = |
297 new net::HttpResponseHeaders(std::string(data, arraysize(data))); | 278 new net::HttpResponseHeaders(std::string(data, arraysize(data))); |
298 return info; | 279 return info; |
299 } | 280 } |
300 | 281 |
301 void EmbeddedWorkerTestHelper::OnStartWorker(int embedded_worker_id, | 282 void EmbeddedWorkerTestHelper::OnStartWorker( |
302 int64_t service_worker_version_id, | 283 int embedded_worker_id, |
303 const GURL& scope, | 284 int64_t service_worker_version_id, |
304 const GURL& script_url, | 285 const GURL& scope, |
305 bool pause_after_download) { | 286 const GURL& script_url, |
287 bool pause_after_download, | |
288 mojom::ServiceWorkerEventDispatcherRequest request) { | |
289 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | |
290 ASSERT_TRUE(worker != nullptr); | |
falken
2017/01/11 06:31:55
nit: Can drop the != nullptr
shimazu
2017/01/12 01:45:24
Done.
| |
291 MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), worker->thread_id(), | |
292 std::move(request)); | |
293 | |
306 embedded_worker_id_service_worker_version_id_map_[embedded_worker_id] = | 294 embedded_worker_id_service_worker_version_id_map_[embedded_worker_id] = |
307 service_worker_version_id; | 295 service_worker_version_id; |
308 SimulateWorkerReadyForInspection(embedded_worker_id); | 296 SimulateWorkerReadyForInspection(embedded_worker_id); |
309 SimulateWorkerScriptCached(embedded_worker_id); | 297 SimulateWorkerScriptCached(embedded_worker_id); |
310 SimulateWorkerScriptLoaded(embedded_worker_id); | 298 SimulateWorkerScriptLoaded(embedded_worker_id); |
311 if (!pause_after_download) | 299 if (!pause_after_download) |
312 OnResumeAfterDownload(embedded_worker_id); | 300 OnResumeAfterDownload(embedded_worker_id); |
313 } | 301 } |
314 | 302 |
315 void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) { | 303 void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) { |
316 SimulateWorkerThreadStarted(GetNextThreadId(), embedded_worker_id); | 304 SimulateWorkerThreadStarted(GetNextThreadId(), embedded_worker_id); |
317 SimulateWorkerScriptEvaluated(embedded_worker_id, true /* success */); | 305 SimulateWorkerScriptEvaluated(embedded_worker_id, true /* success */); |
318 SimulateWorkerStarted(embedded_worker_id); | 306 SimulateWorkerStarted(embedded_worker_id); |
319 } | 307 } |
320 | 308 |
321 void EmbeddedWorkerTestHelper::OnStopWorker(int embedded_worker_id) { | 309 void EmbeddedWorkerTestHelper::OnStopWorker( |
322 // By default just notify the sender that the worker is stopped. | 310 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback) { |
falken
2017/01/11 06:31:55
Can you comment why this does nothing but call the
shimazu
2017/01/12 01:45:24
Calling the callback means sending the response ba
falken
2017/01/12 02:29:05
OK I see now the old SimulateWorkerStopped just se
shimazu
2017/01/12 03:48:26
Done.
| |
323 SimulateWorkerStopped(embedded_worker_id); | 311 callback.Run(); |
324 } | 312 } |
325 | 313 |
326 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 314 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
327 int embedded_worker_id, | 315 int embedded_worker_id, |
328 const IPC::Message& message) { | 316 const IPC::Message& message) { |
329 bool handled = true; | 317 bool handled = true; |
330 current_embedded_worker_id_ = embedded_worker_id; | 318 current_embedded_worker_id_ = embedded_worker_id; |
331 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 319 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
332 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) | 320 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) |
333 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 321 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
334 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) | 322 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) |
335 IPC_MESSAGE_UNHANDLED(handled = false) | 323 IPC_MESSAGE_UNHANDLED(handled = false) |
336 IPC_END_MESSAGE_MAP() | 324 IPC_END_MESSAGE_MAP() |
337 // Record all messages directed to inner script context. | 325 // Record all messages directed to inner script context. |
338 inner_sink_.OnMessageReceived(message); | 326 inner_sink_.OnMessageReceived(message); |
339 return handled; | 327 return handled; |
340 } | 328 } |
341 | 329 |
342 void EmbeddedWorkerTestHelper::OnSetupMojo( | |
343 int thread_id, | |
344 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { | |
345 MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), thread_id, | |
346 std::move(dispatcher_request)); | |
347 } | |
348 | |
349 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, | 330 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, |
350 int request_id) { | 331 int request_id) { |
351 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( | 332 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( |
352 embedded_worker_id, request_id, | 333 embedded_worker_id, request_id, |
353 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | 334 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); |
354 } | 335 } |
355 | 336 |
356 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( | 337 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
357 mojom::ExtendableMessageEventPtr event, | 338 mojom::ExtendableMessageEventPtr event, |
358 const mojom::ServiceWorkerEventDispatcher:: | 339 const mojom::ServiceWorkerEventDispatcher:: |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
452 } | 433 } |
453 | 434 |
454 void EmbeddedWorkerTestHelper::SimulateWorkerStarted(int embedded_worker_id) { | 435 void EmbeddedWorkerTestHelper::SimulateWorkerStarted(int embedded_worker_id) { |
455 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 436 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
456 ASSERT_TRUE(worker != NULL); | 437 ASSERT_TRUE(worker != NULL); |
457 registry()->OnWorkerStarted(worker->process_id(), embedded_worker_id); | 438 registry()->OnWorkerStarted(worker->process_id(), embedded_worker_id); |
458 } | 439 } |
459 | 440 |
460 void EmbeddedWorkerTestHelper::SimulateWorkerStopped(int embedded_worker_id) { | 441 void EmbeddedWorkerTestHelper::SimulateWorkerStopped(int embedded_worker_id) { |
461 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 442 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
462 if (worker != NULL) | 443 ASSERT_TRUE(worker != NULL); |
falken
2017/01/11 06:31:55
ASSERT_TRUE(worker) or else change to nullptr
shimazu
2017/01/12 01:45:24
Oops, that's not my intended modification. Restore
| |
463 registry()->OnWorkerStopped(worker->process_id(), embedded_worker_id); | 444 registry()->OnWorkerStopped(worker->process_id(), embedded_worker_id); |
464 } | 445 } |
465 | 446 |
466 void EmbeddedWorkerTestHelper::SimulateSend(IPC::Message* message) { | 447 void EmbeddedWorkerTestHelper::SimulateSend(IPC::Message* message) { |
467 registry()->OnMessageReceived(*message, mock_render_process_id_); | 448 registry()->OnMessageReceived(*message, mock_render_process_id_); |
468 delete message; | 449 delete message; |
469 } | 450 } |
470 | 451 |
471 void EmbeddedWorkerTestHelper::OnStartWorkerStub( | 452 void EmbeddedWorkerTestHelper::OnStartWorkerStub( |
472 const EmbeddedWorkerStartParams& params) { | 453 const EmbeddedWorkerStartParams& params, |
454 mojom::ServiceWorkerEventDispatcherRequest request) { | |
473 EmbeddedWorkerInstance* worker = | 455 EmbeddedWorkerInstance* worker = |
474 registry()->GetWorker(params.embedded_worker_id); | 456 registry()->GetWorker(params.embedded_worker_id); |
475 ASSERT_TRUE(worker != NULL); | 457 ASSERT_TRUE(worker != NULL); |
476 EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status()); | 458 EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status()); |
477 base::ThreadTaskRunnerHandle::Get()->PostTask( | 459 base::ThreadTaskRunnerHandle::Get()->PostTask( |
478 FROM_HERE, | 460 FROM_HERE, |
479 base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, AsWeakPtr(), | 461 base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, AsWeakPtr(), |
480 params.embedded_worker_id, params.service_worker_version_id, | 462 params.embedded_worker_id, params.service_worker_version_id, |
481 params.scope, params.script_url, params.pause_after_download)); | 463 params.scope, params.script_url, params.pause_after_download, |
464 base::Passed(&request))); | |
482 } | 465 } |
483 | 466 |
484 void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub( | 467 void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub( |
485 int embedded_worker_id) { | 468 int embedded_worker_id) { |
486 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 469 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
487 ASSERT_TRUE(worker); | 470 ASSERT_TRUE(worker); |
488 base::ThreadTaskRunnerHandle::Get()->PostTask( | 471 base::ThreadTaskRunnerHandle::Get()->PostTask( |
489 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload, | 472 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload, |
490 AsWeakPtr(), embedded_worker_id)); | 473 AsWeakPtr(), embedded_worker_id)); |
491 } | 474 } |
492 | 475 |
493 void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) { | 476 void EmbeddedWorkerTestHelper::OnStopWorkerStub( |
494 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 477 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback) { |
495 ASSERT_TRUE(worker != NULL); | |
496 base::ThreadTaskRunnerHandle::Get()->PostTask( | 478 base::ThreadTaskRunnerHandle::Get()->PostTask( |
497 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker, | 479 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker, |
498 AsWeakPtr(), embedded_worker_id)); | 480 AsWeakPtr(), callback)); |
499 } | 481 } |
500 | 482 |
501 void EmbeddedWorkerTestHelper::OnMessageToWorkerStub( | 483 void EmbeddedWorkerTestHelper::OnMessageToWorkerStub( |
502 int thread_id, | 484 int thread_id, |
503 int embedded_worker_id, | 485 int embedded_worker_id, |
504 const IPC::Message& message) { | 486 const IPC::Message& message) { |
505 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 487 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
506 ASSERT_TRUE(worker != NULL); | 488 ASSERT_TRUE(worker != NULL); |
507 EXPECT_EQ(worker->thread_id(), thread_id); | 489 EXPECT_EQ(worker->thread_id(), thread_id); |
508 base::ThreadTaskRunnerHandle::Get()->PostTask( | 490 base::ThreadTaskRunnerHandle::Get()->PostTask( |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
585 service_manager::InterfaceProviderSpec()); | 567 service_manager::InterfaceProviderSpec()); |
586 | 568 |
587 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 569 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
588 new service_manager::InterfaceProvider); | 570 new service_manager::InterfaceProvider); |
589 remote_interfaces->Bind(std::move(interfaces)); | 571 remote_interfaces->Bind(std::move(interfaces)); |
590 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 572 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
591 return registry; | 573 return registry; |
592 } | 574 } |
593 | 575 |
594 } // namespace content | 576 } // namespace content |
OLD | NEW |