Index: cc/trees/layer_tree_host_impl.h |
diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h |
index 9feb3487ee6454c50ff873ac0e7f52644400daed..10dba1137d57918fbcd91bfbce2a0f44ae49aeb0 100644 |
--- a/cc/trees/layer_tree_host_impl.h |
+++ b/cc/trees/layer_tree_host_impl.h |
@@ -150,6 +150,7 @@ class CC_EXPORT LayerTreeHostImpl |
public TopControlsManagerClient, |
public ScrollbarAnimationControllerClient, |
public VideoFrameControllerClient, |
+ public LayerTreeMutatorClient, |
public MutatorHostClient, |
public base::SupportsWeakPtr<LayerTreeHostImpl> { |
public: |
@@ -239,6 +240,7 @@ class CC_EXPORT LayerTreeHostImpl |
virtual void BeginCommit(); |
virtual void CommitComplete(); |
virtual void UpdateAnimationState(bool start_ready_animations); |
+ bool Mutate(base::TimeTicks monotonic_time); |
void ActivateAnimations(); |
void Animate(); |
void AnimatePendingTreeAfterCommit(); |
@@ -371,6 +373,9 @@ class CC_EXPORT LayerTreeHostImpl |
const gfx::Rect& clip, |
bool resourceless_software_draw) override; |
+ // LayerTreeMutatorClient. |
+ void SetNeedsMutate() override; |
+ |
// Called from LayerTreeImpl. |
void OnCanDrawStateChangedForTree(); |
@@ -636,8 +641,8 @@ class CC_EXPORT LayerTreeHostImpl |
bool ScrollAnimationCreate(ScrollNode* scroll_node, |
const gfx::Vector2dF& scroll_amount); |
- void SetLayerTreeMutator(LayerTreeMutator* mutator); |
- LayerTreeMutator* mutator() { return mutator_; } |
+ void SetLayerTreeMutator(std::unique_ptr<LayerTreeMutator> mutator); |
+ LayerTreeMutator* mutator() { return mutator_.get(); } |
protected: |
LayerTreeHostImpl( |
@@ -869,7 +874,7 @@ class CC_EXPORT LayerTreeHostImpl |
std::unique_ptr<Viewport> viewport_; |
- LayerTreeMutator* mutator_; |
+ std::unique_ptr<LayerTreeMutator> mutator_; |
DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); |
}; |