| Index: content/renderer/service_worker/embedded_worker_context_client.cc
|
| diff --git a/content/renderer/service_worker/embedded_worker_context_client.cc b/content/renderer/service_worker/embedded_worker_context_client.cc
|
| index a770fc44f5028ce576768d1e0175620150284de0..ad44bee8d799ec41c7074d185f28da214a6e3e60 100644
|
| --- a/content/renderer/service_worker/embedded_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/embedded_worker_context_client.cc
|
| @@ -53,6 +53,7 @@ EmbeddedWorkerContextClient::EmbeddedWorkerContextClient(
|
| sender_(ChildThread::current()->thread_safe_sender()),
|
| main_thread_proxy_(base::MessageLoopProxy::current()),
|
| proxy_(NULL) {
|
| + g_worker_client_tls.Pointer()->Set(this);
|
| }
|
|
|
| EmbeddedWorkerContextClient::~EmbeddedWorkerContextClient() {
|
| @@ -91,7 +92,8 @@ void EmbeddedWorkerContextClient::workerContextStarted(
|
| }
|
|
|
| void EmbeddedWorkerContextClient::workerContextDestroyed() {
|
| - DCHECK_NE(0, WorkerTaskRunner::Instance()->CurrentWorkerId());
|
| + // At this point OnWorkerRunLoopStopped is already called, so
|
| + // CurrentWorkerId() returns 0 (while we're still on the worker thread).
|
| proxy_ = NULL;
|
| main_thread_proxy_->PostTask(
|
| FROM_HERE,
|
|
|