Chromium Code Reviews| Index: content/child/service_worker/service_worker_dispatcher.cc |
| diff --git a/content/child/service_worker/service_worker_dispatcher.cc b/content/child/service_worker/service_worker_dispatcher.cc |
| index b9da048c199071bdf1ae92aac9ba74b5bd824860..4cae74c53cc7debd0237bed572bf147d6d0e9b55 100644 |
| --- a/content/child/service_worker/service_worker_dispatcher.cc |
| +++ b/content/child/service_worker/service_worker_dispatcher.cc |
| @@ -33,7 +33,8 @@ int CurrentWorkerId() { |
| ServiceWorkerDispatcher::ServiceWorkerDispatcher( |
| ThreadSafeSender* thread_safe_sender) |
| - : thread_safe_sender_(thread_safe_sender) { |
| + : thread_safe_sender_(thread_safe_sender), |
| + client_(NULL) { |
| g_dispatcher_tls.Pointer()->Set(this); |
| } |
| @@ -77,6 +78,21 @@ void ServiceWorkerDispatcher::UnregisterServiceWorker( |
| CurrentWorkerId(), request_id, pattern)); |
| } |
| +void ServiceWorkerDispatcher::SetScriptClient( |
| + int provider_id, |
| + blink::WebServiceWorkerProviderClient* client) { |
| + if (client) { |
| + DCHECK(!client_); |
| + thread_safe_sender_->Send(new ServiceWorkerHostMsg_AddScriptClient( |
| + CurrentWorkerId(), provider_id)); |
| + } else { |
| + DCHECK(client_); |
| + thread_safe_sender_->Send(new ServiceWorkerHostMsg_RemoveScriptClient( |
| + CurrentWorkerId(), provider_id)); |
| + } |
| + client_ = client; |
|
michaeln
2014/03/07 01:26:23
This class is used on the main thread where we'll
kinuko
2014/03/07 02:02:17
Oops, that's right, I have focused too much on wor
|
| +} |
| + |
| ServiceWorkerDispatcher* ServiceWorkerDispatcher::ThreadSpecificInstance( |
| ThreadSafeSender* thread_safe_sender) { |
| if (g_dispatcher_tls.Pointer()->Get() == kHasBeenDeleted) { |