Commit a7008aaa authored by Stefan Zager's avatar Stefan Zager Committed by Commit Bot

Keep RemoteFrameView::subtree_throttled_ up to date.

Previously, subtree_throttled_ was only set once, when an iframe was
attached to the layout tree, and then never updated. I haven't seen any
bugs resulting from this, but it's clearly wrong, and fixing it appears
to claw back some of the performance regression in the bug.

BUG=941116

Change-Id: I5a094a7c35d0c0a673de358f4cb095bb8f6de032
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531680
Commit-Queue: Stefan Zager <szager@chromium.org>
Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644875}
parent 5c68c750
...@@ -143,7 +143,9 @@ bool RemoteFrameView::UpdateViewportIntersectionsForSubtree( ...@@ -143,7 +143,9 @@ bool RemoteFrameView::UpdateViewportIntersectionsForSubtree(
// TODO(szager): There are some redundant IPC's here; clean them up. // TODO(szager): There are some redundant IPC's here; clean them up.
bool is_visible_for_throttling = !viewport_intersection.IsEmpty(); bool is_visible_for_throttling = !viewport_intersection.IsEmpty();
UpdateVisibility(is_visible_for_throttling); UpdateVisibility(is_visible_for_throttling);
UpdateRenderThrottlingStatus(!is_visible_for_throttling, subtree_throttled_); UpdateRenderThrottlingStatus(
!is_visible_for_throttling,
is_attached_ && ParentFrameView()->CanThrottleRendering());
if (viewport_intersection == last_viewport_intersection_ && if (viewport_intersection == last_viewport_intersection_ &&
occlusion_state == last_occlusion_state_) { occlusion_state == last_occlusion_state_) {
......
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