Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1463)

Side by Side Diff: content/renderer/service_worker/service_worker_context_client.cc

Issue 1632113004: ServiceWorker: Add initial implementation of ExtendableMessageEvent behind a flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698