Commit fb5f1370 authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

[IOv2] Don't clip at the root for hit tests.

Now that RLS exists, the LayoutView has a different ClipPaintPropertyNode than every
other node. Therefore PLC::CalculateRects will need to calculate a clip across this
node difference for every PaintLayer.

We don't need this clip at all, since the IOv1 parts of IO already handle such clipping.

For CPU traces of intersection-observer/deep-layers.html, this avoids about 4% of runtime.

Bug: 831762
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I2faa6761edc15854d35cd4a18a466383b6c9d5d8
Reviewed-on: https://chromium-review.googlesource.com/1101970Reviewed-by: default avatarStefan Zager <szager@chromium.org>
Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567897}
parent 26e76699
...@@ -1696,7 +1696,8 @@ HitTestResult LayoutObject::HitTestForOcclusion( ...@@ -1696,7 +1696,8 @@ HitTestResult LayoutObject::HitTestForOcclusion(
DCHECK(!frame->View()->NeedsLayout()); DCHECK(!frame->View()->NeedsLayout());
HitTestRequest::HitTestRequestType hit_type = HitTestRequest::HitTestRequestType hit_type =
HitTestRequest::kListBased | HitTestRequest::kPenetratingList | HitTestRequest::kListBased | HitTestRequest::kPenetratingList |
HitTestRequest::kIgnorePointerEventsNone | HitTestRequest::kReadOnly; HitTestRequest::kIgnorePointerEventsNone | HitTestRequest::kReadOnly |
HitTestRequest::kIgnoreClipping;
return frame->GetEventHandler().HitTestResultAtRect(hit_rect, hit_type, this, return frame->GetEventHandler().HitTestResultAtRect(hit_rect, hit_type, this,
true); true);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment