Index: Source/modules/device_orientation/DeviceMotionData.cpp |
diff --git a/Source/modules/device_orientation/DeviceMotionData.cpp b/Source/modules/device_orientation/DeviceMotionData.cpp |
index 29982a61442d839e3a39bdb72a401b1d5c61dcfb..f28db3e0396fa5abb61af7a167408a77f4a240e5 100644 |
--- a/Source/modules/device_orientation/DeviceMotionData.cpp |
+++ b/Source/modules/device_orientation/DeviceMotionData.cpp |
@@ -25,6 +25,7 @@ |
#include "config.h" |
#include "modules/device_orientation/DeviceMotionData.h" |
+#include <public/WebDeviceMotionData.h> |
namespace WebCore { |
@@ -74,6 +75,24 @@ PassRefPtr<DeviceMotionData> DeviceMotionData::create(PassRefPtr<Acceleration> a |
return adoptRef(new DeviceMotionData(acceleration, accelerationIncludingGravity, rotationRate, canProvideInterval, interval)); |
} |
+PassRefPtr<DeviceMotionData> DeviceMotionData::create(const WebKit::WebDeviceMotionData& data) |
+{ |
+ return DeviceMotionData::create( |
+ DeviceMotionData::Acceleration::create( |
+ data.hasAccelerationX, data.accelerationX, |
+ data.hasAccelerationY, data.accelerationY, |
+ data.hasAccelerationZ, data.accelerationZ), |
+ DeviceMotionData::Acceleration::create( |
+ data.hasAccelerationIncludingGravityX, data.accelerationIncludingGravityX, |
+ data.hasAccelerationIncludingGravityY, data.accelerationIncludingGravityY, |
+ data.hasAccelerationIncludingGravityZ, data.accelerationIncludingGravityZ), |
+ DeviceMotionData::RotationRate::create( |
+ data.hasRotationRateAlpha, data.rotationRateAlpha, |
+ data.hasRotationRateBeta, data.rotationRateBeta, |
+ data.hasRotationRateGamma, data.rotationRateGamma), |
+ true, data.interval); |
+} |
+ |
DeviceMotionData::DeviceMotionData() |
: m_canProvideInterval(false) |
, m_interval(0) |