| Index: content/browser/service_worker/service_worker_version.cc
|
| diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
|
| index db9350a62ffd903432d75d9f46c334d3cfd6749f..4010483a4b9822105fd852542c8cb1038528e951 100644
|
| --- a/content/browser/service_worker/service_worker_version.cc
|
| +++ b/content/browser/service_worker/service_worker_version.cc
|
| @@ -538,6 +538,14 @@ ServiceWorkerVersionInfo ServiceWorkerVersion::GetInfo() {
|
| running_status(), status(), script_url(), registration_id(), version_id(),
|
| embedded_worker()->process_id(), embedded_worker()->thread_id(),
|
| embedded_worker()->worker_devtools_agent_route_id());
|
| + for (auto& controllee : controllee_map_) {
|
| + const ServiceWorkerProviderHost* const host = controllee.second;
|
| + info.clients.insert(
|
| + std::pair<std::string, ServiceWorkerVersionInfo::ClientInfo>(
|
| + host->client_uuid(), ServiceWorkerVersionInfo::ClientInfo(
|
| + host->process_id(), host->frame_id(),
|
| + host->shared_worker_route_id())));
|
| + }
|
| if (!main_script_http_info_)
|
| return info;
|
| info.script_response_time = main_script_http_info_->response_time;
|
| @@ -932,6 +940,8 @@ void ServiceWorkerVersion::AddControllee(
|
| controllee_map_[uuid] = provider_host;
|
| // Keep the worker alive a bit longer right after a new controllee is added.
|
| RestartTick(&idle_time_);
|
| + FOR_EACH_OBSERVER(Listener, listeners_,
|
| + OnControlleeAdded(this, provider_host));
|
| }
|
|
|
| void ServiceWorkerVersion::RemoveControllee(
|
| @@ -939,6 +949,8 @@ void ServiceWorkerVersion::RemoveControllee(
|
| const std::string& uuid = provider_host->client_uuid();
|
| DCHECK(ContainsKey(controllee_map_, uuid));
|
| controllee_map_.erase(uuid);
|
| + FOR_EACH_OBSERVER(Listener, listeners_,
|
| + OnControlleeRemoved(this, provider_host));
|
| if (HasControllee())
|
| return;
|
| FOR_EACH_OBSERVER(Listener, listeners_, OnNoControllees(this));
|
|
|