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 30de9244e1f9f394e5109c14b6bb4f78b37dfbd6..d0fb521f5046c765cb2a52f0876fae3e6ab23aec 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -789,7 +789,8 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses(FrameData* frame) { |
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_ && |
+ !frame->handle_visibility_changed) { |
danakj
2016/10/20 22:40:26
I think you could use a local variable here instea
|
TRACE_EVENT0("cc", |
"LayerTreeHostImpl::CalculateRenderPasses::EmptyDamageRect"); |
frame->has_no_damage = true; |
@@ -1088,6 +1089,9 @@ DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) { |
frame->will_draw_layers.clear(); |
frame->has_no_damage = false; |
frame->may_contain_video = false; |
+ frame->handle_visibility_changed = handle_visibility_changed_; |
+ |
+ handle_visibility_changed_ = false; |
if (active_tree_->RootRenderSurface()) { |
gfx::Rect device_viewport_damage_rect = viewport_damage_rect_; |