OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/service_worker_context_client.h" | 5 #include "content/renderer/service_worker/service_worker_context_client.h" |
6 | 6 |
7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 base::WeakPtrFactory<ServiceWorkerContextClient> weak_factory; | 202 base::WeakPtrFactory<ServiceWorkerContextClient> weak_factory; |
203 }; | 203 }; |
204 | 204 |
205 ServiceWorkerContextClient* | 205 ServiceWorkerContextClient* |
206 ServiceWorkerContextClient::ThreadSpecificInstance() { | 206 ServiceWorkerContextClient::ThreadSpecificInstance() { |
207 return g_worker_client_tls.Pointer()->Get(); | 207 return g_worker_client_tls.Pointer()->Get(); |
208 } | 208 } |
209 | 209 |
210 ServiceWorkerContextClient::ServiceWorkerContextClient( | 210 ServiceWorkerContextClient::ServiceWorkerContextClient( |
211 int embedded_worker_id, | 211 int embedded_worker_id, |
212 int64 service_worker_version_id, | 212 std::string service_worker_version_uuid, |
213 const GURL& service_worker_scope, | 213 const GURL& service_worker_scope, |
214 const GURL& script_url, | 214 const GURL& script_url, |
215 int worker_devtools_agent_route_id) | 215 int worker_devtools_agent_route_id) |
216 : embedded_worker_id_(embedded_worker_id), | 216 : embedded_worker_id_(embedded_worker_id), |
217 service_worker_version_id_(service_worker_version_id), | 217 service_worker_version_uuid_(service_worker_version_uuid), |
218 service_worker_scope_(service_worker_scope), | 218 service_worker_scope_(service_worker_scope), |
219 script_url_(script_url), | 219 script_url_(script_url), |
220 worker_devtools_agent_route_id_(worker_devtools_agent_route_id), | 220 worker_devtools_agent_route_id_(worker_devtools_agent_route_id), |
221 sender_(ChildThreadImpl::current()->thread_safe_sender()), | 221 sender_(ChildThreadImpl::current()->thread_safe_sender()), |
222 main_thread_task_runner_(RenderThreadImpl::current()->GetTaskRunner()), | 222 main_thread_task_runner_(RenderThreadImpl::current()->GetTaskRunner()), |
223 proxy_(nullptr) { | 223 proxy_(nullptr) { |
224 TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker", | 224 TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker", |
225 "ServiceWorkerContextClient::StartingWorkerContext", | 225 "ServiceWorkerContextClient::StartingWorkerContext", |
226 this); | 226 this); |
227 TRACE_EVENT_ASYNC_STEP_INTO0( | 227 TRACE_EVENT_ASYNC_STEP_INTO0( |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 DCHECK(main_thread_task_runner_->RunsTasksOnCurrentThread()); | 538 DCHECK(main_thread_task_runner_->RunsTasksOnCurrentThread()); |
539 | 539 |
540 // Create a content::ServiceWorkerNetworkProvider for this data source so | 540 // Create a content::ServiceWorkerNetworkProvider for this data source so |
541 // we can observe its requests. | 541 // we can observe its requests. |
542 scoped_ptr<ServiceWorkerNetworkProvider> provider( | 542 scoped_ptr<ServiceWorkerNetworkProvider> provider( |
543 new ServiceWorkerNetworkProvider( | 543 new ServiceWorkerNetworkProvider( |
544 MSG_ROUTING_NONE, SERVICE_WORKER_PROVIDER_FOR_CONTROLLER)); | 544 MSG_ROUTING_NONE, SERVICE_WORKER_PROVIDER_FOR_CONTROLLER)); |
545 provider_context_ = provider->context(); | 545 provider_context_ = provider->context(); |
546 | 546 |
547 // Tell the network provider about which version to load. | 547 // Tell the network provider about which version to load. |
548 provider->SetServiceWorkerVersionId(service_worker_version_id_); | 548 provider->SetServiceWorkerVersionId(service_worker_version_uuid_); |
549 | 549 |
550 // The provider is kept around for the lifetime of the DataSource | 550 // The provider is kept around for the lifetime of the DataSource |
551 // and ownership is transferred to the DataSource. | 551 // and ownership is transferred to the DataSource. |
552 DataSourceExtraData* extra_data = new DataSourceExtraData(); | 552 DataSourceExtraData* extra_data = new DataSourceExtraData(); |
553 data_source->setExtraData(extra_data); | 553 data_source->setExtraData(extra_data); |
554 ServiceWorkerNetworkProvider::AttachToDocumentState( | 554 ServiceWorkerNetworkProvider::AttachToDocumentState( |
555 extra_data, provider.Pass()); | 555 extra_data, provider.Pass()); |
556 | 556 |
557 // Blink is responsible for deleting the returned object. | 557 // Blink is responsible for deleting the returned object. |
558 return new WebServiceWorkerNetworkProviderImpl(); | 558 return new WebServiceWorkerNetworkProviderImpl(); |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
971 } | 971 } |
972 | 972 |
973 base::WeakPtr<ServiceWorkerContextClient> | 973 base::WeakPtr<ServiceWorkerContextClient> |
974 ServiceWorkerContextClient::GetWeakPtr() { | 974 ServiceWorkerContextClient::GetWeakPtr() { |
975 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 975 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
976 DCHECK(context_); | 976 DCHECK(context_); |
977 return context_->weak_factory.GetWeakPtr(); | 977 return context_->weak_factory.GetWeakPtr(); |
978 } | 978 } |
979 | 979 |
980 } // namespace content | 980 } // namespace content |
OLD | NEW |