[Webkit-unassigned] [Bug 250345] New: AX: Isolated trees queued for destruction will not be cleaned up unless an AX client requests an attribute from a wrapper in the destroyed tree
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 9 16:13:52 PST 2023
https://bugs.webkit.org/show_bug.cgi?id=250345
Bug ID: 250345
Summary: AX: Isolated trees queued for destruction will not be
cleaned up unless an AX client requests an attribute
from a wrapper in the destroyed tree
Product: WebKit
Version: Other
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Accessibility
Assignee: webkit-unassigned at lists.webkit.org
Reporter: tyler_w at apple.com
CC: andresg_22 at apple.com,
webkit-bug-importer at group.apple.com
Currently, isolated trees are cleaned up like so:
1. AXObjectCache::~AXObjectCache() calls AXIsolatedTree::removeTreeForPageID(*m_pageID)
2. AXIsolatedTree::removeTreeForPageID calls AXIsolatedTree::queueForDestruction
3. AXIsolatedTree::queueForDestruction sets m_queuedForDestruction to true
4. The next time AXIsolatedTree::applyPendingChanges() is called, the tree is destroyed if m_queuedForDestruction is true
Because this relies on AXIsolatedTree::applyPendingChanges() being called organically (i.e. an AX client requesting an attribute from a wrapper that is part of the soon-to-be-destroyed tree), it's possible we could never clean up a tree queued for destruction. AXIsolatedTree::queueForDestruction should probably set some internal timer to clean the tree up so we don't rely on AX clients requesting data from a soon-to-be-destroyed wrapper.
--
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/20230110/3bf1b73d/attachment-0001.htm>
More information about the webkit-unassigned
mailing list