| Index: cc/trees/layer_tree_host_impl.cc
|
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
| index 8602c5d0beab345095dd73b2828d3ba411f3853d..a0a62cfdb567b3b402928374eaea077ac718f50b 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -790,10 +790,18 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses(FrameData* frame) {
|
| active_tree_->hud_layer()->IsAnimatingHUDContents();
|
| bool resources_must_be_resent =
|
| compositor_frame_sink_->capabilities().can_force_reclaim_resources;
|
| + // When touch handle visibility changes there is no visible damage
|
| + // because touch handles are composited in the browser. However we
|
| + // still want the browser to be notified that the handles changed
|
| + // through the |ViewHostMsg_SwapCompositorFrame| IPC so we keep
|
| + // track of handle visibility changes through |handle_visibility_changed|.
|
| + bool handle_visibility_changed =
|
| + active_tree_->GetAndResetHandleVisibilityChanged();
|
| if (root_surface_has_contributing_layers &&
|
| root_surface_has_no_visible_damage &&
|
| !active_tree_->property_trees()->effect_tree.HasCopyRequests() &&
|
| - !resources_must_be_resent && !hud_wants_to_draw_) {
|
| + !resources_must_be_resent && !hud_wants_to_draw_ &&
|
| + !handle_visibility_changed) {
|
| TRACE_EVENT0("cc",
|
| "LayerTreeHostImpl::CalculateRenderPasses::EmptyDamageRect");
|
| frame->has_no_damage = true;
|
|
|