gecko-dev/accessible
James Teh a5eb156496 Bug 1770162: Fix MsaaIdGenerator timer assertion during shutdown. r=morgan
There can be LocalAccessibles which don't die until the final cycle collection during XPCOM shutdown.
MsaaIdGenerator::ReleaseID (called during deletion of a LocalAccessible) uses a timer when the cache is enabled, but timers can't be used after XPCOM shutdown.
This was causing an assertion.
In addition, because MsaaIdGenerator is a static instance, the timer could be deleted after XPCOM shutdown, causing a warning.
To fix this:

1. If accessibility is shut down, just release ids immediately.
2. Clean up any remaining ids and the timer on XPCOM shutdown.

A better solution would be to create and terminate MsaaIdGenerator during a11y startup and shutdown, but this is a bit tricky while we still have the non-cache code paths.
Once we don't need the non-cache code, MsaaIdGenerator will become a lot simpler, so this refactor will be easier then.

Differential Revision: https://phabricator.services.mozilla.com/D146866
2022-05-23 22:05:52 +00:00
..
android Bug 1768927 - Preload localized role strings and heading levels at init. r=Jamie 2022-05-13 05:00:55 +00:00
aom Bug 1714390 - P2: Use AccAttributes for accessible and text attributes. r=Jamie 2021-06-10 23:07:05 +00:00
atk Bug 1735101: Cache char, line coordinate info to support computing TextBounds and CharBounds in the parent process r=Jamie 2022-05-09 20:30:27 +00:00
base Bug 1768054: Traverse embedded chars when computing text bounds. r=Jamie 2022-05-23 21:43:12 +00:00
basetypes Bug 1768054: Traverse embedded chars when computing text bounds. r=Jamie 2022-05-23 21:43:12 +00:00
docs Bug 1765433 - P3: Get bundle and do pivot in UI thread for remote accessibles. r=Jamie 2022-05-04 18:00:47 +00:00
generic Bug 1745024 - avoid keeping an 'Accessibility notifications' refresh observer for initial about:blank documents, r=Jamie. 2022-05-21 00:23:09 +00:00
html Bug 1766794: Lazily cache HyperText offsets for RemoteAccessibles. r=eeejay 2022-05-05 11:14:12 +00:00
interfaces Bug 1713050 - P2: Add granularity to a11y caret move events. r=morgan 2022-03-16 05:56:25 +00:00
ipc Bug 1768054: Traverse embedded chars when computing text bounds. r=Jamie 2022-05-23 21:43:12 +00:00
mac Bug 1765651 - Put DOMNodeID in Accessible. r=morgan 2022-04-22 16:31:42 +00:00
other Bug 1713050 - P3: Add more granularities to AXSelectedTextChanged events. r=morgan 2022-03-16 05:56:26 +00:00
tests Bug 1768054: Traverse embedded chars when computing text bounds. r=Jamie 2022-05-23 21:43:12 +00:00
windows Bug 1770162: Fix MsaaIdGenerator timer assertion during shutdown. r=morgan 2022-05-23 22:05:52 +00:00
xpcom Bug 1735101: Cache char, line coordinate info to support computing TextBounds and CharBounds in the parent process r=Jamie 2022-05-09 20:30:27 +00:00
xul Bug 1735970 part 3: Add TableAccessibleBase and TableCellAccessibleBase. r=morgan 2022-04-01 09:49:57 +00:00
moz.build Bug 1755383 - P3: Migrate HTML selection tests from mochitests to browser tests. r=morgan 2022-02-16 18:42:54 +00:00