gecko-dev/accessible
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
..
aom Bug 1436263 - Part 4: Remove unnecessary `virtual` and `final` from non-overriding final virtual function declarations. r=froydnj 2018-02-09 01:31:38 -08:00
atk Bug 1346535 - atk: Introduce U+FEFF characters to match AT-SPI offsets with DOM offsets. r=surkov, r=dbaron 2018-03-16 15:57:00 -04:00
base Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE 2018-03-22 20:06:24 +01:00
generic Bug 865615 - Remove Accessible::DOMNode. r=surkov 2018-03-23 00:52:14 +09:00
html Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor 2018-03-21 17:39:04 -04:00
interfaces Bug 1420119 - avoid issues with make's timestamp caching; r=nalexander 2018-02-13 16:04:31 -05:00
ipc 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
jsat Bug 1444143 part 10. Remove unnecessary QIs to Ci.nsIFrameLoader in JS. r=mystor 2018-03-21 22:43:17 -04:00
mac Bug 1433891 - ARIA documents should be easily distinguishable from native ones r=marcoz 2018-02-06 12:13:00 +02:00
other Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
tests Backed out 10 changesets (bug 1446809) for failing on jsat/test_content_integration.html . CLOSED TREE 2018-03-21 11:17:38 +02:00
windows Bug 1446280: Ensure a11y::SetInstantiator only runs once; r=eeejay 2018-03-16 12:23:46 -06:00
xpcom Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan 2018-03-16 14:29:15 +01:00
xul Bug 865615 - Remove Accessible::DOMNode. r=surkov 2018-03-23 00:52:14 +09:00
.eslintrc.js Bug 1436389 - Update complexity rules to adapt for the algorithm in the new ESLint. r=mossop 2018-02-07 16:16:09 +00:00
moz.build Bug 1329977 - creating doc accessibles for existing content documents. r=surkov 2017-10-31 09:48:07 -04:00