Index: content/renderer/webworker_base.cc |
diff --git a/content/renderer/webworker_base.cc b/content/renderer/webworker_base.cc |
index c8e1304eef28ecf1da2a652bb3d1c902d8a960be..3bdb41294748f1fd84372930b40d69b322d06651 100644 |
--- a/content/renderer/webworker_base.cc |
+++ b/content/renderer/webworker_base.cc |
@@ -26,6 +26,7 @@ WebWorkerBase::WebWorkerBase( |
: route_id_(route_id), |
render_view_route_id_(render_view_route_id), |
child_thread_(child_thread), |
+ devtools_delegate_(0), |
document_id_(document_id), |
parent_appcache_host_id_(parent_appcache_host_id) { |
if (route_id_ != MSG_ROUTING_NONE) |
@@ -33,6 +34,8 @@ WebWorkerBase::WebWorkerBase( |
} |
WebWorkerBase::~WebWorkerBase() { |
+ if (devtools_delegate_) |
+ devtools_delegate_->WorkerProxyDestroyed(); |
Disconnect(); |
// Free up any unsent queued messages. |
@@ -50,6 +53,9 @@ void WebWorkerBase::Disconnect() { |
child_thread_->RemoveRoute(route_id_); |
route_id_ = MSG_ROUTING_NONE; |
+ |
+ if (devtools_delegate_) |
+ devtools_delegate_->SetRouteId(route_id_); |
Dmitry Titov
2011/05/25 01:38:44
If MSG_ROUTING_NONE was used directly here, it'd b
|
} |
void WebWorkerBase::CreateWorkerContext(const GURL& script_url, |
@@ -77,6 +83,9 @@ void WebWorkerBase::CreateWorkerContext(const GURL& script_url, |
child_thread_->AddRoute(route_id_, this); |
+ if (devtools_delegate_) |
+ devtools_delegate_->SetRouteId(route_id_); |
+ |
// We make sure that the start message is the first, since postMessage or |
// connect might have already been called. |
queued_messages_.insert(queued_messages_.begin(), |
@@ -117,3 +126,8 @@ void WebWorkerBase::SendQueuedMessages() { |
Send(queued_messages[i]); |
} |
} |
+ |
+void WebWorkerBase::set_devtools_delegate(DevToolsDelegate* delegate) { |
+ DCHECK(!devtools_delegate_ && delegate); |
+ devtools_delegate_ = delegate; |
+} |