DescriptionImplement a Hit Test Cache for same point hits.
Introduce a HitTestCache which can be used to return hit tests from the
cache. Currently each cache hit is verified against the true result and
a UMA metric recorded. Once no false positives have been seen in UMA short
circuiting the verify will be done.
Rect and list based hit tests aren't cached just yet;
again this will be a future improvement.
Add Internals APIs to return the hit test cache hits, the ability to
clear the hit test cache and make specialized requests.
This commit attempt fixes two issues that appeared to cause some flaky test
failures
1) List based requests were returned which it appears we can do non-rect
based list requests which I didn't anticipate.
2) LayoutPart incorrected allowed the HitTestResult to be cached on the
parent's frame causing a set of incorrect results. Add test to check this.
BUG=398920
TEST=Tools/Scripts/run-webkit-tests
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197233
Patch Set 1 #
Total comments: 1
Patch Set 2 : Implement single point cache #Patch Set 3 : Adjust UMA metrics to report two different ones #Patch Set 4 : Fix git cl format mangling #
Total comments: 66
Patch Set 5 : Address comments in patch set 4 #Patch Set 6 : Remove stray file #
Total comments: 5
Patch Set 7 : Adjust comments in HitTestCache.h #
Total comments: 16
Patch Set 8 : Fix comments from tdresser #
Total comments: 6
Patch Set 9 : Use HeapVector with inline capacity #Patch Set 10 : Rebase against ToT #Patch Set 11 : Seems verify is a macro on MacOSX; change name. #Patch Set 12 : Fix iframe caching issue; caused flaky test #Patch Set 13 : Minor tweak when result is over widget #Patch Set 14 : Remove validity rect as per Elliott's request #Messages
Total messages: 49 (14 generated)
|