Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: content/renderer/service_worker/service_worker_context_client.cc

Issue 1282013004: BackgroundSyncManager tracks client registrations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed test Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 DCHECK(g_worker_client_tls.Pointer()->Get() == NULL); 345 DCHECK(g_worker_client_tls.Pointer()->Get() == NULL);
346 DCHECK(!proxy_); 346 DCHECK(!proxy_);
347 g_worker_client_tls.Pointer()->Set(this); 347 g_worker_client_tls.Pointer()->Set(this);
348 proxy_ = proxy; 348 proxy_ = proxy;
349 349
350 // Initialize pending callback maps. This needs to be freed on the 350 // Initialize pending callback maps. This needs to be freed on the
351 // same thread before the worker context goes away in 351 // same thread before the worker context goes away in
352 // willDestroyWorkerContext. 352 // willDestroyWorkerContext.
353 context_.reset(new WorkerContextData(this)); 353 context_.reset(new WorkerContextData(this));
354 354
355 ServiceWorkerRegistrationObjectInfo registration_info;
356 ServiceWorkerVersionAttributes version_attrs;
357 provider_context_->GetRegistrationInfoAndVersionAttributes(&registration_info,
358 &version_attrs);
359 DCHECK_NE(registration_info.registration_id,
360 kInvalidServiceWorkerRegistrationId);
361
355 // Register Mojo services. 362 // Register Mojo services.
356 context_->service_registry.ServiceRegistry::AddService( 363 context_->service_registry.ServiceRegistry::AddService(
357 base::Bind(&ServicePortDispatcherImpl::Create, 364 base::Bind(&ServicePortDispatcherImpl::Create,
358 context_->proxy_weak_factory.GetWeakPtr())); 365 context_->proxy_weak_factory.GetWeakPtr()));
359 context_->service_registry.ServiceRegistry::AddService( 366 context_->service_registry.ServiceRegistry::AddService(base::Bind(
360 base::Bind(&BackgroundSyncClientImpl::Create)); 367 &BackgroundSyncClientImpl::Create, registration_info.registration_id));
361 368
362 SetRegistrationInServiceWorkerGlobalScope(); 369 SetRegistrationInServiceWorkerGlobalScope();
363 370
364 Send(new EmbeddedWorkerHostMsg_WorkerScriptLoaded( 371 Send(new EmbeddedWorkerHostMsg_WorkerScriptLoaded(
365 embedded_worker_id_, WorkerThread::GetCurrentId(), 372 embedded_worker_id_, WorkerThread::GetCurrentId(),
366 provider_context_->provider_id())); 373 provider_context_->provider_id()));
367 374
368 TRACE_EVENT_ASYNC_STEP_INTO0( 375 TRACE_EVENT_ASYNC_STEP_INTO0(
369 "ServiceWorker", 376 "ServiceWorker",
370 "ServiceWorkerContextClient::StartingWorkerContext", 377 "ServiceWorkerContextClient::StartingWorkerContext",
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 } 972 }
966 973
967 base::WeakPtr<ServiceWorkerContextClient> 974 base::WeakPtr<ServiceWorkerContextClient>
968 ServiceWorkerContextClient::GetWeakPtr() { 975 ServiceWorkerContextClient::GetWeakPtr() {
969 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); 976 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
970 DCHECK(context_); 977 DCHECK(context_);
971 return context_->weak_factory.GetWeakPtr(); 978 return context_->weak_factory.GetWeakPtr();
972 } 979 }
973 980
974 } // namespace content 981 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698