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

Reply via email to