[IntersectionObserverV2] Don't use a list-based hit test
Previously, rect-based hit tests were assumed to be list-based as well. However, that's not necessary for IO. It's sufficient to return the first hit test result -- if it's the target element, then the target is not occluded; otherwise, it is occluded. Also add the kIgnoreZeroOpacityObjects flag, since zero opacity objects are not considered occluding by IO. With this change, the "deep layers" benchmark for IOV2 runs 6-7 times slower with visibility checking enabled, which is a big improvement over previous measurements (which were up to 50x slower). BUG=831762,823748 R=chrishtr@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I7471221357de465e9e5c1673537e7f11ee287e6a Reviewed-on: https://chromium-review.googlesource.com/1153547 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by:Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#579223}
Showing
Please register or sign in to comment