| Index: cc/trees/thread_proxy.cc
|
| diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc
|
| index 24286e17581811a258d65f549df0e7b0b72a6c4a..f1ef36107ac880dbae22a145bacd229ed9b36050 100644
|
| --- a/cc/trees/thread_proxy.cc
|
| +++ b/cc/trees/thread_proxy.cc
|
| @@ -107,7 +107,6 @@ ThreadProxy::CompositorThreadOnly::CompositorThreadOnly(
|
| next_frame_is_newly_committed_frame(false),
|
| inside_draw(false),
|
| input_throttled_until_commit(false),
|
| - animations_frozen_until_next_draw(false),
|
| did_commit_after_animating(false),
|
| smoothness_priority_expiration_notifier(
|
| proxy->ImplThreadTaskRunner(),
|
| @@ -188,8 +187,6 @@ void ThreadProxy::UpdateBackgroundAnimateTicking() {
|
| impl().layer_tree_host_impl->active_tree()->root_layer();
|
| impl().layer_tree_host_impl->UpdateBackgroundAnimateTicking(
|
| should_background_tick);
|
| - if (should_background_tick)
|
| - impl().animations_frozen_until_next_draw = false;
|
| }
|
|
|
| void ThreadProxy::DidLoseOutputSurface() {
|
| @@ -767,8 +764,6 @@ void ThreadProxy::BeginMainFrame(
|
| layer_tree_host()->BeginMainFrame(begin_main_frame_state->begin_frame_args);
|
| layer_tree_host()->AnimateLayers(
|
| begin_main_frame_state->begin_frame_args.frame_time);
|
| - blocked_main().last_monotonic_frame_begin_time =
|
| - begin_main_frame_state->begin_frame_args.frame_time;
|
|
|
| // Unlink any backings that the impl thread has evicted, so that we know to
|
| // re-paint them in UpdateLayers.
|
| @@ -939,10 +934,8 @@ void ThreadProxy::ScheduledActionAnimate() {
|
| TRACE_EVENT0("cc", "ThreadProxy::ScheduledActionAnimate");
|
| DCHECK(IsImplThread());
|
|
|
| - if (!impl().animations_frozen_until_next_draw) {
|
| - impl().animation_time =
|
| - impl().layer_tree_host_impl->CurrentBeginFrameArgs().frame_time;
|
| - }
|
| + impl().animation_time =
|
| + impl().layer_tree_host_impl->CurrentBeginFrameArgs().frame_time;
|
| impl().layer_tree_host_impl->Animate(impl().animation_time);
|
| impl().did_commit_after_animating = false;
|
| }
|
| @@ -958,10 +951,6 @@ void ThreadProxy::ScheduledActionCommit() {
|
| impl().current_resource_update_controller->Finalize();
|
| impl().current_resource_update_controller = nullptr;
|
|
|
| - if (impl().animations_frozen_until_next_draw) {
|
| - impl().animation_time = std::max(
|
| - impl().animation_time, blocked_main().last_monotonic_frame_begin_time);
|
| - }
|
| impl().did_commit_after_animating = true;
|
|
|
| blocked_main().main_thread_inside_commit = true;
|
| @@ -1064,17 +1053,6 @@ DrawResult ThreadProxy::DrawSwapInternal(bool forced_draw) {
|
| impl().layer_tree_host_impl->DrawLayers(
|
| &frame, impl().scheduler->LastBeginImplFrameTime());
|
| result = DRAW_SUCCESS;
|
| - impl().animations_frozen_until_next_draw = false;
|
| - } else if (result == DRAW_ABORTED_CHECKERBOARD_ANIMATIONS &&
|
| - !impl().layer_tree_host_impl->settings().impl_side_painting) {
|
| - // Without impl-side painting, the animated layer that is checkerboarding
|
| - // will continue to checkerboard until the next commit. If this layer
|
| - // continues to move during the commit, it may continue to checkerboard
|
| - // after the commit since the region rasterized during the commit will not
|
| - // match the region that is currently visible; eventually this
|
| - // checkerboarding will be displayed when we force a draw. To avoid this,
|
| - // we freeze animations until we successfully draw.
|
| - impl().animations_frozen_until_next_draw = true;
|
| } else {
|
| DCHECK_NE(DRAW_SUCCESS, result);
|
| }
|
|
|