1 // Copyright 2014 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 CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_ANIMATION_IMPL_H_
6 #define CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_ANIMATION_IMPL_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "content/common/content_export.h"
10 #include "third_party/WebKit/public/platform/WebCompositorAnimation.h"
11 #include "third_party/WebKit/public/platform/WebCompositorAnimationCurve.h"
19 class WebCompositorAnimationImpl : public blink::WebCompositorAnimation {
21 CONTENT_EXPORT WebCompositorAnimationImpl(
22 const blink::WebCompositorAnimationCurve& curve,
23 TargetProperty target,
26 virtual ~WebCompositorAnimationImpl();
28 // blink::WebCompositorAnimation implementation
30 virtual TargetProperty targetProperty() const;
31 #if WEB_ANIMATION_SUPPORTS_FRACTIONAL_ITERATIONS
32 virtual double iterations() const;
33 virtual void setIterations(double iterations);
35 virtual int iterations() const;
36 virtual void setIterations(int iterations);
38 virtual double startTime() const;
39 virtual void setStartTime(double monotonic_time);
40 virtual double timeOffset() const;
41 virtual void setTimeOffset(double monotonic_time);
42 #if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION
43 virtual Direction direction() const;
44 virtual void setDirection(Direction);
46 virtual bool alternatesDirection() const;
47 virtual void setAlternatesDirection(bool alternates);
50 scoped_ptr<cc::Animation> PassAnimation();
53 scoped_ptr<cc::Animation> animation_;
55 DISALLOW_COPY_AND_ASSIGN(WebCompositorAnimationImpl);
58 } // namespace content
60 #endif // CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_ANIMATION_IMPL_H_