| // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef UI_COMPOSITOR_LAYER_THREADED_ANIMATION_DELEGATE_H_ | 
 | #define UI_COMPOSITOR_LAYER_THREADED_ANIMATION_DELEGATE_H_ | 
 |  | 
 | #include <memory> | 
 |  | 
 | #include "cc/animation/keyframe_model.h" | 
 | #include "ui/compositor/compositor_export.h" | 
 |  | 
 | namespace ui { | 
 |  | 
 | // Attach CC keyframe_models using this interface. | 
 | class COMPOSITOR_EXPORT LayerThreadedAnimationDelegate { | 
 |  public: | 
 |   virtual void AddThreadedAnimation( | 
 |       std::unique_ptr<cc::KeyframeModel> keyframe_model) = 0; | 
 |   virtual void RemoveThreadedAnimation(int keyframe_model_id) = 0; | 
 |  | 
 |  protected: | 
 |   virtual ~LayerThreadedAnimationDelegate() {} | 
 | }; | 
 |  | 
 | }  // namespace ui | 
 |  | 
 | #endif  // UI_COMPOSITOR_LAYER_THREADED_ANIMATION_DELEGATE_H_ |