Bug 25255

Summary: Support termination of nested workers.
Product: WebKit Reporter: Jian Li <jianli>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ahmad.saleem792, ap, bfulgham, cdumez, jwbecher, rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 22723    
Attachments:
Description Flags
Proposed Patch none

Description Jian Li 2009-04-16 17:43:13 PDT
Make sure workers and nested workers are terminated correctly.
Comment 1 Jian Li 2009-04-16 17:52:10 PDT
Created attachment 29567 [details]
Proposed Patch
Comment 2 Jian Li 2009-04-16 18:12:53 PDT
The following illustrates how we shut down nested worker and worker:

1) When a worker is terminated,  WorkerThread::stop() is called. If there exists  nested workers, we will try to stop nested workers first. This is done by calling m_workerContext->stopActiveDOMObjects().
2) When the nested worker thread is tearing down and nested worker context is destroyed, WorkerMessagingProxy::workerContextDestroyed is called. From here, the parent worker context is notified.
3) When the parent worker context does not have nested worker threads running any more, it starts to shut down its own worker thread.

Comment 3 Ahmad Saleem 2022-08-10 16:58:06 PDT
I think this is still an issue because we do fail WPT tests:

https://wpt.fyi/results/workers?label=master&label=experimental&aligned&view=subtest&q=nested%20workers

Please correct me for my own learning, if I am wrong. Changing status to "New". In case, if this is different case and it is "RESOLVED WONTFIX" or "RESOLVED INVALID" or "RESOLVED CONFIGURATION CHANGED", please update accordingly. Thanks!
Comment 4 Chris Dumez 2022-08-10 17:29:17 PDT
AFAIK we do not support nested workers at all.
Comment 5 Chris Dumez 2022-09-17 19:39:49 PDT
https://commits.webkit.org/254597@main
Comment 6 Radar WebKit Bug Importer 2022-09-17 19:40:51 PDT
<rdar://problem/100079574>