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 blink { 12 13 class DeviceMotionData; 14 class Event; 15 16 class DeviceMotionController FINAL : 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 virtual void trace(Visitor*) OVERRIDE; 25 26 private: 27 explicit DeviceMotionController(Document&); 28 29 // Inherited from DeviceEventControllerBase. 30 virtual void registerWithDispatcher() OVERRIDE; 31 virtual void unregisterWithDispatcher() OVERRIDE; 32 virtual bool hasLastData() OVERRIDE; 33 34 // Inherited from DeviceSingleWindowEventController. 35 virtual PassRefPtrWillBeRawPtr<Event> lastEvent() const OVERRIDE; 36 virtual const AtomicString& eventTypeName() const OVERRIDE; 37 virtual bool isNullEvent(Event*) const OVERRIDE; 38 }; 39 40 } // namespace blink 41 42 #endif // DeviceMotionController_h 43