Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 40508b494c5250e0d8fac2cd5a3a50ca84447d20
      
https://github.com/WebKit/WebKit/commit/40508b494c5250e0d8fac2cd5a3a50ca84447d20
  Author: Fujii Hironori <[email protected]>
  Date:   2026-10-03 (Sat, 03 Oct 2026)

  Changed paths:
    M Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp
    M Source/WebCore/accessibility/atspi/AccessibilityAtspi.h

  Log Message:
  -----------
  [ATSPI] Web process still crashes with RELEASE_ASSERT(!m_isConnecting) in 
AccessibilityAtspi::registerObject() when an accessibility event is emitted 
before the a11y bus name is owned
https://bugs.webkit.org/show_bug.cgi?id=325485

Reviewed by Claudio Saavedra.

AccessibilityAtspi::didConnect() sets m_connection and then requests the
bus name asynchronously. m_isConnecting stays true until didOwnName() is
called. The event emitters only checked m_connection, so an event emitted
in that window, e.g. the "busy" state change after loading about:blank in
a new web process, registered the object and hit
RELEASE_ASSERT(!m_isConnecting) in registerObject().

Add isConnected(), which also requires the bus name to be owned, and use
it in the event emitters and registerHyperlink(). Events emitted before
the name is owned are dropped. No AT can have the objects yet, and it
reads the tree after the root is registered.

* Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerHyperlink):
(WebCore::AccessibilityAtspi::parentChanged):
(WebCore::AccessibilityAtspi::childrenChanged):
(WebCore::AccessibilityAtspi::stateChanged):
(WebCore::AccessibilityAtspi::textChanged):
(WebCore::AccessibilityAtspi::textAttributesChanged):
(WebCore::AccessibilityAtspi::textCaretMoved):
(WebCore::AccessibilityAtspi::textSelectionChanged):
(WebCore::AccessibilityAtspi::valueChanged):
(WebCore::AccessibilityAtspi::activeDescendantChanged):
(WebCore::AccessibilityAtspi::selectionChanged):
(WebCore::AccessibilityAtspi::loadEvent):
* Source/WebCore/accessibility/atspi/AccessibilityAtspi.h:
(WebCore::AccessibilityAtspi::isConnected const):

Canonical link: https://commits.webkit.org/322632@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to