| 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 "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/profiler/scoped_tracker.h" | 8 #include "base/profiler/scoped_tracker.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, | 178 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, |
| 179 OnProviderDestroyed) | 179 OnProviderDestroyed) |
| 180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId, | 180 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SetVersionId, |
| 181 OnSetHostedVersionId) | 181 OnSetHostedVersionId) |
| 182 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker, | 182 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToWorker, |
| 183 OnPostMessageToWorker) | 183 OnPostMessageToWorker) |
| 184 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection, | 184 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerReadyForInspection, |
| 185 OnWorkerReadyForInspection) | 185 OnWorkerReadyForInspection) |
| 186 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoaded, | 186 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoaded, |
| 187 OnWorkerScriptLoaded) | 187 OnWorkerScriptLoaded) |
| 188 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerThreadStarted, |
| 189 OnWorkerThreadStarted) |
| 188 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, | 190 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, |
| 189 OnWorkerScriptLoadFailed) | 191 OnWorkerScriptLoadFailed) |
| 190 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptEvaluated, | 192 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptEvaluated, |
| 191 OnWorkerScriptEvaluated) | 193 OnWorkerScriptEvaluated) |
| 192 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, | 194 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, |
| 193 OnWorkerStarted) | 195 OnWorkerStarted) |
| 194 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, | 196 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, |
| 195 OnWorkerStopped) | 197 OnWorkerStopped) |
| 196 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportException, | 198 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportException, |
| 197 OnReportException) | 199 OnReportException) |
| (...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 TRACE_EVENT0("ServiceWorker", | 884 TRACE_EVENT0("ServiceWorker", |
| 883 "ServiceWorkerDispatcherHost::OnWorkerReadyForInspection"); | 885 "ServiceWorkerDispatcherHost::OnWorkerReadyForInspection"); |
| 884 if (!GetContext()) | 886 if (!GetContext()) |
| 885 return; | 887 return; |
| 886 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); | 888 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); |
| 887 if (!registry->CanHandle(embedded_worker_id)) | 889 if (!registry->CanHandle(embedded_worker_id)) |
| 888 return; | 890 return; |
| 889 registry->OnWorkerReadyForInspection(render_process_id_, embedded_worker_id); | 891 registry->OnWorkerReadyForInspection(render_process_id_, embedded_worker_id); |
| 890 } | 892 } |
| 891 | 893 |
| 892 void ServiceWorkerDispatcherHost::OnWorkerScriptLoaded( | 894 void ServiceWorkerDispatcherHost::OnWorkerScriptLoaded(int embedded_worker_id) { |
| 893 int embedded_worker_id, | |
| 894 int thread_id, | |
| 895 int provider_id) { | |
| 896 TRACE_EVENT0("ServiceWorker", | 895 TRACE_EVENT0("ServiceWorker", |
| 897 "ServiceWorkerDispatcherHost::OnWorkerScriptLoaded"); | 896 "ServiceWorkerDispatcherHost::OnWorkerScriptLoaded"); |
| 898 if (!GetContext()) | 897 if (!GetContext()) |
| 899 return; | 898 return; |
| 900 | 899 |
| 900 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); |
| 901 if (!registry->CanHandle(embedded_worker_id)) |
| 902 return; |
| 903 registry->OnWorkerScriptLoaded(render_process_id_, embedded_worker_id); |
| 904 } |
| 905 |
| 906 void ServiceWorkerDispatcherHost::OnWorkerThreadStarted(int embedded_worker_id, |
| 907 int thread_id, |
| 908 int provider_id) { |
| 909 TRACE_EVENT0("ServiceWorker", |
| 910 "ServiceWorkerDispatcherHost::OnWorkerThreadStarted"); |
| 911 if (!GetContext()) |
| 912 return; |
| 913 |
| 901 ServiceWorkerProviderHost* provider_host = | 914 ServiceWorkerProviderHost* provider_host = |
| 902 GetContext()->GetProviderHost(render_process_id_, provider_id); | 915 GetContext()->GetProviderHost(render_process_id_, provider_id); |
| 903 if (!provider_host) { | 916 if (!provider_host) { |
| 904 bad_message::ReceivedBadMessage( | 917 bad_message::ReceivedBadMessage( |
| 905 this, bad_message::SWDH_WORKER_SCRIPT_LOAD_NO_HOST); | 918 this, bad_message::SWDH_WORKER_SCRIPT_LOAD_NO_HOST); |
| 906 return; | 919 return; |
| 907 } | 920 } |
| 908 | 921 |
| 909 provider_host->SetReadyToSendMessagesToWorker(thread_id); | 922 provider_host->SetReadyToSendMessagesToWorker(thread_id); |
| 910 | 923 |
| 911 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); | 924 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); |
| 912 if (!registry->CanHandle(embedded_worker_id)) | 925 if (!registry->CanHandle(embedded_worker_id)) |
| 913 return; | 926 return; |
| 914 registry->OnWorkerScriptLoaded( | 927 registry->OnWorkerThreadStarted(render_process_id_, thread_id, |
| 915 render_process_id_, thread_id, embedded_worker_id); | 928 embedded_worker_id); |
| 916 } | 929 } |
| 917 | 930 |
| 918 void ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed( | 931 void ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed( |
| 919 int embedded_worker_id) { | 932 int embedded_worker_id) { |
| 920 TRACE_EVENT0("ServiceWorker", | 933 TRACE_EVENT0("ServiceWorker", |
| 921 "ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed"); | 934 "ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed"); |
| 922 if (!GetContext()) | 935 if (!GetContext()) |
| 923 return; | 936 return; |
| 924 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); | 937 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); |
| 925 if (!registry->CanHandle(embedded_worker_id)) | 938 if (!registry->CanHandle(embedded_worker_id)) |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 if (!handle) { | 1272 if (!handle) { |
| 1260 bad_message::ReceivedBadMessage(this, | 1273 bad_message::ReceivedBadMessage(this, |
| 1261 bad_message::SWDH_TERMINATE_BAD_HANDLE); | 1274 bad_message::SWDH_TERMINATE_BAD_HANDLE); |
| 1262 return; | 1275 return; |
| 1263 } | 1276 } |
| 1264 handle->version()->StopWorker( | 1277 handle->version()->StopWorker( |
| 1265 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 1278 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| 1266 } | 1279 } |
| 1267 | 1280 |
| 1268 } // namespace content | 1281 } // namespace content |
| OLD | NEW |