Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / events / AnimationPlayerEvent.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 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