Update To 11.40.268.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 blink {
12
13 class Event;
14
15 class DeviceMotionController final : public DeviceSingleWindowEventController, public DocumentSupplement {
16     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DeviceMotionController);
17 public:
18     virtual ~DeviceMotionController();
19
20     static const char* supplementName();
21     static DeviceMotionController& from(Document&);
22
23     virtual void trace(Visitor*) override;
24
25 private:
26     explicit DeviceMotionController(Document&);
27
28     // Inherited from DeviceEventControllerBase.
29     virtual void registerWithDispatcher() override;
30     virtual void unregisterWithDispatcher() override;
31     virtual bool hasLastData() override;
32
33     // Inherited from DeviceSingleWindowEventController.
34     virtual PassRefPtrWillBeRawPtr<Event> lastEvent() const override;
35     virtual const AtomicString& eventTypeName() const override;
36     virtual bool isNullEvent(Event*) const override;
37 };
38
39 } // namespace blink
40
41 #endif // DeviceMotionController_h