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