New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 825817 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 15
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature

Blocking:
issue 732392



Sign in to add a comment

Submit regions with precise rects when layer has a regular effective clip

Project Member Reported by sunxd@chromium.org, Mar 26 2018

Issue description

Layer tree's hit test data for viz marks any clipped surface layer with a slow path flag. This is inefficient as a large number of iframes on the web are clipped by a containing div. We want to submit correct region rects for these iframes to avoid slow path for them.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f3459eb6919d3ec83b28481320df04dbde0ff54

commit 5f3459eb6919d3ec83b28481320df04dbde0ff54
Author: sunxd <sunxd@chromium.org>
Date: Thu Jul 26 16:44:30 2018

Apply clips to cc layer hit test rects

It is very common that iframes get clipped by a container on the
web. We previously marked any clipped iframes to require the slow path.

This CL checks if all transforms applied to an iframe preserve
isothetic alignment so that we can use a single accumulated clip
region as the hit test rect.

Bug:  825817 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ide233736b1cd375bc1b96172a3fa4cba5afc9a42
Reviewed-on: https://chromium-review.googlesource.com/1000135
Commit-Queue: Xianda Sun <sunxd@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578338}
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/cc/trees/property_tree.cc
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/cc/trees/property_tree.h
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/browser/site_per_process_hit_test_browsertest.cc
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/public/test/hit_test_region_observer.cc
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/public/test/hit_test_region_observer.h
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_clip_path_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_clipped_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_clipped_rotated_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_filtered_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_masked_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_overlapped_iframes.html
[modify] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_positioned_busy_frame.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_rotated_clipped_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_transformed_iframe.html
[add] https://crrev.com/5f3459eb6919d3ec83b28481320df04dbde0ff54/content/test/data/frame_tree/page_with_transparent_iframe.html

Status: Fixed (was: Started)

Sign in to add a comment