Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / animation / AnimationNodeTiming.h
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.
4
5 #ifndef AnimationNodeTiming_h
6 #define AnimationNodeTiming_h
7
8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "core/animation/AnimationNode.h"
10 #include "wtf/RefCounted.h"
11 #include "wtf/text/WTFString.h"
12
13 namespace blink {
14
15 class DoubleOrString;
16
17 class AnimationNodeTiming : public RefCountedWillBeGarbageCollectedFinalized<AnimationNodeTiming>, public ScriptWrappable {
18     DEFINE_WRAPPERTYPEINFO();
19 public:
20     static PassRefPtrWillBeRawPtr<AnimationNodeTiming> create(AnimationNode* parent);
21     double delay();
22     double endDelay();
23     String fill();
24     double iterationStart();
25     double iterations();
26     void getDuration(String propertyName, DoubleOrString&);
27     double playbackRate();
28     String direction();
29     String easing();
30
31     void setDelay(double);
32     void setEndDelay(double);
33     void setFill(String);
34     void setIterationStart(double);
35     void setIterations(double);
36     bool setDuration(String name, double duration);
37     void setPlaybackRate(double);
38     void setDirection(String);
39     void setEasing(String);
40
41     void trace(Visitor*);
42
43 private:
44     RefPtrWillBeMember<AnimationNode> m_parent;
45     explicit AnimationNodeTiming(AnimationNode*);
46 };
47
48 } // namespace blink
49
50 #endif