[webkit-changes] [WebKit/WebKit] ae0dcb: y nAX: Move selectedTextRange off of the main-thread

Joshua Hoffman noreply at github.com
Tue Nov 7 11:14:23 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae0dcb554a690c71b5b5943e4d6467f9bf40c004
      https://github.com/WebKit/WebKit/commit/ae0dcb554a690c71b5b5943e4d6467f9bf40c004
  Author: Joshua Hoffman <jhoffman23 at apple.com>
  Date:   2023-11-07 (Tue, 07 Nov 2023)

  Changed paths:
    M LayoutTests/accessibility/content-editable-as-textarea.html
    M LayoutTests/accessibility/textbox-role-reports-selection.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm

  Log Message:
  -----------
  y nAX: Move selectedTextRange off of the main-thread
https://bugs.webkit.org/show_bug.cgi?id=263940
rdar://117568720

Reviewed by Andres Gonzalez.

We currently use the main thread to get the selectedTextRange when in isolated tree mode. In the
effort to completely sever ITM, this should be cached to be served on the AX thread.

This patch caches that value on text input objects, and updates the property every time text
selection changes. This update is debounced to account for text selection in-progress and
minimize computation.

* LayoutTests/accessibility/content-editable-as-textarea.html:
* LayoutTests/accessibility/textbox-role-reports-selection.html:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::updateIsolatedTree):
(WebCore::AXObjectCache::selectedTextRangeTimerFired):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::selectedTextRange const): Deleted.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::platformSelectedTextRangeDebounceInterval const):

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




More information about the webkit-changes mailing list