Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / cc / blink / web_compositor_animation_timeline_impl.h
blob65d05d831578e52843accfaa45cdf70b5027d167
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_BLINK_WEB_COMPOSITOR_ANIMATION_TIMELINE_IMPL_H_
6 #define CC_BLINK_WEB_COMPOSITOR_ANIMATION_TIMELINE_IMPL_H_
8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "cc/blink/cc_blink_export.h"
11 #include "third_party/WebKit/public/platform/WebCompositorAnimationTimeline.h"
13 namespace blink {
14 class WebCompositorAnimationPlayerClient;
17 namespace cc {
18 class AnimationTimeline;
21 namespace cc_blink {
23 class WebCompositorAnimationTimelineImpl
24 : public blink::WebCompositorAnimationTimeline {
25 public:
26 CC_BLINK_EXPORT explicit WebCompositorAnimationTimelineImpl();
27 virtual ~WebCompositorAnimationTimelineImpl();
29 CC_BLINK_EXPORT cc::AnimationTimeline* animation_timeline() const;
31 // blink::WebCompositorAnimationTimeline implementation
32 virtual void playerAttached(
33 const blink::WebCompositorAnimationPlayerClient& client);
34 virtual void playerDestroyed(
35 const blink::WebCompositorAnimationPlayerClient& client);
37 private:
38 scoped_refptr<cc::AnimationTimeline> animation_timeline_;
40 DISALLOW_COPY_AND_ASSIGN(WebCompositorAnimationTimelineImpl);
43 } // namespace cc_blink
45 #endif // CC_BLINK_WEB_COMPOSITOR_ANIMATION_TIMELINE_IMPL_H_