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