clang is warning that C++20 expects comparison operators to be commutative: `a == b` and `b == a` should resolve to the same comparison operator function. Warnings about the comparison of const and non-const objects can be fixed by making the comparison operator function const.
accessible/base/TextAttrs.h:139:54 [-Wambiguous-reversed-operator] ISO C++20 considers use of overloaded operator '!=' (with operand types 'mozilla::a11y::TextAttrsMgr::TextDecorValue' and 'mozilla::a11y::TextAttrsMgr::TextDecorValue') to be ambiguous despite there being a unique best viable function with non-reversed arguments
...
Differential Revision: https://phabricator.services.mozilla.com/D179019
We had some different results in non-caching mode. We can now unify the results and not worry about that.
Depends on D178718
Differential Revision: https://phabricator.services.mozilla.com/D178719
With caching on we can remove the legacy text marker and the abstracting class that allowed us to operate in both modes.
Differential Revision: https://phabricator.services.mozilla.com/D178717
The core, cross-platform implementation already masks passwords.
Thus, the ATK specific code has been unnecessary for a long time now.
The ATK masking code also only applied to LocalAccessible.
This means we can get rid of this differentiation between local and remote.
Differential Revision: https://phabricator.services.mozilla.com/D178610
Now that we always have the core parent process cache, this is no longer necessary.
This also removes EVENT_TABLE_STYLING_CHANGED, which was only used to keep the Mac cache up to date.
Differential Revision: https://phabricator.services.mozilla.com/D178425
Regarding LazyInstantiator::ResolveDispatch, we already had code in MsaaAccessible to get the IAccessible typelib.
mscom::RegisterTypelib has a lot of dependencies and it doesn't make sense to keep it for this one use case we can already support another way.
Differential Revision: https://phabricator.services.mozilla.com/D177966
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.
Differential Revision: https://phabricator.services.mozilla.com/D177963
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.
Differential Revision: https://phabricator.services.mozilla.com/D177963
This only worked with the COM proxy architecture.
It cannot be used with the cache active.
This includes ScrollSubstringToPoint, and since that isn't currently supported by the cache, it isn't supported at all on Windows now.
However, no one seems to use this on Windows and this implementation can't be used with the cache active anyway.
Differential Revision: https://phabricator.services.mozilla.com/D177901
Now that we don't defer events on Windows, this isn't necessary on Windows.
Usage of this on other platforms was removed in bug 1821957.
Differential Revision: https://phabricator.services.mozilla.com/D177900
We only needed to defer events because of the need to wait for a parent COM proxy.
Similarly, sync text change events (as opposed to async) were only necessary with the COM proxy architecture.
Now that there are no COM proxies, neither of these are necessary.
Differential Revision: https://phabricator.services.mozilla.com/D177899
Because a11y clients only talk to the parent process now, content processes don't need to generate MSAA ids.
They're all generated in the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D177895
This was only added for a11y and a11y no longer needs it.
Note that the code in Mac HyperTextAccessibleWrap which used this is no longer used itself and will be removed in bug 1821965.
Differential Revision: https://phabricator.services.mozilla.com/D177745
This was done using the following script:
```
matchingFiles=`git grep -l accessibility_cache_enabled`
sed -i 's/StaticPrefs::accessibility_cache_enabled_AtStartup/a11y::IsCacheActive/' $matchingFiles
for f in $matchingFiles; do
usesA11yPref=
grep -q StaticPrefs::accessibility_ $f && usesA11yPref=1
hasA11yInclude=
grep -q 'nsAccessibilityService.h' $f && hasA11yInclude=1
if [ -z $usesA11yPref ] && [ -z $hasA11yInclude ]; then
sed -i 's,mozilla/StaticPrefs_accessibility.h,nsAccessibilityService.h,' $f
elif [ -z $usesA11yPref ] && [ $hasA11yInclude ]; then
sed -i '/"mozilla.StaticPrefs_accessibility.h"/d' $f
elif [ $usesA11yPref ] && [ -z $hasA11yInclude ]; then
sed -i '/"mozilla.StaticPrefs_accessibility.h"/a#include "nsAccessibilityService.h"' $f
fi
done
```
Differential Revision: https://phabricator.services.mozilla.com/D177722
This is transitional while we remove the many non-caching C++ code paths.
During the transition, we don't want someone to set the pref to false and experience breakage.
So, this function always returns true: the cache is always active henceforth.
Differential Revision: https://phabricator.services.mozilla.com/D177721
Previously, we passed true for aIsEnabled, indicating that the state was only ever enabled, never disabled.
We could get the actual enabled value here using dom::ElementState::HasState(), but that wouldn't take aria-invalid into account if present.
Instead, we let AccStateChangeEvent calculate it by calling Accessible::State().
Differential Revision: https://phabricator.services.mozilla.com/D178039