Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b2c71ed06e53c0b2ebbb7046b4a6cf210c193d51
https://github.com/WebKit/WebKit/commit/b2c71ed06e53c0b2ebbb7046b4a6cf210c193d51
Author: Tyler Wilcock <[email protected]>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
Log Message:
-----------
AX: VoiceOver reads "Processing page %infinity" when loading large pages like
http://html.spec.whatwg.org/
https://bugs.webkit.org/show_bug.cgi?id=294055
rdar://152617082
Reviewed by Joshua Hoffman.
In AXIsolatedTree::resolveAppends, we report loading progress to ATs based how
many objects we have left to create.
We do this by counting the number of objects we've created, and dividing that
by the total number of objects that needed
to be created, giving us a percentage.
Because m_unresolvedPendingAppends can be modified while we create objects, we
make a copy of the vector, and iterate
over that. This is where the bug stems from — if this collection is cleared, we
will divide by m_unresolvedPendingAppends.size(),
which is zero, leading to an infinity result.
The fix is simple — divide by the size of the m_unresolvedPendingAppends copy
instead, which must be greater than zero
and cannot be modified.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::resolveAppends):
Canonical link: https://commits.webkit.org/295858@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