Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / device_light / DeviceLightEvent.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 DeviceLightEvent_h
6 #define DeviceLightEvent_h
7
8 #include "modules/EventModules.h"
9 #include "platform/heap/Handle.h"
10
11 namespace blink {
12
13 struct DeviceLightEventInit : public EventInit {
14     DeviceLightEventInit()
15         : value(std::numeric_limits<double>::infinity())
16     {
17         bubbles = true;
18     };
19
20     double value;
21 };
22
23 class DeviceLightEvent final : public Event {
24     DEFINE_WRAPPERTYPEINFO();
25 public:
26     virtual ~DeviceLightEvent();
27
28     static PassRefPtrWillBeRawPtr<DeviceLightEvent> create()
29     {
30         return adoptRefWillBeNoop(new DeviceLightEvent);
31     }
32     static PassRefPtrWillBeRawPtr<DeviceLightEvent> create(const AtomicString& eventType, double value)
33     {
34         return adoptRefWillBeNoop(new DeviceLightEvent(eventType, value));
35     }
36     static PassRefPtrWillBeRawPtr<DeviceLightEvent> create(const AtomicString& eventType, const DeviceLightEventInit& initializer)
37     {
38         return adoptRefWillBeNoop(new DeviceLightEvent(eventType, initializer));
39     }
40
41     double value() const { return m_value; }
42
43     virtual const AtomicString& interfaceName() const override;
44
45 private:
46     DeviceLightEvent();
47     DeviceLightEvent(const AtomicString& eventType, double value);
48     DeviceLightEvent(const AtomicString& eventType, const DeviceLightEventInit& initializer);
49
50     double m_value;
51 };
52
53 DEFINE_TYPE_CASTS(DeviceLightEvent, Event, event, event->interfaceName() == EventNames::DeviceLightEvent, event.interfaceName() == EventNames::DeviceLightEvent);
54
55 } // namespace blink
56
57 #endif // DeviceLightEvent_h