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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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_FetchEvent, OnFetchEvent) | 255 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) |
256 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) | 256 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) |
257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, | 257 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationClickEvent, |
258 OnNotificationClickEvent) | 258 OnNotificationClickEvent) |
| 259 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_NotificationCloseEvent, |
| 260 OnNotificationCloseEvent) |
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) |
265 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowResponse, | 267 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowResponse, |
266 OnOpenWindowResponse) | 268 OnOpenWindowResponse) |
267 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowError, | 269 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_OpenWindowError, |
268 OnOpenWindowError) | 270 OnOpenWindowError) |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
518 response)); | 520 response)); |
519 } | 521 } |
520 | 522 |
521 void ServiceWorkerContextClient::didHandleNotificationClickEvent( | 523 void ServiceWorkerContextClient::didHandleNotificationClickEvent( |
522 int request_id, | 524 int request_id, |
523 blink::WebServiceWorkerEventResult result) { | 525 blink::WebServiceWorkerEventResult result) { |
524 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( | 526 Send(new ServiceWorkerHostMsg_NotificationClickEventFinished( |
525 GetRoutingID(), request_id, result)); | 527 GetRoutingID(), request_id, result)); |
526 } | 528 } |
527 | 529 |
| 530 void ServiceWorkerContextClient::didHandleNotificationCloseEvent( |
| 531 int request_id, |
| 532 blink::WebServiceWorkerEventResult result) { |
| 533 Send(new ServiceWorkerHostMsg_NotificationCloseEventFinished( |
| 534 GetRoutingID(), request_id, result)); |
| 535 } |
| 536 |
528 void ServiceWorkerContextClient::didHandlePushEvent( | 537 void ServiceWorkerContextClient::didHandlePushEvent( |
529 int request_id, | 538 int request_id, |
530 blink::WebServiceWorkerEventResult result) { | 539 blink::WebServiceWorkerEventResult result) { |
531 Send(new ServiceWorkerHostMsg_PushEventFinished( | 540 Send(new ServiceWorkerHostMsg_PushEventFinished( |
532 GetRoutingID(), request_id, result)); | 541 GetRoutingID(), request_id, result)); |
533 } | 542 } |
534 | 543 |
535 void ServiceWorkerContextClient::didHandleSyncEvent( | 544 void ServiceWorkerContextClient::didHandleSyncEvent( |
536 int request_id, | 545 int request_id, |
537 blink::WebServiceWorkerEventResult result) { | 546 blink::WebServiceWorkerEventResult result) { |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 int action_index) { | 762 int action_index) { |
754 TRACE_EVENT0("ServiceWorker", | 763 TRACE_EVENT0("ServiceWorker", |
755 "ServiceWorkerContextClient::OnNotificationClickEvent"); | 764 "ServiceWorkerContextClient::OnNotificationClickEvent"); |
756 proxy_->dispatchNotificationClickEvent( | 765 proxy_->dispatchNotificationClickEvent( |
757 request_id, | 766 request_id, |
758 persistent_notification_id, | 767 persistent_notification_id, |
759 ToWebNotificationData(notification_data), | 768 ToWebNotificationData(notification_data), |
760 action_index); | 769 action_index); |
761 } | 770 } |
762 | 771 |
| 772 void ServiceWorkerContextClient::OnNotificationCloseEvent( |
| 773 int request_id, |
| 774 int64_t persistent_notification_id, |
| 775 const PlatformNotificationData& notification_data) { |
| 776 TRACE_EVENT0("ServiceWorker", |
| 777 "ServiceWorkerContextClient::OnNotificationCloseEvent"); |
| 778 proxy_->dispatchNotificationCloseEvent( |
| 779 request_id, persistent_notification_id, |
| 780 ToWebNotificationData(notification_data)); |
| 781 } |
| 782 |
763 void ServiceWorkerContextClient::OnPushEvent(int request_id, | 783 void ServiceWorkerContextClient::OnPushEvent(int request_id, |
764 const PushEventPayload& payload) { | 784 const PushEventPayload& payload) { |
765 TRACE_EVENT0("ServiceWorker", | 785 TRACE_EVENT0("ServiceWorker", |
766 "ServiceWorkerContextClient::OnPushEvent"); | 786 "ServiceWorkerContextClient::OnPushEvent"); |
767 // Only set data to be a valid string if the payload had decrypted data. | 787 // Only set data to be a valid string if the payload had decrypted data. |
768 blink::WebString data; | 788 blink::WebString data; |
769 if (!payload.is_null) | 789 if (!payload.is_null) |
770 data.assign(blink::WebString::fromUTF8(payload.data)); | 790 data.assign(blink::WebString::fromUTF8(payload.data)); |
771 proxy_->dispatchPushEvent(request_id, data); | 791 proxy_->dispatchPushEvent(request_id, data); |
772 } | 792 } |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
991 } | 1011 } |
992 | 1012 |
993 base::WeakPtr<ServiceWorkerContextClient> | 1013 base::WeakPtr<ServiceWorkerContextClient> |
994 ServiceWorkerContextClient::GetWeakPtr() { | 1014 ServiceWorkerContextClient::GetWeakPtr() { |
995 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1015 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
996 DCHECK(context_); | 1016 DCHECK(context_); |
997 return context_->weak_factory.GetWeakPtr(); | 1017 return context_->weak_factory.GetWeakPtr(); |
998 } | 1018 } |
999 | 1019 |
1000 } // namespace content | 1020 } // namespace content |
OLD | NEW |