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 DeviceLightController_h 6 #define DeviceLightController_h 7 8 #include "core/dom/DocumentSupplementable.h" 9 #include "core/frame/DeviceSingleWindowEventController.h" 10 11 namespace WebCore { 12 13 class LocalDOMWindow; 14 class Event; 15 16 class DeviceLightController FINAL : public NoBaseWillBeGarbageCollectedFinalized<DeviceLightController>, public DeviceSingleWindowEventController, public DocumentSupplement { 17 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DeviceLightController); 18 public: 19 virtual ~DeviceLightController(); 20 21 static const char* supplementName(); 22 static DeviceLightController& from(Document&); 23 24 private: 25 explicit DeviceLightController(Document&); 26 27 // Inherited from DeviceEventControllerBase. 28 virtual void registerWithDispatcher() OVERRIDE; 29 virtual void unregisterWithDispatcher() OVERRIDE; 30 virtual bool hasLastData() OVERRIDE; 31 32 // Inherited from DeviceSingleWindowEventController. 33 virtual PassRefPtrWillBeRawPtr<Event> lastEvent() const OVERRIDE; 34 virtual const AtomicString& eventTypeName() const OVERRIDE; 35 virtual bool isNullEvent(Event*) const OVERRIDE; 36 }; 37 38 } // namespace WebCore 39 40 #endif // DeviceLightController_h 41