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

Unified Diff: content/browser/service_worker/service_worker_dispatcher_host.cc

Issue 855383006: ServiceWorker: Enqueue state change events until the worker thread gets ready (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix content_unittests Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_dispatcher_host.cc
diff --git a/content/browser/service_worker/service_worker_dispatcher_host.cc b/content/browser/service_worker/service_worker_dispatcher_host.cc
index 20615b6d1f67510c56f560b689276ed2982bb075..ec4cbecbd9000175c86386165c855c69a678a051 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host.cc
@@ -659,11 +659,19 @@ void ServiceWorkerDispatcherHost::OnWorkerReadyForInspection(
void ServiceWorkerDispatcherHost::OnWorkerScriptLoaded(
int embedded_worker_id,
- int thread_id) {
+ int thread_id,
+ int provider_id) {
TRACE_EVENT0("ServiceWorker",
"ServiceWorkerDispatcherHost::OnWorkerScriptLoaded");
if (!GetContext())
return;
+
+ ServiceWorkerProviderHost* provider_host =
+ GetContext()->GetProviderHost(render_process_id_, provider_id);
+ if (!provider_host)
+ return; // The provider has already been destroyed.
kinuko 2015/01/28 07:13:11 Does this happen for ServiceWorker?
nhiroki 2015/01/28 13:43:22 Good point. ProviderDestroyed message always arriv
+ provider_host->SetReadyToSend(thread_id);
+
EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
if (!registry->CanHandle(embedded_worker_id))
return;

Powered by Google App Engine
This is Rietveld 408576698