Index: content/browser/shared_worker/shared_worker_service_impl.cc |
diff --git a/content/browser/shared_worker/shared_worker_service_impl.cc b/content/browser/shared_worker/shared_worker_service_impl.cc |
index d5a06b36a8a2a691c1ae363c28783c3452e832ef..cb846a06037ef85ae929e197b148985eb3d3adb9 100644 |
--- a/content/browser/shared_worker/shared_worker_service_impl.cc |
+++ b/content/browser/shared_worker/shared_worker_service_impl.cc |
@@ -27,8 +27,12 @@ SharedWorkerServiceImpl::~SharedWorkerServiceImpl() { |
} |
bool SharedWorkerServiceImpl::TerminateWorker(int process_id, int route_id) { |
- // TODO(horo): implement this. |
- return false; |
+ SharedWorkerHost* host = |
+ worker_hosts_.get(std::make_pair(process_id, route_id)); |
+ if (!host || !host->instance()) |
+ return false; |
+ host->TerminateWorker(); |
+ return true; |
} |
std::vector<WorkerService::WorkerInfo> SharedWorkerServiceImpl::GetWorkers() { |