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 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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, | 255 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ExtendableMessageEvent, |
256 OnExtendableMessageEvent) | 256 OnExtendableMessageEvent) |
257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) | 257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) |
258 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) | 258 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) |
259 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, | 259 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, |
260 OnNotificationClickEvent) | 260 OnNotificationClickEvent) |
| 261 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationCloseEvent, |
| 262 OnNotificationCloseEvent) |
261 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent) | 263 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent) |
262 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_GeofencingEvent, OnGeofencingEvent) | 264 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_GeofencingEvent, OnGeofencingEvent) |
263 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage) | 265 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage) |
264 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_CrossOriginMessageToWorker, | 266 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_CrossOriginMessageToWorker, |
265 OnCrossOriginMessageToWorker) | 267 OnCrossOriginMessageToWorker) |
266 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClients, OnDidGetClients) | 268 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClients, OnDidGetClients) |
267 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowResponse, | 269 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowResponse, |
268 OnOpenWindowResponse) | 270 OnOpenWindowResponse) |
269 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowError, | 271 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowError, |
270 OnOpenWindowError) | 272 OnOpenWindowError) |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 response)); | 529 response)); |
528 } | 530 } |
529 | 531 |
530 void ServiceWorkerContextClient::didHandleNotificationClickEvent( | 532 void ServiceWorkerContextClient::didHandleNotificationClickEvent( |
531 int request_id, | 533 int request_id, |
532 blink::WebServiceWorkerEventResult result) { | 534 blink::WebServiceWorkerEventResult result) { |
533 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( | 535 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( |
534 GetRoutingID(), request_id, result)); | 536 GetRoutingID(), request_id, result)); |
535 } | 537 } |
536 | 538 |
| 539 void ServiceWorkerContextClient::didHandleNotificationCloseEvent( |
| 540 int request_id, |
| 541 blink::WebServiceWorkerEventResult result) { |
| 542 Send(new ServiceWorkerHostMsg_NotificationCloseEventFinished( |
| 543 GetRoutingID(), request_id, result)); |
| 544 } |
| 545 |
537 void ServiceWorkerContextClient::didHandlePushEvent( | 546 void ServiceWorkerContextClient::didHandlePushEvent( |
538 int request_id, | 547 int request_id, |
539 blink::WebServiceWorkerEventResult result) { | 548 blink::WebServiceWorkerEventResult result) { |
540 Send(new ServiceWorkerHostMsg_PushEventFinished( | 549 Send(new ServiceWorkerHostMsg_PushEventFinished( |
541 GetRoutingID(), request_id, result)); | 550 GetRoutingID(), request_id, result)); |
542 } | 551 } |
543 | 552 |
544 void ServiceWorkerContextClient::didHandleSyncEvent( | 553 void ServiceWorkerContextClient::didHandleSyncEvent( |
545 int request_id, | 554 int request_id, |
546 blink::WebServiceWorkerEventResult result) { | 555 blink::WebServiceWorkerEventResult result) { |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
779 int action_index) { | 788 int action_index) { |
780 TRACE_EVENT0("ServiceWorker", | 789 TRACE_EVENT0("ServiceWorker", |
781 "ServiceWorkerContextClient::OnNotificationClickEvent"); | 790 "ServiceWorkerContextClient::OnNotificationClickEvent"); |
782 proxy_->dispatchNotificationClickEvent( | 791 proxy_->dispatchNotificationClickEvent( |
783 request_id, | 792 request_id, |
784 persistent_notification_id, | 793 persistent_notification_id, |
785 ToWebNotificationData(notification_data), | 794 ToWebNotificationData(notification_data), |
786 action_index); | 795 action_index); |
787 } | 796 } |
788 | 797 |
| 798 void ServiceWorkerContextClient::OnNotificationCloseEvent( |
| 799 int request_id, |
| 800 int64_t persistent_notification_id, |
| 801 const PlatformNotificationData& notification_data) { |
| 802 TRACE_EVENT0("ServiceWorker", |
| 803 "ServiceWorkerContextClient::OnNotificationCloseEvent"); |
| 804 proxy_->dispatchNotificationCloseEvent( |
| 805 request_id, persistent_notification_id, |
| 806 ToWebNotificationData(notification_data)); |
| 807 } |
| 808 |
789 void ServiceWorkerContextClient::OnPushEvent(int request_id, | 809 void ServiceWorkerContextClient::OnPushEvent(int request_id, |
790 const PushEventPayload& payload) { | 810 const PushEventPayload& payload) { |
791 TRACE_EVENT0("ServiceWorker", | 811 TRACE_EVENT0("ServiceWorker", |
792 "ServiceWorkerContextClient::OnPushEvent"); | 812 "ServiceWorkerContextClient::OnPushEvent"); |
793 // Only set data to be a valid string if the payload had decrypted data. | 813 // Only set data to be a valid string if the payload had decrypted data. |
794 blink::WebString data; | 814 blink::WebString data; |
795 if (!payload.is_null) | 815 if (!payload.is_null) |
796 data.assign(blink::WebString::fromUTF8(payload.data)); | 816 data.assign(blink::WebString::fromUTF8(payload.data)); |
797 proxy_->dispatchPushEvent(request_id, data); | 817 proxy_->dispatchPushEvent(request_id, data); |
798 } | 818 } |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1017 } | 1037 } |
1018 | 1038 |
1019 base::WeakPtr<ServiceWorkerContextClient> | 1039 base::WeakPtr<ServiceWorkerContextClient> |
1020 ServiceWorkerContextClient::GetWeakPtr() { | 1040 ServiceWorkerContextClient::GetWeakPtr() { |
1021 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1041 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
1022 DCHECK(context_); | 1042 DCHECK(context_); |
1023 return context_->weak_factory.GetWeakPtr(); | 1043 return context_->weak_factory.GetWeakPtr(); |
1024 } | 1044 } |
1025 | 1045 |
1026 } // namespace content | 1046 } // namespace content |
OLD | NEW |