gecko-dev/accessible/ipc/win
James Teh ba7d805a62 Bug 1650590: A11y COM handler: Use CoTaskMemAlloc/Free for row/column header ids arrays when returned by IGeckoBackChannel::Refresh. r=MarcoZ
DynamicIA2Data can be built to be transmitted in two different ways:

1. As part of the payload included in the stream when an accessible is marshaled; or
2. As an out parameter returned by IGeckoBackChannel::Refresh().

DynamicIA2Data includes arrays for row/column header ids.
Normally, such arrays would be allocated by CoTaskMemAlloc and freed by CoTaskMemFree.
However, in the first case, the struct is actually marshaled by RPC encoding functions, not by COM itself.
This means we must use midl_user_allocate/free, lest we crash.
We previously used midl_user_allocate/free for the second case as well.
Unfortunately, it turns out that this too causes crashes.

To fix this, we now use different memory allocation functions depending on how the struct is transmitted.

This patch also cleans up the old DynamicIA2Data in the client before calling IGeckoBackChannel::Refresh.
Previously, we didn't do this, which would have resulted in a leak.

Differential Revision: https://phabricator.services.mozilla.com/D82823
2020-07-09 06:56:24 +00:00
..
handler Bug 1650590: A11y COM handler: Use CoTaskMemAlloc/Free for row/column header ids arrays when returned by IGeckoBackChannel::Refresh. r=MarcoZ 2020-07-09 06:56:24 +00:00
typelib Bug 1617794 - Wrap Windows tools with Wine on cross builds. r=dmajor 2020-02-27 04:42:57 +00:00
COMPtrTypes.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
COMPtrTypes.h
DocAccessibleChild.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=andi 2020-07-04 09:38:43 +00:00
DocAccessibleChild.h Bug 1649217 - Part 2: Send isSelectionCollapsed for caret move in IPC. r=Jamie 2020-07-02 18:08:52 +00:00
HandlerProvider.cpp Bug 1650590: A11y COM handler: Use CoTaskMemAlloc/Free for row/column header ids arrays when returned by IGeckoBackChannel::Refresh. r=MarcoZ 2020-07-09 06:56:24 +00:00
HandlerProvider.h Bug 1650590: A11y COM handler: Use CoTaskMemAlloc/Free for row/column header ids arrays when returned by IGeckoBackChannel::Refresh. r=MarcoZ 2020-07-09 06:56:24 +00:00
IAccessible32.manifest
IAccessible64.manifest
moz.build Bug 1608460 - Redefine MIDL names to be unique to work around a clang-cl bug r=froydnj 2020-01-10 17:53:29 +00:00
PDocAccessible.ipdl Bug 1649217 - Part 2: Send isSelectionCollapsed for caret move in IPC. r=Jamie 2020-07-02 18:08:52 +00:00
PlatformChild.cpp
PlatformChild.h
ProxyAccessible.cpp Bug 1595979 - add zoom text hittest b-c test. Implement OffsetAtPoint for XPCOM on Windows with e10s. r=Jamie 2020-04-14 23:57:42 +00:00
ProxyAccessible.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00