gecko-dev/accessible
James Teh 6d32b64ab0 Bug 1838123: Update UI Automation client detection to work with modern versions of Windows. r=nlapre,handyman
The window message we previously hooked no longer gets sent and the associated shared memory no longer seems to be created either.
Also, we don't seem to be notified about the load of UIAutomationCore.dll until after it has already instantiated a11y, which is obviously too late for us to hook anything.
Instead, we block UIA instantiation via LazyInstantiator, just as we do for MSAA/IA2:

1. Refactor CompatibilityUIA so that rather than being called by a hook, it simply allows the caller to query the process ids of any UIA clients.
2. CompatibilityUIA now searches handles in our process for named pipes created by UIA for communication with the remote process and then uses GetNamedPipeServerProcessId to get the process id on the other end of each pipe.
3. Refactor LazyInstantiator so that it first tries to get the MSAA/IA2 client process id, then calls CompatibilityUIA to get any UIA client process ids.
4. LazyInstantiator now handles setting the instantiator and blocking of clients for UIA as well as MSAA/IA2 using the same code.
5. Because UIA client detection can be expensive if clients repeatedly query us, cache the result. Reset that cache only when one of our windows comes to the foreground.

Differential Revision: https://phabricator.services.mozilla.com/D181958
2023-07-13 05:25:20 +00:00
..
android Bug 1840295: Remove Windows specific ifdefs for PDocAccessible:: FocusEvent and CaretMoveEvent. r=eeejay 2023-07-05 04:15:27 +00:00
aom Bug 1840732 Part 5: Remove unnecessary includes from accessible/aom, r=Jamie 2023-07-07 03:22:08 +00:00
atk Bug 1837163: Use correct ATK text attribute names. r=eeejay 2023-07-11 01:32:08 +00:00
base Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
basetypes Bug 1840732 Part 2: Remove unnecessary includes from accessible/basetypes, r=Jamie 2023-07-07 03:22:07 +00:00
docs Bug 1621950 - fix some myst ref warnings r=firefox-source-docs-reviewers,devtools-reviewers,sylvestre 2023-03-30 08:01:22 +00:00
generic Bug 1840732 Part 3: Remove unnecessary includes from accessible/generic, r=Jamie 2023-07-07 03:22:07 +00:00
html Bug 1840732 Part 6: Remove unnecessary includes from accessible/html, r=Jamie 2023-07-07 03:22:08 +00:00
interfaces Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie 2023-06-28 21:45:16 +00:00
ipc Bug 1840732 Part 7: Remove unnecessary includes from accessible/ipc, r=Jamie 2023-07-07 03:22:09 +00:00
mac Bug 1840295: Remove Windows specific ifdefs for PDocAccessible:: FocusEvent and CaretMoveEvent. r=eeejay 2023-07-05 04:15:27 +00:00
other Bug 1840295: Remove Windows specific ifdefs for PDocAccessible:: FocusEvent and CaretMoveEvent. r=eeejay 2023-07-05 04:15:27 +00:00
tests Bug 1841216: Fire a11y description change event when aria-description is changed. r=nlapre 2023-07-06 01:32:56 +00:00
windows Bug 1838123: Update UI Automation client detection to work with modern versions of Windows. r=nlapre,handyman 2023-07-13 05:25:20 +00:00
xpcom Bug 1840732 Part 4: Remove unnecessary includes from accessible/xpcom, r=Jamie 2023-07-07 03:22:08 +00:00
xul Bug 1839922 - Remove usage of {Has,Get}Attr(kNameSpaceID_None, ..). r=edgar 2023-06-23 10:01:32 +00:00
moz.build Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie 2023-06-28 21:45:16 +00:00