summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webworker_proxy.cc
diff options
context:
space:
mode:
authoratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 22:00:51 +0000
committeratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 22:00:51 +0000
commit6de0bcf0025517c4f31eafce162d90588c609103 (patch)
tree8ae27ceda2696e65a7b6d7b2d6a5474811914d88 /chrome/renderer/webworker_proxy.cc
parent87ef23a2a8a693c9452ddf5c65d47c9fd62e032f (diff)
downloadchromium_src-6de0bcf0025517c4f31eafce162d90588c609103.zip
chromium_src-6de0bcf0025517c4f31eafce162d90588c609103.tar.gz
chromium_src-6de0bcf0025517c4f31eafce162d90588c609103.tar.bz2
Fixes a race condition when a shared worker exits while one parent is loading
it. Changed the shared worker startup code to assign a route ID at the time that we initially lookup the worker, and pass that same route ID in when we later try to create the worker, to gracefully handle this race condition. BUG=29243 TEST=existing tests suffice (can't reproduce race condition in tests) Review URL: http://codereview.chromium.org/600103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/webworker_proxy.cc')
-rw-r--r--chrome/renderer/webworker_proxy.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/renderer/webworker_proxy.cc b/chrome/renderer/webworker_proxy.cc
index 553a3ac..e64abf6 100644
--- a/chrome/renderer/webworker_proxy.cc
+++ b/chrome/renderer/webworker_proxy.cc
@@ -46,7 +46,8 @@ void WebWorkerProxy::startWorkerContext(
const WebURL& script_url,
const WebString& user_agent,
const WebString& source_code) {
- CreateWorkerContext(script_url, false, string16(), user_agent, source_code);
+ CreateWorkerContext(script_url, false, string16(), user_agent, source_code,
+ MSG_ROUTING_NONE);
}
void WebWorkerProxy::terminateWorkerContext() {