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/debug/crash_logging.h" | 9 #include "base/debug/crash_logging.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerThreadStarted, | 204 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerThreadStarted, |
205 OnWorkerThreadStarted) | 205 OnWorkerThreadStarted) |
206 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, | 206 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptLoadFailed, |
207 OnWorkerScriptLoadFailed) | 207 OnWorkerScriptLoadFailed) |
208 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptEvaluated, | 208 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerScriptEvaluated, |
209 OnWorkerScriptEvaluated) | 209 OnWorkerScriptEvaluated) |
210 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, | 210 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, |
211 OnWorkerStarted) | 211 OnWorkerStarted) |
212 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, | 212 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, |
213 OnWorkerStopped) | 213 OnWorkerStopped) |
| 214 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_CountFeature, OnCountFeature) |
214 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportException, | 215 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportException, |
215 OnReportException) | 216 OnReportException) |
216 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportConsoleMessage, | 217 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_ReportConsoleMessage, |
217 OnReportConsoleMessage) | 218 OnReportConsoleMessage) |
218 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_IncrementServiceWorkerRefCount, | 219 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_IncrementServiceWorkerRefCount, |
219 OnIncrementServiceWorkerRefCount) | 220 OnIncrementServiceWorkerRefCount) |
220 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_DecrementServiceWorkerRefCount, | 221 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_DecrementServiceWorkerRefCount, |
221 OnDecrementServiceWorkerRefCount) | 222 OnDecrementServiceWorkerRefCount) |
222 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_IncrementRegistrationRefCount, | 223 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_IncrementRegistrationRefCount, |
223 OnIncrementRegistrationRefCount) | 224 OnIncrementRegistrationRefCount) |
(...skipping 1257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1481 TRACE_EVENT0("ServiceWorker", | 1482 TRACE_EVENT0("ServiceWorker", |
1482 "ServiceWorkerDispatcherHost::OnWorkerStopped"); | 1483 "ServiceWorkerDispatcherHost::OnWorkerStopped"); |
1483 if (!GetContext()) | 1484 if (!GetContext()) |
1484 return; | 1485 return; |
1485 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); | 1486 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); |
1486 if (!registry->CanHandle(embedded_worker_id)) | 1487 if (!registry->CanHandle(embedded_worker_id)) |
1487 return; | 1488 return; |
1488 registry->OnWorkerStopped(render_process_id_, embedded_worker_id); | 1489 registry->OnWorkerStopped(render_process_id_, embedded_worker_id); |
1489 } | 1490 } |
1490 | 1491 |
| 1492 void ServiceWorkerDispatcherHost::OnCountFeature(int64_t version_id, |
| 1493 uint32_t feature) { |
| 1494 if (!GetContext()) |
| 1495 return; |
| 1496 ServiceWorkerVersion* version = GetContext()->GetLiveVersion(version_id); |
| 1497 if (!version) |
| 1498 return; |
| 1499 version->CountFeature(feature); |
| 1500 } |
| 1501 |
1491 void ServiceWorkerDispatcherHost::OnReportException( | 1502 void ServiceWorkerDispatcherHost::OnReportException( |
1492 int embedded_worker_id, | 1503 int embedded_worker_id, |
1493 const base::string16& error_message, | 1504 const base::string16& error_message, |
1494 int line_number, | 1505 int line_number, |
1495 int column_number, | 1506 int column_number, |
1496 const GURL& source_url) { | 1507 const GURL& source_url) { |
1497 TRACE_EVENT0("ServiceWorker", | 1508 TRACE_EVENT0("ServiceWorker", |
1498 "ServiceWorkerDispatcherHost::OnReportException"); | 1509 "ServiceWorkerDispatcherHost::OnReportException"); |
1499 if (!GetContext()) | 1510 if (!GetContext()) |
1500 return; | 1511 return; |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1806 if (!handle) { | 1817 if (!handle) { |
1807 bad_message::ReceivedBadMessage(this, | 1818 bad_message::ReceivedBadMessage(this, |
1808 bad_message::SWDH_TERMINATE_BAD_HANDLE); | 1819 bad_message::SWDH_TERMINATE_BAD_HANDLE); |
1809 return; | 1820 return; |
1810 } | 1821 } |
1811 handle->version()->StopWorker( | 1822 handle->version()->StopWorker( |
1812 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 1823 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
1813 } | 1824 } |
1814 | 1825 |
1815 } // namespace content | 1826 } // namespace content |
OLD | NEW |