diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/frame/DeviceEventDispatcherBase.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/frame/DeviceEventDispatcherBase.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/frame/DeviceEventDispatcherBase.h b/chromium/third_party/WebKit/Source/core/frame/DeviceEventDispatcherBase.h new file mode 100644 index 00000000000..94b226698a9 --- /dev/null +++ b/chromium/third_party/WebKit/Source/core/frame/DeviceEventDispatcherBase.h @@ -0,0 +1,37 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef DeviceEventDispatcherBase_h +#define DeviceEventDispatcherBase_h + +#include "wtf/Vector.h" + +namespace WebCore { +class DeviceEventControllerBase; + +class DeviceEventDispatcherBase { +public: + void addController(DeviceEventControllerBase*); + void removeController(DeviceEventControllerBase*); + +protected: + DeviceEventDispatcherBase(); + virtual ~DeviceEventDispatcherBase(); + + void notifyControllers(); + + virtual void startListening() = 0; + virtual void stopListening() = 0; + +private: + void purgeControllers(); + + Vector<DeviceEventControllerBase*> m_controllers; + bool m_needsPurge; + bool m_isDispatching; +}; + +} // namespace WebCore + +#endif // DeviceEventDispatcherBase_h |