| 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 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 686 if (!provider_host->GetRegistrationForReady(base::Bind( | 686 if (!provider_host->GetRegistrationForReady(base::Bind( |
| 687 &ServiceWorkerDispatcherHost::GetRegistrationForReadyComplete, | 687 &ServiceWorkerDispatcherHost::GetRegistrationForReadyComplete, |
| 688 this, thread_id, request_id, provider_host->AsWeakPtr()))) { | 688 this, thread_id, request_id, provider_host->AsWeakPtr()))) { |
| 689 bad_message::ReceivedBadMessage( | 689 bad_message::ReceivedBadMessage( |
| 690 this, bad_message::SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS); | 690 this, bad_message::SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS); |
| 691 } | 691 } |
| 692 } | 692 } |
| 693 | 693 |
| 694 void ServiceWorkerDispatcherHost::OnPostMessageToWorker( | 694 void ServiceWorkerDispatcherHost::OnPostMessageToWorker( |
| 695 int handle_id, | 695 int handle_id, |
| 696 int provider_id, |
| 696 const base::string16& message, | 697 const base::string16& message, |
| 697 const std::vector<TransferredMessagePort>& sent_message_ports) { | 698 const std::vector<TransferredMessagePort>& sent_message_ports) { |
| 698 TRACE_EVENT0("ServiceWorker", | 699 TRACE_EVENT0("ServiceWorker", |
| 699 "ServiceWorkerDispatcherHost::OnPostMessageToWorker"); | 700 "ServiceWorkerDispatcherHost::OnPostMessageToWorker"); |
| 700 if (!GetContext()) | 701 if (!GetContext()) |
| 701 return; | 702 return; |
| 702 | 703 |
| 703 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); | 704 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); |
| 704 if (!handle) { | 705 if (!handle) { |
| 705 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); | 706 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); |
| 706 return; | 707 return; |
| 707 } | 708 } |
| 708 | 709 |
| 710 ServiceWorkerProviderHost* sender_provider_host = |
| 711 GetContext()->GetProviderHost(render_process_id_, provider_id); |
| 712 if (!sender_provider_host) { |
| 713 bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE); |
| 714 return; |
| 715 } |
| 716 |
| 709 handle->version()->DispatchExtendableMessageEvent( | 717 handle->version()->DispatchExtendableMessageEvent( |
| 710 message, sent_message_ports, | 718 sender_provider_host, message, sent_message_ports, |
| 711 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 719 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| 712 } | 720 } |
| 713 | 721 |
| 714 void ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker( | 722 void ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker( |
| 715 int handle_id, | 723 int handle_id, |
| 716 const base::string16& message, | 724 const base::string16& message, |
| 717 const std::vector<TransferredMessagePort>& sent_message_ports) { | 725 const std::vector<TransferredMessagePort>& sent_message_ports) { |
| 718 TRACE_EVENT0("ServiceWorker", | 726 TRACE_EVENT0("ServiceWorker", |
| 719 "ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker"); | 727 "ServiceWorkerDispatcherHost::OnDeprecatedPostMessageToWorker"); |
| 720 if (!GetContext()) | 728 if (!GetContext()) |
| (...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1345 if (!handle) { | 1353 if (!handle) { |
| 1346 bad_message::ReceivedBadMessage(this, | 1354 bad_message::ReceivedBadMessage(this, |
| 1347 bad_message::SWDH_TERMINATE_BAD_HANDLE); | 1355 bad_message::SWDH_TERMINATE_BAD_HANDLE); |
| 1348 return; | 1356 return; |
| 1349 } | 1357 } |
| 1350 handle->version()->StopWorker( | 1358 handle->version()->StopWorker( |
| 1351 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 1359 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| 1352 } | 1360 } |
| 1353 | 1361 |
| 1354 } // namespace content | 1362 } // namespace content |
| OLD | NEW |