OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/service_worker_dispatcher_host.h" | 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrations, | 176 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrations, |
177 OnGetRegistrations) | 177 OnGetRegistrations) |
178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrationForReady, | 178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetRegistrationForReady, |
179 OnGetRegistrationForReady) | 179 OnGetRegistrationForReady) |
180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated, | 180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated, |
181 OnProviderCreated) | 181 OnProviderCreated) |
182 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, | 182 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, |
183 OnProviderDestroyed) | 183 OnProviderDestroyed) |
184 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId, | 184 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId, |
185 OnSetHostedVersionId) | 185 OnSetHostedVersionId) |
| 186 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_DeprecatedPostMessageToWorker, |
| 187 OnDeprecatedPostMessageToWorker) |
186 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker, | 188 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker, |
187 OnPostMessageToWorker) | 189 OnPostMessageToWorker) |
188 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection, | 190 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection, |
189 OnWorkerReadyForInspection) | 191 OnWorkerReadyForInspection) |
190 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoaded, | 192 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoaded, |
191 OnWorkerScriptLoaded) | 193 OnWorkerScriptLoaded) |
192 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerThreadStarted, | 194 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerThreadStarted, |
193 OnWorkerThreadStarted) | 195 OnWorkerThreadStarted) |
194 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, | 196 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, |
195 OnWorkerScriptLoadFailed) | 197 OnWorkerScriptLoadFailed) |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 "ServiceWorkerDispatcherHost::OnPostMessageToWorker"); | 711 "ServiceWorkerDispatcherHost::OnPostMessageToWorker"); |
710 if (!GetContext()) | 712 if (!GetContext()) |
711 return; | 713 return; |
712 | 714 |
713 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); | 715 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); |
714 if (!handle) { | 716 if (!handle) { |
715 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); | 717 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); |
716 return; | 718 return; |
717 } | 719 } |
718 | 720 |
| 721 handle->version()->DispatchExtendableMessageEvent( |
| 722 message, sent_message_ports, |
| 723 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| 724 } |
| 725 |
| 726 void ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker( |
| 727 int handle_id, |
| 728 const base::string16& message, |
| 729 const std::vector<TransferredMessagePort>& sent_message_ports) { |
| 730 TRACE_EVENT0("ServiceWorker", |
| 731 "ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker"); |
| 732 if (!GetContext()) |
| 733 return; |
| 734 |
| 735 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); |
| 736 if (!handle) { |
| 737 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); |
| 738 return; |
| 739 } |
| 740 |
719 handle->version()->DispatchMessageEvent( | 741 handle->version()->DispatchMessageEvent( |
720 message, sent_message_ports, | 742 message, sent_message_ports, |
721 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 743 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
722 } | 744 } |
723 | 745 |
724 void ServiceWorkerDispatcherHost::OnProviderCreated( | 746 void ServiceWorkerDispatcherHost::OnProviderCreated( |
725 int provider_id, | 747 int provider_id, |
726 int route_id, | 748 int route_id, |
727 ServiceWorkerProviderType provider_type) { | 749 ServiceWorkerProviderType provider_type) { |
728 // TODO(pkasting): Remove ScopedTracker below once crbug.com/477117 is fixed. | 750 // TODO(pkasting): Remove ScopedTracker below once crbug.com/477117 is fixed. |
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1329 if (!handle) { | 1351 if (!handle) { |
1330 bad_message::ReceivedBadMessage(this, | 1352 bad_message::ReceivedBadMessage(this, |
1331 bad_message::SWDH_TERMINATE_BAD_HANDLE); | 1353 bad_message::SWDH_TERMINATE_BAD_HANDLE); |
1332 return; | 1354 return; |
1333 } | 1355 } |
1334 handle->version()->StopWorker( | 1356 handle->version()->StopWorker( |
1335 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 1357 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
1336 } | 1358 } |
1337 | 1359 |
1338 } // namespace content | 1360 } // namespace content |
OLD | NEW |