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

Unified Diff: chrome/renderer/render_view.cc

Issue 390017: Added lifecycle management and sharing support for SharedWorkers. SharedWorkers (Closed)
Patch Set: Changed WebWorkerBase not not call a virtual function from the destructor Created 11 years, 1 month 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: chrome/renderer/render_view.cc
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 006ae43eb35bed0d3abab3d450028e38938a57b9..aa8d86d53c0fe59f0abed3c9742b8bce3fbea362 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1805,13 +1805,19 @@ WebWorker* RenderView::createWorker(WebFrame* frame, WebWorkerClient* client) {
WebSharedWorker* RenderView::createSharedWorker(
WebFrame* frame, const WebURL& url, const WebString& name,
- unsigned long long documentId) {
+ unsigned long long document_id) {
- // TODO(atwilson): Call to the browser process to check if there's an existing
- // worker (passing MSG_ROUTING_NONE for now, to indicate no existing worker).
- int worker_route_id = MSG_ROUTING_NONE;
- return new WebSharedWorkerProxy(
- RenderThread::current(), worker_route_id, routing_id_);
+ int route_id = MSG_ROUTING_NONE;
+ bool url_mismatch = false;
+ Send(new ViewHostMsg_LookupSharedWorker(
+ url, name, document_id, &route_id, &url_mismatch));
+ if (url_mismatch) {
+ return NULL;
+ } else {
+ return new WebSharedWorkerProxy(RenderThread::current(),
+ route_id,
+ routing_id_);
+ }
}
WebMediaPlayer* RenderView::createMediaPlayer(

Powered by Google App Engine
This is Rietveld 408576698