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 "core/animation/AnimationNode.h" 9 #include "wtf/RefCounted.h" 10 #include "wtf/text/WTFString.h" 11 12 namespace WebCore { 13 14 class AnimationNodeTiming : public RefCountedWillBeGarbageCollectedFinalized<AnimationNodeTiming> { 15 public: 16 static PassRefPtrWillBeRawPtr<AnimationNodeTiming> create(AnimationNode* parent); 17 double delay(); 18 double endDelay(); 19 String fill(); 20 double iterationStart(); 21 double iterations(); 22 void getDuration(String propertyName, bool& element0Enabled, double& element0, bool& element1Enabled, String& element1); 23 double playbackRate(); 24 String direction(); 25 String easing(); 26 27 void setDelay(double); 28 void setEndDelay(double); 29 void setFill(String); 30 void setIterationStart(double); 31 void setIterations(double); 32 bool setDuration(String name, double duration); 33 void setPlaybackRate(double); 34 void setDirection(String); 35 void setEasing(String); 36 37 void trace(Visitor*); 38 39 private: 40 RefPtrWillBeMember<AnimationNode> m_parent; 41 explicit AnimationNodeTiming(AnimationNode*); 42 }; 43 44 } // namespace WebCore 45 46 #endif 47