Chromium Code Reviews| 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 1d3587c26e154427906eed330dc7056227ef1c92..6b760084aba7ac58b19a3522dc397e5be562ec61 100644 |
| --- a/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
| +++ b/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp |
| @@ -61,7 +61,9 @@ |
| #include "v8/include/v8.h" |
| #include <limits> |
| #include <memory> |
| +#include <modules/device_orientation/DeviceMotionDispatcher.h> |
|
abarth-chromium
2013/05/13 18:39:56
This is a bad dependency. TestRunner cannot reach
timvolodine
2013/05/14 18:07:46
Done.
|
| #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("enableMockDeviceMotion", &TestRunner::enableMockDeviceMotion); |
| bindMethod("didAcquirePointerLock", &TestRunner::didAcquirePointerLock); |
| bindMethod("didLosePointerLock", &TestRunner::didLosePointerLock); |
| bindMethod("didNotAcquirePointerLock", &TestRunner::didNotAcquirePointerLock); |
| @@ -1502,6 +1506,59 @@ void TestRunner::setMockDeviceOrientation(const CppArgumentList& arguments, CppV |
| m_proxy->deviceOrientationClientMock()->setOrientation(orientation); |
| } |
| +void TestRunner::enableMockDeviceMotion(const CppArgumentList& arguments, CppVariant* result) |
| +{ |
| + WebCore::DeviceMotionDispatcher::shared().setEnableTesting(true); |
| +} |
| + |
| +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 |
| + if (arguments[0].toBoolean()) |
| + motion.setAccelerationX(arguments[1].toDouble()); |
| + if (arguments[2].toBoolean()) |
| + motion.setAccelerationY(arguments[3].toDouble()); |
| + if (arguments[4].toBoolean()) |
| + motion.setAccelerationZ(arguments[5].toDouble()); |
| + |
| + // accelerationIncludingGravity |
| + if (arguments[6].toBoolean()) |
| + motion.setAccelerationIncludingGravityX(arguments[7].toDouble()); |
| + if (arguments[8].toBoolean()) |
| + motion.setAccelerationIncludingGravityY(arguments[9].toDouble()); |
| + if (arguments[10].toBoolean()) |
| + motion.setAccelerationIncludingGravityZ(arguments[11].toDouble()); |
| + |
| + // rotationRate |
| + if (arguments[12].toBoolean()) |
| + motion.setRotationRateAlpha(arguments[13].toDouble()); |
| + if (arguments[14].toBoolean()) |
| + motion.setRotationRateBeta(arguments[15].toDouble()); |
| + if (arguments[16].toBoolean()) |
| + motion.setRotationRateGamma(arguments[17].toDouble()); |
| + |
| + // interval |
| + motion.setInterval(arguments[18].toDouble()); |
| + |
| + WebCore::DeviceMotionDispatcher::shared().didChangeDeviceMotion(motion); |
| +} |
| + |
| void TestRunner::setUserStyleSheetEnabled(const CppArgumentList& arguments, CppVariant* result) |
| { |
| if (arguments.size() > 0 && arguments[0].isBool()) { |