Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c9366c348f0c9235aa1a848fec53767146a018f0
https://github.com/WebKit/WebKit/commit/c9366c348f0c9235aa1a848fec53767146a018f0
Author: Tyler Wilcock <[email protected]>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M Source/WebCore/accessibility/AXCoreObject.h
Log Message:
-----------
AX: TimeoutSafeSemaphore should use ThreadSafeRefCounted since it is shared
across threads
https://bugs.webkit.org/show_bug.cgi?id=312601
rdar://174954164
Reviewed by Joshua Hoffman.
TimeoutSafeSemaphore is designed to be shared between the AX thread (which
creates it) and the main thread (which executes a lambda capturing a Ref to
it). Using RefCounted (non-thread-safe) causes two problems:
1. The RefCountDebugger fires ASSERT_WITH_SECURITY_IMPLICATION when the main
thread derefs while the AX thread still holds a reference, since it detects
a cross-thread deref with refcount > 1.
2. The underlying uint32_t refcount is non-atomic, so concurrent ref/deref
from both threads is a data race.
Change the base class to ThreadSafeRefCounted, which provides an atomic
refcount and thus avoids the threading-safety assertion.
* Source/WebCore/accessibility/AXCoreObject.h:
Canonical link: https://commits.webkit.org/311533@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications