| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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/embedded_worker_instance_client_impl.h
" | 5 #include "content/renderer/service_worker/embedded_worker_instance_client_impl.h
" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 "ServiceWorker.TerminateThread.Time", | 47 "ServiceWorker.TerminateThread.Time", |
| 48 base::TimeTicks::Now() - stop_worker_time_.value()); | 48 base::TimeTicks::Now() - stop_worker_time_.value()); |
| 49 stop_worker_time_.reset(); | 49 stop_worker_time_.reset(); |
| 50 } | 50 } |
| 51 wrapper_.reset(); | 51 wrapper_.reset(); |
| 52 } | 52 } |
| 53 | 53 |
| 54 void EmbeddedWorkerInstanceClientImpl::StartWorker( | 54 void EmbeddedWorkerInstanceClientImpl::StartWorker( |
| 55 const EmbeddedWorkerStartParams& params, | 55 const EmbeddedWorkerStartParams& params, |
| 56 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request, | 56 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request, |
| 57 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host) { | 57 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host, |
| 58 mojom::ServiceWorkerProviderInfoForStartWorkerPtr provider_info) { |
| 58 DCHECK(ChildThreadImpl::current()); | 59 DCHECK(ChildThreadImpl::current()); |
| 59 DCHECK(!wrapper_); | 60 DCHECK(!wrapper_); |
| 60 DCHECK(!stop_worker_time_.has_value()); | 61 DCHECK(!stop_worker_time_.has_value()); |
| 61 TRACE_EVENT0("ServiceWorker", | 62 TRACE_EVENT0("ServiceWorker", |
| 62 "EmbeddedWorkerInstanceClientImpl::StartWorker"); | 63 "EmbeddedWorkerInstanceClientImpl::StartWorker"); |
| 63 | 64 |
| 64 wrapper_ = StartWorkerContext( | 65 wrapper_ = StartWorkerContext( |
| 65 params, | 66 params, base::MakeUnique<ServiceWorkerContextClient>( |
| 66 base::MakeUnique<ServiceWorkerContextClient>( | 67 params.embedded_worker_id, params.service_worker_version_id, |
| 67 params.embedded_worker_id, params.service_worker_version_id, | 68 params.scope, params.script_url, |
| 68 params.scope, params.script_url, std::move(dispatcher_request), | 69 std::move(dispatcher_request), std::move(instance_host), |
| 69 std::move(instance_host), std::move(temporal_self_))); | 70 std::move(provider_info), std::move(temporal_self_))); |
| 70 } | 71 } |
| 71 | 72 |
| 72 void EmbeddedWorkerInstanceClientImpl::StopWorker() { | 73 void EmbeddedWorkerInstanceClientImpl::StopWorker() { |
| 73 // StopWorker must be called after StartWorker is called. | 74 // StopWorker must be called after StartWorker is called. |
| 74 DCHECK(ChildThreadImpl::current()); | 75 DCHECK(ChildThreadImpl::current()); |
| 75 DCHECK(wrapper_); | 76 DCHECK(wrapper_); |
| 76 DCHECK(!stop_worker_time_.has_value()); | 77 DCHECK(!stop_worker_time_.has_value()); |
| 77 | 78 |
| 78 TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstanceClientImpl::StopWorker"); | 79 TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstanceClientImpl::StopWorker"); |
| 79 stop_worker_time_ = base::TimeTicks::Now(); | 80 stop_worker_time_ = base::TimeTicks::Now(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 start_data.pause_after_download_mode = | 132 start_data.pause_after_download_mode = |
| 132 params.pause_after_download | 133 params.pause_after_download |
| 133 ? blink::WebEmbeddedWorkerStartData::kPauseAfterDownload | 134 ? blink::WebEmbeddedWorkerStartData::kPauseAfterDownload |
| 134 : blink::WebEmbeddedWorkerStartData::kDontPauseAfterDownload; | 135 : blink::WebEmbeddedWorkerStartData::kDontPauseAfterDownload; |
| 135 | 136 |
| 136 wrapper->worker()->StartWorkerContext(start_data); | 137 wrapper->worker()->StartWorkerContext(start_data); |
| 137 return wrapper; | 138 return wrapper; |
| 138 } | 139 } |
| 139 | 140 |
| 140 } // namespace content | 141 } // namespace content |
| OLD | NEW |