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 072e8e7efbf2d6ae30186f8514e2d47b790961b8..8a262262048c04d308e0a394bb36f0aa77f5cb23 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -461,14 +461,12 @@ void LayerTreeHostImpl::StartPageScaleAnimation( |
duration.InSecondsF()); |
} |
- SetNeedsRedraw(); |
+ SetNeedsAnimate(); |
client_->SetNeedsCommitOnImplThread(); |
client_->RenewTreePriority(); |
} |
-void LayerTreeHostImpl::ScheduleAnimation() { |
- SetNeedsRedraw(); |
-} |
+void LayerTreeHostImpl::ScheduleAnimation() { SetNeedsAnimate(); } |
brianderson
2014/04/01 16:05:11
Can we get rid of ScheduleAnimation?
Sami
2014/04/17 15:16:33
Looks like we can, done.
|
bool LayerTreeHostImpl::HaveTouchEventHandlersAt( |
const gfx::Point& viewport_point) { |
@@ -1679,6 +1677,10 @@ void LayerTreeHostImpl::SetVisible(bool visible) { |
renderer_->SetVisible(visible); |
} |
+void LayerTreeHostImpl::SetNeedsAnimate() { |
+ client_->SetNeedsAnimateOnImplThread(); |
+} |
+ |
void LayerTreeHostImpl::SetNeedsRedraw() { |
NotifySwapPromiseMonitorsOfSetNeedsRedraw(); |
brianderson
2014/04/01 16:05:11
What does NotifySwapPromiseMonitorsOfSetNeedsRedra
Sami
2014/04/17 15:16:33
As far as I understand it, that call tells the lat
danakj
2014/04/17 15:18:09
It is meant to tell the monitor that we might draw
|
client_->SetNeedsRedrawOnImplThread(); |
@@ -2661,6 +2663,8 @@ void LayerTreeHostImpl::AnimatePageScale(base::TimeTicks monotonic_time) { |
page_scale_animation_.reset(); |
client_->SetNeedsCommitOnImplThread(); |
client_->RenewTreePriority(); |
+ } else { |
+ SetNeedsAnimate(); |
brianderson
2014/04/01 16:05:11
Can you get rid of the SetNeedsRedraw above?
In t
Sami
2014/04/17 15:16:33
I think we still need the SetNeedsRedraw here beca
|
} |
} |
@@ -2671,9 +2675,9 @@ void LayerTreeHostImpl::AnimateTopControls(base::TimeTicks time) { |
if (active_tree_->TotalScrollOffset().y() == 0.f) |
return; |
if (scroll.IsZero()) { |
- // This may happen on the first animation step. Force redraw otherwise |
+ // This may happen on the first animation step. Force animate otherwise |
// the animation would stop because of no new frames. |
- SetNeedsRedraw(); |
+ SetNeedsAnimate(); |
brianderson
2014/04/01 16:05:11
I guess this is the way it already is, but I wonde
Sami
2014/04/17 15:16:33
Good question. I think we should call SetNeedsAnim
|
} else { |
ScrollViewportBy(gfx::ScaleVector2d( |
scroll, 1.f / active_tree_->total_page_scale_factor())); |
@@ -2699,7 +2703,7 @@ void LayerTreeHostImpl::AnimateLayers(base::TimeTicks monotonic_time) { |
++iter) |
(*iter).second->Animate(monotonic_time_for_cc_animations); |
- SetNeedsRedraw(); |
+ SetNeedsAnimate(); |
} |
void LayerTreeHostImpl::UpdateAnimationState(bool start_ready_animations) { |
@@ -2809,9 +2813,10 @@ void LayerTreeHostImpl::AnimateScrollbarsRecursive(LayerImpl* layer, |
layer->scrollbar_animation_controller(); |
if (scrollbar_controller && scrollbar_controller->Animate(time)) { |
TRACE_EVENT_INSTANT0( |
- "cc", "LayerTreeHostImpl::SetNeedsRedraw due to AnimateScrollbars", |
+ "cc", |
+ "LayerTreeHostImpl::SetNeedsAnimate due to AnimateScrollbars", |
TRACE_EVENT_SCOPE_THREAD); |
- SetNeedsRedraw(); |
+ SetNeedsAnimate(); |
} |
for (size_t i = 0; i < layer->children().size(); ++i) |
@@ -2832,10 +2837,11 @@ void LayerTreeHostImpl::StartScrollbarAnimationRecursive(LayerImpl* layer, |
layer->scrollbar_animation_controller(); |
if (scrollbar_controller && scrollbar_controller->IsAnimating()) { |
base::TimeDelta delay = scrollbar_controller->DelayBeforeStart(time); |
- if (delay > base::TimeDelta()) |
+ if (delay > base::TimeDelta()) { |
client_->RequestScrollbarAnimationOnImplThread(delay); |
- else if (scrollbar_controller->Animate(time)) |
- SetNeedsRedraw(); |
+ } else if (scrollbar_controller->Animate(time)) { |
+ SetNeedsAnimate(); |
+ } |
} |
for (size_t i = 0; i < layer->children().size(); ++i) |