• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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