Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fc5dad73c18c845cf725213118e9de41a1691eb8
      
https://github.com/WebKit/WebKit/commit/fc5dad73c18c845cf725213118e9de41a1691eb8
  Author: Andres Gonzalez <[email protected]>
  Date:   2025-05-02 (Fri, 02 May 2025)

  Changed paths:
    M LayoutTests/accessibility-isolated-tree/TestExpectations
    M LayoutTests/accessibility/mac/input-replacevalue-userinfo-expected.txt
    M LayoutTests/accessibility/mac/input-replacevalue-userinfo.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AXTextStateChangeIntent.h
    M Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm

  Log Message:
  -----------
  AX: Fix for accessibility/password-selected-text-range.html in ITM.
https://bugs.webkit.org/show_bug.cgi?id=292031
<rdar://problem/149980238>

Reviewed by Tyler Wilcock.

SelectedTextChanged notifications need to be exposed for secure text fields 
since AX clients depend on these notifications to retrieve the correct 
selection range. This is one of the problems that is causing issues with 
entering passwords on the web with some assistive technologies.

To expose the SelectedTextchanged notifications, this patch adds a mechanism of 
queueing text changes that keeps all the necessary data, encapsulated in the 
AXTextChangeContext struct.
These changes also required changing the input-replacevalue-userinfo.html since 
we now expose more accurate values for the password fields. this prompted a 
complete re-write of this test to bring it to our current standards and correct 
several issues with the test itself.

* LayoutTests/accessibility-isolated-tree/TestExpectations:
* LayoutTests/accessibility/mac/input-replacevalue-userinfo-expected.txt:
* LayoutTests/accessibility/mac/input-replacevalue-userinfo.html:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextReplacementNotificationForTextControl):
(WebCore::secureContext):
(WebCore::AXObjectCache::enqueuePasswordNotification):
(WebCore::AXObjectCache::passwordNotificationTimerFired):
(WebCore::AXObjectCache::onSelectedTextChanged):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired): Deleted.
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification): Deleted.
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AXTextStateChangeIntent.h:
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
* Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:
(platformEditTypeForWebCoreEditType):
(WebCore::AXObjectCache::onSelectedTextChanged): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to