Bypass cached element rects in AXLayoutObject.
AXLayoutObject has code to cache the computed bounding box of an element
because the computation can be expensive. However, it has a bug in that
the cache doesn't get properly invalidated when an object's position changes
due to only a CSS transformation.
This is resulting in a serious user issue on Android (b/28988142) so
this patch just temporarily removes the element rect caching. This will
unfortunately impact performance, some pages will load more slowly when
accessibility is enabled.
I've been working on a better longer-term fix for many months - storing
relative bounding boxes and transformation matrixes instead. It's much
faster to compute those and doesn't require any caching to be fast.
Unfortuantely it looks like we need to trade performance for correctness
in the short term because there isn't a trivial fix to make the cache
work.
BUG=629439
Review-Url: https://codereview.chromium.org/2168663002
Cr-Commit-Position: refs/heads/master@{#406663}
1 file changed