Chromium Code Reviews| 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; |
| +} |