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 DeviceMotionController_h 6 #define DeviceMotionController_h 7 8 #include "core/dom/DocumentSupplementable.h" 9 #include "core/frame/DeviceSingleWindowEventController.h" 10 11 namespace WebCore { 12 13 class DeviceMotionData; 14 class Event; 15 16 class DeviceMotionController FINAL : public NoBaseWillBeGarbageCollectedFinalized<DeviceMotionController>, public DeviceSingleWindowEventController, public DocumentSupplement { 17 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DeviceMotionController); 18 public: 19 virtual ~DeviceMotionController(); 20 21 static const char* supplementName(); 22 static DeviceMotionController& from(Document&); 23 24 private: 25 explicit DeviceMotionController(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 // DeviceMotionController_h 41