Index: content/browser/service_worker/service_worker_version.cc |
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc |
index b77ba3b06ec0ab61b2ac67e528e0bd38e8612d57..999391882054227e2f09867dd35390f742b38826 100644 |
--- a/content/browser/service_worker/service_worker_version.cc |
+++ b/content/browser/service_worker/service_worker_version.cc |
@@ -506,8 +506,12 @@ bool ServiceWorkerVersion::FinishRequest(int request_id) { |
} |
void ServiceWorkerVersion::RunAfterStartWorker( |
- const StatusCallback& error_callback, |
- const base::Closure& task) { |
+ const base::Closure& task, |
+ const StatusCallback& error_callback) { |
+ if (running_status() == RUNNING) { |
+ RunSoon(task); |
johnme
2016/01/18 19:06:51
Using RunSoon (and hence PostTask) introduces a ra
nhiroki
2016/01/19 01:36:39
Or, we could immediately run the callback when the
Marijn Kruisselbrink
2016/01/19 22:49:15
Normally I don't like methods that sometimes call
|
+ return; |
+ } |
StartWorker(base::Bind(&RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), |
error_callback, task)); |
nhiroki
2016/01/19 01:36:39
You may also want to swap arguments of RunTaskAfte
Marijn Kruisselbrink
2016/01/19 22:49:15
I could, but I don't think it's worth it yet (give
|
} |