Index: Source/modules/screen_orientation/testing/ScreenOrientationClientMock.h |
diff --git a/Source/modules/screen_orientation/testing/ScreenOrientationClientMock.h b/Source/modules/screen_orientation/testing/ScreenOrientationClientMock.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6ba3be22d633ff47e0ec6c508431abd5fdd3b0b0 |
--- /dev/null |
+++ b/Source/modules/screen_orientation/testing/ScreenOrientationClientMock.h |
@@ -0,0 +1,41 @@ |
+// 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 ScreenOrientationClientMock_h |
+#define ScreenOrientationClientMock_h |
+ |
+#include "modules/screen_orientation/ScreenOrientationClient.h" |
+#include "platform/Timer.h" |
+ |
+namespace WebCore { |
+ |
+class ScreenOrientationController; |
+ |
+// Provides a mock object for the screen orientation client. |
+class ScreenOrientationClientMock FINAL : public ScreenOrientationClient { |
+public: |
+ ScreenOrientationClientMock(); |
+ virtual ~ScreenOrientationClientMock(); |
+ |
+ void setController(ScreenOrientationController*); |
+ void setScreenOrientation(ScreenOrientationValue); |
+ |
+ // ScreenOrientationClient API. |
+ virtual void lockOrientation(ScreenOrientationValues) OVERRIDE; |
+ virtual void unlockOrientation() OVERRIDE; |
+ |
+private: |
+ void asyncUpdateController(); |
+ void controllerTimerFired(Timer<ScreenOrientationClientMock>*); |
+ void maybeUpdateOrientationAfterLocking(); |
+ |
+ Timer<ScreenOrientationClientMock> m_controllerTimer; |
+ ScreenOrientationController* m_controller; |
+ ScreenOrientationValue m_orientation; |
+ ScreenOrientationValues m_lockedOrientations; |
+}; |
+ |
+} // namespace WebCore |
+ |
+#endif // ScreenOrientationClientMock_h |