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.
5 #ifndef DeviceLightEvent_h
6 #define DeviceLightEvent_h
8 #include "modules/EventModules.h"
9 #include "platform/heap/Handle.h"
13 struct DeviceLightEventInit : public EventInit {
14 DeviceLightEventInit()
15 : value(std::numeric_limits<double>::infinity())
23 class DeviceLightEvent FINAL : public Event {
25 virtual ~DeviceLightEvent();
27 static PassRefPtrWillBeRawPtr<DeviceLightEvent> create()
29 return adoptRefWillBeNoop(new DeviceLightEvent);
31 static PassRefPtrWillBeRawPtr<DeviceLightEvent> create(const AtomicString& eventType, double value)
33 return adoptRefWillBeNoop(new DeviceLightEvent(eventType, value));
35 static PassRefPtrWillBeRawPtr<DeviceLightEvent> create(const AtomicString& eventType, const DeviceLightEventInit& initializer)
37 return adoptRefWillBeNoop(new DeviceLightEvent(eventType, initializer));
40 double value() const { return m_value; }
42 virtual const AtomicString& interfaceName() const OVERRIDE;
46 DeviceLightEvent(const AtomicString& eventType, double value);
47 DeviceLightEvent(const AtomicString& eventType, const DeviceLightEventInit& initializer);
52 DEFINE_TYPE_CASTS(DeviceLightEvent, Event, event, event->interfaceName() == EventNames::DeviceLightEvent, event.interfaceName() == EventNames::DeviceLightEvent);
54 } // namespace WebCore
56 #endif // DeviceLightEvent_h