[webkit-changes] [WebKit/WebKit] 49ea0c: AX: Do not spell check list marker text.

AndresGonzalezApple noreply at github.com
Wed Feb 8 09:06:49 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 49ea0c6b6365a4f11b671eac60454ff6b09d7cf9
      https://github.com/WebKit/WebKit/commit/49ea0c6b6365a4f11b671eac60454ff6b09d7cf9
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2023-02-08 (Wed, 08 Feb 2023)

  Changed paths:
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  -----------
  AX: Do not spell check list marker text.
https://bugs.webkit.org/show_bug.cgi?id=251901
<rdar://problem/105160549>

Reviewed by Darin Adler.

It is unnecessary to spell check the text of a list marker. It has a performance impact since it involves a sync IPC call as shown below:

    +           ! : | + ! : | + ! : |   + !     29 -[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]  (in WebCore) + 116  [0x10e028ed0]  WebAccessibilityObjectWrapperMac.mm:1039
    +           ! : | + ! : | + ! : |   + !       29 WTF::Detail::CallableWrapper<NSAttributedString* WebCore::Accessibility::retrieveAutoreleasedValueFromMainThread<NSAttributedString*, -[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]::$_8>(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]::$_8&&)::'lambda'(), void>::call()  (in WebCore) + 504  [0x10e03a010]  Function.h:53
    +           ! : | + ! : | + ! : |   + !         27 AXAttributedStringAppendText(NSMutableAttributedString*, WebCore::Node*, WTF::StringView, bool)  (in WebCore) + 524  [0x10e03a638]  WebAccessibilityObjectWrapperMac.mm:1015
    +           ! : | + ! : | + ! : |   + !         : 27 WebCore::checkTextOfParagraph(WebCore::TextCheckerClient&, WTF::StringView, WTF::OptionSet<WebCore::TextCheckingType>, WTF::Vector<WebCore::TextCheckingResult, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WebCore::VisibleSelection const&)  (in WebCore) + 76  [0x10d355ae8]  TextCheckingHelper.cpp:571
    +           ! : | + ! : | + ! : |   + !         :   27 WebKit::WebEditorClient::checkTextOfParagraph(WTF::StringView, WTF::OptionSet<WebCore::TextCheckingType>, WebCore::VisibleSelection const&)  (in WebKit) + 204  [0x1041f8a34]  WebEditorClient.cpp:541
    +           ! : | + ! : | + ! : |   + !         :     27 IPC::Connection::sendSync<Messages::WebPageProxy::CheckTextOfParagraph>(Messages::WebPageProxy::CheckTextOfParagraph&&, unsigned long long, IPC::Timeout, WTF::OptionSet<IPC::SendSyncOption>)  (in WebKit) + 128  [0x1042052ec]  Connection.h:627
    +           ! : | + ! : | + ! : |   + !         :       27 IPC::Connection::sendSyncMessage(WTF::ObjectIdentifier<IPC::Connection::SyncRequestIDType>, WTF::UniqueRef<IPC::Encoder>&&, IPC::Timeout, WTF::OptionSet<IPC::SendSyncOption>)  (in WebKit) + 188  [0x1043d6bb8]  Connection.cpp:742
    +           ! : | + ! : | + ! : |   + !         :         27 IPC::Connection::waitForSyncReply(WTF::ObjectIdentifier<IPC::Connection::SyncRequestIDType>, IPC::MessageName, IPC::Timeout, WTF::OptionSet<IPC::SendSyncOption>)  (in WebKit) + 236  [0x1043d7548]  Connection.cpp:792
    +           ! : | + ! : | + ! : |   + !         :           27 WTF::BinarySemaphore::waitUntil(WTF::TimeWithDynamicClockType const&)  (in JavaScriptCore) + 80  [0x108f87adc]  BinarySemaphore.cpp:41
    +           ! : | + ! : | + ! : |   + !         :             27 WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&)  (in JavaScriptCore) + 248  [0x108f83ae4]  Condition.h:192
    +           ! : | + ! : | + ! : |   + !         :               27 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&)  (in JavaScriptCore) + 1872  [0x108fc1040]  ParkingLot.cpp:595
    +           ! : | + ! : | + ! : |   + !         :                 27 WTF::ThreadCondition::timedWait(WTF::Mutex&, WTF::WallTime)  (in JavaScriptCore) + 100  [0x108fe6b44]  ThreadingPOSIX.cpp:613

* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):

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




More information about the webkit-changes mailing list