Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1cc5dfa320db9ecf0bf3fbb27fb291398b7bf1fa
https://github.com/WebKit/WebKit/commit/1cc5dfa320db9ecf0bf3fbb27fb291398b7bf1fa
Author: Ahmad Saleem <[email protected]>
Date: 2026-07-19 (Sun, 19 Jul 2026)
Changed paths:
A
LayoutTests/inspector/worker/worker-terminate-nested-subworker-expected.txt
A LayoutTests/inspector/worker/worker-terminate-nested-subworker.html
M Source/WebInspectorUI/UserInterface/Controllers/WorkerManager.js
Log Message:
-----------
Web Inspector: WorkerManager.workerTerminated leaks nested subworkers'
Target/map entries
https://bugs.webkit.org/show_bug.cgi?id=319771
rdar://182629416
Reviewed by Devin Rousso.
WorkerManager.workerTerminated() only removed the direct subworkers of a
terminated Worker, so grandchild subworkers (a subworker's own subworker)
were never removed from the WorkerTarget map or Multimap, and their
WI.WorkerTarget objects were never passed to WI.targetManager.removeTarget().
Make cleanup recursive so terminating any Worker also tears down its full
subworker tree, and guard against re-processing a worker that a
previously-terminated ancestor already cleaned up.
Test: inspector/worker/worker-terminate-nested-subworker.html
* LayoutTests/inspector/worker/worker-terminate-nested-subworker-expected.txt:
Added.
* LayoutTests/inspector/worker/worker-terminate-nested-subworker.html: Added.
* Source/WebInspectorUI/UserInterface/Controllers/WorkerManager.js:
(WI.WorkerManager.prototype.workerTerminated):
(WI.WorkerManager.prototype._cleanUpWorker): Added.
(WI.WorkerManager):
Canonical link: https://commits.webkit.org/317517@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications