[Webkit-unassigned] [Bug 261680] AX: columnHeaders() and rowHeaders() are performed on the main thread in ITM
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Sep 18 22:59:29 PDT 2023
https://bugs.webkit.org/show_bug.cgi?id=261680
--- Comment #8 from Tyler Wilcock <tyler_w at apple.com> ---
Comment on attachment 467748
--> https://bugs.webkit.org/attachment.cgi?id=467748
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=467748&action=review
> Source/WebCore/accessibility/AXObjectCache.cpp:2444
> + postNotification(element, AXObjectCache::AXScopeChanged);
Because we are inside AXObjectCache, I don't think we need the AXObjectCache:: prefix here.
> Source/WebCore/accessibility/AccessibilityObjectInterface.h:1789
> +inline bool AXCoreObject::isTableCellInSameRowGroup(AXCoreObject* otherTableCell)
> +{
> + return rowGroupAncestorID() ? rowGroupAncestorID() == otherTableCell->rowGroupAncestorID() : false;
> +}
Seems like we unconditionally dereference otherTableCell. I think we either need a null-check or to pass a reference instead of a pointer.
Also, since rowGroupAncestorID() does a lot of iteration, let's compute it only once. e.g.:
AXID ancestorID = rowGroupAncestorID();
return ancestorID ? ancestorID == otherTableCell->rowGroupAncestorID() : false;
> Source/WebCore/accessibility/AccessibilityObjectInterface.h:1798
> + auto colRange = columnIndexRange();
> + auto otherColRange = tableCell->columnIndexRange();
> +
> + if (colRange.first <= (otherColRange.first + otherColRange.second))
> + return true;
> + return false;
I know you didn't originally write this code, but let's bring it up to our style standards by fully spelling out columnRange vs. colRange, same for otherColRange.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230919/295007b0/attachment.htm>
More information about the webkit-unassigned
mailing list