[webkit-changes] [WebKit/WebKit] 4ca184: AX: Avoid hitting the main thread in NSApplication...

AndresGonzalezApple noreply at github.com
Thu Jun 8 07:33:53 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4ca184ab533923ad2a3e147923ac192b72252bc5
      https://github.com/WebKit/WebKit/commit/4ca184ab533923ad2a3e147923ac192b72252bc5
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2023-06-08 (Thu, 08 Jun 2023)

  Changed paths:
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AXTreeStore.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/page/Page.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  -----------
  AX: Avoid hitting the main thread in NSApplicationAccessibilityFocusedUIElement in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=256761
<rdar://problem/109307200>

Reviewed by Chris Fleizach and Tyler Wilcock.

NSApplicationAccessibilityFocusedUIElement is frequently called by AT to track the focus object. Currently it has to hit the main thread every time.
This patch fixes this by adding a mechanism to keep track of the focused AX tree based on the associated Page ActivityState. Then, the focused object is retrieved from the focused tree obtained via AXTreeStore::findTree.
In addition, this patch also caches the HelpText for ScrollViews and WebAreas eagerly since that's another property requested by AT while the isolated tree is being built.

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




More information about the webkit-changes mailing list