WorkQueue::assertIsCurrent() is broken in both the Cocoa and the Generic implementation. In WorkQueueGeneric.cpp, it uses a ThreadLikeAssertion constructed from m_threadID which isn't initialised when using the main's RunLoop [1] And in WorkQueueCocoa.cpp, the ThreadLikeAssertion always uses the uid of the current thread [2], as such, the ThreadLikeAssertion::isCurrent() will always return true. [1]https://searchfox.org/wubkat/rev/68e96f24aae90f5a0a5e0c56c932c93616766cc7/Source/WTF/wtf/generic/WorkQueueGeneric.cpp#91-94 [2]https://searchfox.org/wubkat/rev/68e96f24aae90f5a0a5e0c56c932c93616766cc7/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp#114-120
<rdar://problem/114970446>
Pull request: https://github.com/WebKit/WebKit/pull/17432
Committed 267640@main (0945d4c2ea7e): <https://commits.webkit.org/267640@main> Reviewed commits have been landed. Closing PR #17432 and removing active labels.