Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / device_orientation / DeviceMotionController.h
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