Index: Source/modules/screen_orientation/ScreenOrientationDispatcher.h |
diff --git a/Source/modules/screen_orientation/ScreenOrientationDispatcher.h b/Source/modules/screen_orientation/ScreenOrientationDispatcher.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5fef6c68c55f849bacdcc509a9a4c923e0f67f8c |
--- /dev/null |
+++ b/Source/modules/screen_orientation/ScreenOrientationDispatcher.h |
@@ -0,0 +1,39 @@ |
+// 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 ScreenOrientationDispatcher_h |
+#define ScreenOrientationDispatcher_h |
+ |
+#include "core/frame/PlatformEventDispatcher.h" |
+ |
+namespace blink { |
+ |
+class FrameView; |
+class ScreenOrientation; |
+ |
+// ScreenOrientationDispatcher is a singleton that handles whether the current |
+// Blink instance should be listening to the screen orientation platform events. |
+// It is not a common implementation of PlatformEventDispatcher in the sense |
+// that it doesn't actually dispatch events but simply start/stop listening. The |
+// reason being that screen orientation events are always sent to the WebFrame's |
+// but some platforms require to poll to have an accurate reporting. When |
+// ScreenOrientationDispatcher is listening, that means that the platform should |
+// be polling if required. |
+class ScreenOrientationDispatcher FINAL : |
+ public PlatformEventDispatcher { |
+public: |
+ static ScreenOrientationDispatcher& instance(); |
+ |
+private: |
+ ScreenOrientationDispatcher(); |
+ virtual ~ScreenOrientationDispatcher(); |
+ |
+ // Inherited from PlatformEventDispatcher. |
+ virtual void startListening() OVERRIDE; |
+ virtual void stopListening() OVERRIDE; |
+}; |
+ |
+} // namespace blink |
+ |
+#endif // ScreenOrientationDispatcher_h |