gecko-dev/accessible/ipc
James Teh 83a22d7047 Bug 1448091 part 2: AccessibleHandler: Don't repeatedly and unnecessarily refresh the cache after the first change. r=MarcoZ
The singleton AccessibleHandlerControl maintains a global cache generation counter which is incremented whenever any node is changed.
The handler for each node tracks the cache generation at the time its cache was initialized.
To check whether the cache needs to be updated, the handler compares its generation against the global generation from AccessibleHandlerControl.
If they differ, it refreshes the cache.
Previously, the handler didn't update its cache generation after refreshing.
This meant that every single query after the first change would refresh the whole cache, even if there wasn't a second change.
This resulted in a huge number of wasted cache updates for clients such as JAWS which hold onto accessibles, rather than releasing them and fetching them again for each update.

MozReview-Commit-ID: 80d4n1cIjzQ

--HG--
extra : rebase_source : a0903ddb33eba5381a232a661deaa3754b92406f
2018-03-23 11:53:01 -04:00
..
other Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
win Bug 1448091 part 2: AccessibleHandler: Don't repeatedly and unnecessarily refresh the cache after the first change. r=MarcoZ 2018-03-23 11:53:01 -04:00
DocAccessibleChildBase.cpp Bug 1402951 - no show events for content on document load complete, r=aklotz, yzen 2017-10-03 10:58:27 -04:00
DocAccessibleChildBase.h Bug 1402951 - no show events for content on document load complete, r=aklotz, yzen 2017-10-03 10:58:27 -04:00
DocAccessibleParent.cpp Bug 1423541: Use BaseRect access methods instead of member variables in accessible/ r=surkov 2018-01-12 12:07:29 -05:00
DocAccessibleParent.h Bug 1436263 - Part 3: Remove `virtual` from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
IPCTypes.h Bug 1390652: Part 1 - Send parent COM proxies to content as IDispatch instead of IAccessible to match the outparam type of IAccessible::get_accParent; r=yzen 2017-08-16 10:56:00 -06:00
ProxyAccessibleBase.cpp Bug 1326084 - Unbind accessible child doc before replacing with new one. r=trevor 2017-04-07 13:26:45 -07:00
ProxyAccessibleBase.h bug 1339128 - reference parent proxy by id r=eeejay 2017-02-13 14:52:07 -05:00
ProxyAccessibleShared.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
moz.build Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00