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

Unified Diff: chrome/browser/worker_host/worker_process_host.cc

Issue 580007: Changed CreateWorker to coalesce any matching queued shared workers when a (Closed)
Patch Set: Now supports multiple queued instances of one shared worker. Created 10 years, 10 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
« no previous file with comments | « chrome/browser/worker_host/worker_process_host.h ('k') | chrome/browser/worker_host/worker_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/worker_host/worker_process_host.cc
diff --git a/chrome/browser/worker_host/worker_process_host.cc b/chrome/browser/worker_host/worker_process_host.cc
index 9dbfe05e99bbc138d947d5b585ded3553f477e30..3c3113d692da084560721ae0a0704f9650eb91b3 100644
--- a/chrome/browser/worker_host/worker_process_host.cc
+++ b/chrome/browser/worker_host/worker_process_host.cc
@@ -170,8 +170,15 @@ void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) {
instance.worker_route_id()));
UpdateTitle();
- WorkerInstance::SenderInfo info = instances_.back().GetSender();
- info.first->Send(new ViewMsg_WorkerCreated(info.second));
+
+ // Walk all pending senders and let them know the worker has been created
+ // (could be more than one in the case where we had to queue up worker
+ // creation because the worker process limit was reached).
+ for (WorkerInstance::SenderList::const_iterator i =
+ instance.senders().begin();
+ i != instance.senders().end(); ++i) {
+ i->first->Send(new ViewMsg_WorkerCreated(i->second));
+ }
}
bool WorkerProcessHost::FilterMessage(const IPC::Message& message,
« no previous file with comments | « chrome/browser/worker_host/worker_process_host.h ('k') | chrome/browser/worker_host/worker_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698