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 AnimationPlayerEvent_h 6 #define AnimationPlayerEvent_h 7 8 #include "core/events/Event.h" 9 10 namespace blink { 11 12 struct AnimationPlayerEventInit : public EventInit { 13 AnimationPlayerEventInit(); 14 15 double currentTime; 16 double timelineTime; 17 }; 18 19 class AnimationPlayerEvent FINAL : public Event { 20 DEFINE_WRAPPERTYPEINFO(); 21 public: 22 static PassRefPtrWillBeRawPtr<AnimationPlayerEvent> create() 23 { 24 return adoptRefWillBeNoop(new AnimationPlayerEvent); 25 } 26 static PassRefPtrWillBeRawPtr<AnimationPlayerEvent> create(const AtomicString& type, double currentTime, double timelineTime) 27 { 28 return adoptRefWillBeNoop(new AnimationPlayerEvent(type, currentTime, timelineTime)); 29 } 30 static PassRefPtrWillBeRawPtr<AnimationPlayerEvent> create(const AtomicString& type, const AnimationPlayerEventInit& initializer) 31 { 32 return adoptRefWillBeNoop(new AnimationPlayerEvent(type, initializer)); 33 } 34 35 virtual ~AnimationPlayerEvent(); 36 37 double currentTime() const; 38 double timelineTime() const; 39 40 virtual const AtomicString& interfaceName() const OVERRIDE; 41 42 virtual void trace(Visitor*) OVERRIDE; 43 44 private: 45 AnimationPlayerEvent(); 46 AnimationPlayerEvent(const AtomicString& type, double currentTime, double timelineTime); 47 AnimationPlayerEvent(const AtomicString&, const AnimationPlayerEventInit&); 48 49 double m_currentTime; 50 double m_timelineTime; 51 }; 52 53 } // namespace blink 54 55 #endif // AnimationPlayerEvent_h 56