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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 void DispatchFetchEvent(int fetch_event_id, | 172 void DispatchFetchEvent(int fetch_event_id, |
173 const ServiceWorkerFetchRequest& request, | 173 const ServiceWorkerFetchRequest& request, |
174 mojom::FetchEventPreloadHandlePtr preload_handle, | 174 mojom::FetchEventPreloadHandlePtr preload_handle, |
175 const DispatchFetchEventCallback& callback) override { | 175 const DispatchFetchEventCallback& callback) override { |
176 if (!helper_) | 176 if (!helper_) |
177 return; | 177 return; |
178 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, | 178 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, |
179 std::move(preload_handle), callback); | 179 std::move(preload_handle), callback); |
180 } | 180 } |
181 | 181 |
| 182 void DispatchPushEvent(const PushEventPayload& payload, |
| 183 const DispatchPushEventCallback& callback) override { |
| 184 if (!helper_) |
| 185 return; |
| 186 helper_->OnPushEventStub(payload, callback); |
| 187 } |
| 188 |
182 void DispatchSyncEvent( | 189 void DispatchSyncEvent( |
183 const std::string& tag, | 190 const std::string& tag, |
184 blink::mojom::BackgroundSyncEventLastChance last_chance, | 191 blink::mojom::BackgroundSyncEventLastChance last_chance, |
185 const DispatchSyncEventCallback& callback) override { | 192 const DispatchSyncEventCallback& callback) override { |
186 NOTIMPLEMENTED(); | 193 NOTIMPLEMENTED(); |
187 } | 194 } |
188 | 195 |
189 void DispatchExtendableMessageEvent( | 196 void DispatchExtendableMessageEvent( |
190 mojom::ExtendableMessageEventPtr event, | 197 mojom::ExtendableMessageEventPtr event, |
191 const DispatchExtendableMessageEventCallback& callback) override { | 198 const DispatchExtendableMessageEventCallback& callback) override { |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 } | 313 } |
307 | 314 |
308 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 315 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
309 int embedded_worker_id, | 316 int embedded_worker_id, |
310 const IPC::Message& message) { | 317 const IPC::Message& message) { |
311 bool handled = true; | 318 bool handled = true; |
312 current_embedded_worker_id_ = embedded_worker_id; | 319 current_embedded_worker_id_ = embedded_worker_id; |
313 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 320 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
314 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) | 321 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) |
315 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 322 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
316 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) | |
317 IPC_MESSAGE_UNHANDLED(handled = false) | 323 IPC_MESSAGE_UNHANDLED(handled = false) |
318 IPC_END_MESSAGE_MAP() | 324 IPC_END_MESSAGE_MAP() |
319 // Record all messages directed to inner script context. | 325 // Record all messages directed to inner script context. |
320 inner_sink_.OnMessageReceived(message); | 326 inner_sink_.OnMessageReceived(message); |
321 return handled; | 327 return handled; |
322 } | 328 } |
323 | 329 |
324 void EmbeddedWorkerTestHelper::OnSetupMojo( | 330 void EmbeddedWorkerTestHelper::OnSetupMojo( |
325 int thread_id, | 331 int thread_id, |
326 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { | 332 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, GURL(), | 373 base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, GURL(), |
368 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), | 374 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), |
369 false /* is_in_cache_storage */, | 375 false /* is_in_cache_storage */, |
370 std::string() /* cache_storage_cache_name */, | 376 std::string() /* cache_storage_cache_name */, |
371 base::MakeUnique< | 377 base::MakeUnique< |
372 ServiceWorkerHeaderList>() /* cors_exposed_header_names */), | 378 ServiceWorkerHeaderList>() /* cors_exposed_header_names */), |
373 base::Time::Now())); | 379 base::Time::Now())); |
374 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); | 380 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
375 } | 381 } |
376 | 382 |
377 void EmbeddedWorkerTestHelper::OnPushEvent(int embedded_worker_id, | 383 void EmbeddedWorkerTestHelper::OnPushEvent( |
378 int request_id, | 384 const PushEventPayload& payload, |
379 const PushEventPayload& payload) { | 385 const mojom::ServiceWorkerEventDispatcher::DispatchPushEventCallback& |
380 SimulateSend(new ServiceWorkerHostMsg_PushEventFinished( | 386 callback) { |
381 embedded_worker_id, request_id, | 387 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
382 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | |
383 } | 388 } |
384 | 389 |
385 void EmbeddedWorkerTestHelper::SimulateWorkerReadyForInspection( | 390 void EmbeddedWorkerTestHelper::SimulateWorkerReadyForInspection( |
386 int embedded_worker_id) { | 391 int embedded_worker_id) { |
387 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 392 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
388 ASSERT_TRUE(worker != NULL); | 393 ASSERT_TRUE(worker != NULL); |
389 registry()->OnWorkerReadyForInspection(worker->process_id(), | 394 registry()->OnWorkerReadyForInspection(worker->process_id(), |
390 embedded_worker_id); | 395 embedded_worker_id); |
391 } | 396 } |
392 | 397 |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 mojom::FetchEventPreloadHandlePtr preload_handle, | 528 mojom::FetchEventPreloadHandlePtr preload_handle, |
524 const FetchCallback& callback) { | 529 const FetchCallback& callback) { |
525 base::ThreadTaskRunnerHandle::Get()->PostTask( | 530 base::ThreadTaskRunnerHandle::Get()->PostTask( |
526 FROM_HERE, | 531 FROM_HERE, |
527 base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent, AsWeakPtr(), | 532 base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent, AsWeakPtr(), |
528 thread_id_embedded_worker_id_map_[thread_id], fetch_event_id, | 533 thread_id_embedded_worker_id_map_[thread_id], fetch_event_id, |
529 request, base::Passed(&preload_handle), callback)); | 534 request, base::Passed(&preload_handle), callback)); |
530 } | 535 } |
531 | 536 |
532 void EmbeddedWorkerTestHelper::OnPushEventStub( | 537 void EmbeddedWorkerTestHelper::OnPushEventStub( |
533 int request_id, | 538 const PushEventPayload& payload, |
534 const PushEventPayload& payload) { | 539 const mojom::ServiceWorkerEventDispatcher::DispatchPushEventCallback& |
| 540 callback) { |
535 base::ThreadTaskRunnerHandle::Get()->PostTask( | 541 base::ThreadTaskRunnerHandle::Get()->PostTask( |
536 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, AsWeakPtr(), | 542 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, AsWeakPtr(), |
537 current_embedded_worker_id_, request_id, payload)); | 543 payload, callback)); |
538 } | 544 } |
539 | 545 |
540 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { | 546 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { |
541 DCHECK(context()); | 547 DCHECK(context()); |
542 return context()->embedded_worker_registry(); | 548 return context()->embedded_worker_registry(); |
543 } | 549 } |
544 | 550 |
545 MessagePortMessageFilter* | 551 MessagePortMessageFilter* |
546 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() { | 552 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() { |
547 scoped_refptr<MessagePortMessageFilter> filter( | 553 scoped_refptr<MessagePortMessageFilter> filter( |
(...skipping 18 matching lines...) Expand all Loading... |
566 service_manager::InterfaceProviderSpec()); | 572 service_manager::InterfaceProviderSpec()); |
567 | 573 |
568 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 574 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
569 new service_manager::InterfaceProvider); | 575 new service_manager::InterfaceProvider); |
570 remote_interfaces->Bind(std::move(interfaces)); | 576 remote_interfaces->Bind(std::move(interfaces)); |
571 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 577 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
572 return registry; | 578 return registry; |
573 } | 579 } |
574 | 580 |
575 } // namespace content | 581 } // namespace content |
OLD | NEW |