[Blink] Correct ignore root layer scrolling in PaintLayerClipper
The flag kIgnoreOverflowClipAndScroll can be passed to PaintLayerClipper to compute clip rect in the space of the scrolled box of the root layer. This is done by first computing clip rect in the space of the border box, then apply an anti-scroll to the rect if the rect was affected by the scroll. Prior to this CL, the condition that determines whether the anti-scroll is needed was incorrect. It used a function that determines whether two layers can ever have relative movement upon scrolled, and is allowed to return false positive. This CL instead traverses the layer tree to see whether the root layer is a part of the containing block chain. BUG=825543 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Ifec0bddb9511aa3b878cc0757bb8fb6f59cfb0ab Reviewed-on: https://chromium-review.googlesource.com/987319Reviewed-by:Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Tien-Ren Chen <trchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#547979}
Showing
Please register or sign in to comment