OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/renderer/service_worker/service_worker_context_client.h" | 5 #include "content/renderer/service_worker/service_worker_context_client.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 ServiceWorkerContextClient::~ServiceWorkerContextClient() {} | 245 ServiceWorkerContextClient::~ServiceWorkerContextClient() {} |
246 | 246 |
247 void ServiceWorkerContextClient::OnMessageReceived( | 247 void ServiceWorkerContextClient::OnMessageReceived( |
248 int thread_id, | 248 int thread_id, |
249 int embedded_worker_id, | 249 int embedded_worker_id, |
250 const IPC::Message& message) { | 250 const IPC::Message& message) { |
251 CHECK_EQ(embedded_worker_id_, embedded_worker_id); | 251 CHECK_EQ(embedded_worker_id_, embedded_worker_id); |
252 bool handled = true; | 252 bool handled = true; |
253 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerContextClient, message) | 253 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerContextClient, message) |
254 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEvent) | 254 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEvent) |
| 255 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ExtendableMessageEvent, |
| 256 OnExtendableMessageEvent) |
255 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) | 257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) |
256 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) | 258 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) |
257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, | 259 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, |
258 OnNotificationClickEvent) | 260 OnNotificationClickEvent) |
259 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent) | 261 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent) |
260 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_GeofencingEvent, OnGeofencingEvent) | 262 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_GeofencingEvent, OnGeofencingEvent) |
261 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage) | 263 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage) |
262 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_CrossOriginMessageToWorker, | 264 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_CrossOriginMessageToWorker, |
263 OnCrossOriginMessageToWorker) | 265 OnCrossOriginMessageToWorker) |
264 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClients, OnDidGetClients) | 266 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClients, OnDidGetClients) |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 message.utf8(), state_cookie.utf8()); | 483 message.utf8(), state_cookie.utf8()); |
482 } | 484 } |
483 | 485 |
484 void ServiceWorkerContextClient::didHandleActivateEvent( | 486 void ServiceWorkerContextClient::didHandleActivateEvent( |
485 int request_id, | 487 int request_id, |
486 blink::WebServiceWorkerEventResult result) { | 488 blink::WebServiceWorkerEventResult result) { |
487 Send(new ServiceWorkerHostMsg_ActivateEventFinished( | 489 Send(new ServiceWorkerHostMsg_ActivateEventFinished( |
488 GetRoutingID(), request_id, result)); | 490 GetRoutingID(), request_id, result)); |
489 } | 491 } |
490 | 492 |
| 493 void ServiceWorkerContextClient::didHandleExtendableMessageEvent( |
| 494 int request_id, |
| 495 blink::WebServiceWorkerEventResult result) { |
| 496 Send(new ServiceWorkerHostMsg_ExtendableMessageEventFinished( |
| 497 GetRoutingID(), request_id, result)); |
| 498 } |
| 499 |
491 void ServiceWorkerContextClient::didHandleInstallEvent( | 500 void ServiceWorkerContextClient::didHandleInstallEvent( |
492 int request_id, | 501 int request_id, |
493 blink::WebServiceWorkerEventResult result) { | 502 blink::WebServiceWorkerEventResult result) { |
494 Send(new ServiceWorkerHostMsg_InstallEventFinished( | 503 Send(new ServiceWorkerHostMsg_InstallEventFinished( |
495 GetRoutingID(), request_id, result)); | 504 GetRoutingID(), request_id, result)); |
496 } | 505 } |
497 | 506 |
498 void ServiceWorkerContextClient::didHandleFetchEvent(int request_id) { | 507 void ServiceWorkerContextClient::didHandleFetchEvent(int request_id) { |
499 Send(new ServiceWorkerHostMsg_FetchEventFinished( | 508 Send(new ServiceWorkerHostMsg_FetchEventFinished( |
500 GetRoutingID(), request_id, | 509 GetRoutingID(), request_id, |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 proxy_->setRegistration( | 708 proxy_->setRegistration( |
700 WebServiceWorkerRegistrationImpl::CreateHandle(registration)); | 709 WebServiceWorkerRegistrationImpl::CreateHandle(registration)); |
701 } | 710 } |
702 | 711 |
703 void ServiceWorkerContextClient::OnActivateEvent(int request_id) { | 712 void ServiceWorkerContextClient::OnActivateEvent(int request_id) { |
704 TRACE_EVENT0("ServiceWorker", | 713 TRACE_EVENT0("ServiceWorker", |
705 "ServiceWorkerContextClient::OnActivateEvent"); | 714 "ServiceWorkerContextClient::OnActivateEvent"); |
706 proxy_->dispatchActivateEvent(request_id); | 715 proxy_->dispatchActivateEvent(request_id); |
707 } | 716 } |
708 | 717 |
| 718 void ServiceWorkerContextClient::OnExtendableMessageEvent( |
| 719 int request_id, |
| 720 const base::string16& message, |
| 721 const std::vector<TransferredMessagePort>& sent_message_ports, |
| 722 const std::vector<int>& new_routing_ids) { |
| 723 TRACE_EVENT0("ServiceWorker", |
| 724 "ServiceWorkerContextClient::OnExtendableMessageEvent"); |
| 725 blink::WebMessagePortChannelArray ports = |
| 726 WebMessagePortChannelImpl::CreatePorts( |
| 727 sent_message_ports, new_routing_ids, main_thread_task_runner_); |
| 728 proxy_->dispatchExtendableMessageEvent(request_id, message, ports); |
| 729 } |
| 730 |
709 void ServiceWorkerContextClient::OnInstallEvent(int request_id) { | 731 void ServiceWorkerContextClient::OnInstallEvent(int request_id) { |
710 TRACE_EVENT0("ServiceWorker", | 732 TRACE_EVENT0("ServiceWorker", |
711 "ServiceWorkerContextClient::OnInstallEvent"); | 733 "ServiceWorkerContextClient::OnInstallEvent"); |
712 proxy_->dispatchInstallEvent(request_id); | 734 proxy_->dispatchInstallEvent(request_id); |
713 } | 735 } |
714 | 736 |
715 void ServiceWorkerContextClient::OnFetchEvent( | 737 void ServiceWorkerContextClient::OnFetchEvent( |
716 int request_id, | 738 int request_id, |
717 const ServiceWorkerFetchRequest& request) { | 739 const ServiceWorkerFetchRequest& request) { |
718 blink::WebServiceWorkerRequest webRequest; | 740 blink::WebServiceWorkerRequest webRequest; |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
995 } | 1017 } |
996 | 1018 |
997 base::WeakPtr<ServiceWorkerContextClient> | 1019 base::WeakPtr<ServiceWorkerContextClient> |
998 ServiceWorkerContextClient::GetWeakPtr() { | 1020 ServiceWorkerContextClient::GetWeakPtr() { |
999 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1021 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
1000 DCHECK(context_); | 1022 DCHECK(context_); |
1001 return context_->weak_factory.GetWeakPtr(); | 1023 return context_->weak_factory.GetWeakPtr(); |
1002 } | 1024 } |
1003 | 1025 |
1004 } // namespace content | 1026 } // namespace content |
OLD | NEW |