Index: Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp b/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
index 9d38dd97c34aee109d39364179ac275f622011ab..282a4886d9c8e0b94433ac02d358ec36fbde2978 100644 |
--- a/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
+++ b/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
@@ -33,6 +33,7 @@ |
#include "config.h" |
#include "TestRunner.h" |
+#include "MockWebDeviceMotionProvider.h" |
#include "MockWebSpeechInputController.h" |
#include "MockWebSpeechRecognizer.h" |
#include "NotificationPresenter.h" |
@@ -62,6 +63,7 @@ |
#include <limits> |
#include <memory> |
#include <public/WebData.h> |
+#include <public/WebDeviceMotionData.h> |
#include <public/WebPoint.h> |
#include <public/WebURLResponse.h> |
@@ -207,6 +209,8 @@ TestRunner::TestRunner(TestInterfaces* interfaces) |
bindMethod("disableAutoResizeMode", &TestRunner::disableAutoResizeMode); |
bindMethod("enableAutoResizeMode", &TestRunner::enableAutoResizeMode); |
bindMethod("setMockDeviceOrientation", &TestRunner::setMockDeviceOrientation); |
+ bindMethod("fireMockDeviceMotion", &TestRunner::fireMockDeviceMotion); |
+ bindMethod("setMockDeviceMotion", &TestRunner::setMockDeviceMotion); |
bindMethod("didAcquirePointerLock", &TestRunner::didAcquirePointerLock); |
bindMethod("didLosePointerLock", &TestRunner::didLosePointerLock); |
bindMethod("didNotAcquirePointerLock", &TestRunner::didNotAcquirePointerLock); |
@@ -1510,6 +1514,59 @@ void TestRunner::setMockDeviceOrientation(const CppArgumentList& arguments, CppV |
m_proxy->deviceOrientationClientMock()->setOrientation(orientation); |
} |
+void TestRunner::setMockDeviceMotion(const CppArgumentList& arguments, CppVariant* result) |
+{ |
+ m_delegate->setDeviceMotionProvider(m_proxy->deviceMotionProviderMock()); |
+} |
+ |
+void TestRunner::fireMockDeviceMotion(const CppArgumentList& arguments, CppVariant* result) |
+{ |
+ result->setNull(); |
+ if (arguments.size() < 19 |
+ || !arguments[0].isBool() || !arguments[1].isNumber() // acceleration.x |
+ || !arguments[2].isBool() || !arguments[3].isNumber() // acceleration.y |
+ || !arguments[4].isBool() || !arguments[5].isNumber() // acceleration.z |
+ || !arguments[6].isBool() || !arguments[7].isNumber() // accelerationIncludingGravity.x |
+ || !arguments[8].isBool() || !arguments[9].isNumber() // accelerationIncludingGravity.y |
+ || !arguments[10].isBool() || !arguments[11].isNumber() // accelerationIncludingGravity.z |
+ || !arguments[12].isBool() || !arguments[13].isNumber() // rotationRate.alpha |
+ || !arguments[14].isBool() || !arguments[15].isNumber() // rotationRate.beta |
+ || !arguments[16].isBool() || !arguments[17].isNumber() // rotationRate.gamma |
+ || !arguments[18].isNumber()) // interval |
+ return; |
+ |
+ WebDeviceMotionData motion; |
+ |
+ // acceleration |
+ motion.hasAccelerationX = arguments[0].toBoolean(); |
+ motion.accelerationX = arguments[1].toDouble(); |
+ motion.hasAccelerationY = arguments[2].toBoolean(); |
+ motion.accelerationY = arguments[3].toDouble(); |
+ motion.hasAccelerationZ = arguments[4].toBoolean(); |
+ motion.accelerationZ = arguments[5].toDouble(); |
+ |
+ // accelerationIncludingGravity |
+ motion.hasAccelerationIncludingGravityX = arguments[6].toBoolean(); |
+ motion.accelerationIncludingGravityX = arguments[7].toDouble(); |
+ motion.hasAccelerationIncludingGravityY = arguments[8].toBoolean(); |
+ motion.accelerationIncludingGravityY = arguments[9].toDouble(); |
+ motion.hasAccelerationIncludingGravityZ = arguments[10].toBoolean(); |
+ motion.accelerationIncludingGravityZ = arguments[11].toDouble(); |
+ |
+ // rotationRate |
+ motion.hasRotationRateAlpha = arguments[12].toBoolean(); |
+ motion.rotationRateAlpha = arguments[13].toDouble(); |
+ motion.hasRotationRateBeta = arguments[14].toBoolean(); |
+ motion.rotationRateBeta = arguments[15].toDouble(); |
+ motion.hasRotationRateGamma = arguments[16].toBoolean(); |
+ motion.rotationRateGamma = arguments[17].toDouble(); |
+ |
+ // interval |
+ motion.interval = arguments[18].toDouble(); |
+ |
+ m_proxy->deviceMotionProviderMock()->fireEvent(motion); |
+} |
+ |
void TestRunner::setUserStyleSheetEnabled(const CppArgumentList& arguments, CppVariant* result) |
{ |
if (arguments.size() > 0 && arguments[0].isBool()) { |