| Index: third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp
|
| diff --git a/third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp b/third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp
|
| index c75a84ac27206dc48d09df8865569ed896754b07..e0965a8dfc06bb45cba9722f27abbfc6564632ba 100644
|
| --- a/third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp
|
| +++ b/third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp
|
| @@ -24,6 +24,10 @@
|
| */
|
|
|
| #include "modules/device_orientation/DeviceMotionData.h"
|
| +
|
| +#include "modules/device_orientation/DeviceAccelerationInit.h"
|
| +#include "modules/device_orientation/DeviceMotionEventInit.h"
|
| +#include "modules/device_orientation/DeviceRotationRateInit.h"
|
| #include "public/platform/modules/device_orientation/WebDeviceMotionData.h"
|
|
|
| namespace blink {
|
| @@ -39,6 +43,13 @@ DeviceMotionData::Acceleration* DeviceMotionData::Acceleration::create(
|
| canProvideZ, z);
|
| }
|
|
|
| +DeviceMotionData::Acceleration* DeviceMotionData::Acceleration::create(
|
| + const DeviceAccelerationInit& init) {
|
| + return new DeviceMotionData::Acceleration(
|
| + init.hasX(), init.hasX() ? init.x() : 0, init.hasY(),
|
| + init.hasY() ? init.y() : 0, init.hasZ(), init.hasZ() ? init.z() : 0);
|
| +}
|
| +
|
| DeviceMotionData::Acceleration::Acceleration(bool canProvideX,
|
| double x,
|
| bool canProvideY,
|
| @@ -65,6 +76,14 @@ DeviceMotionData::RotationRate* DeviceMotionData::RotationRate::create(
|
| canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma);
|
| }
|
|
|
| +DeviceMotionData::RotationRate* DeviceMotionData::RotationRate::create(
|
| + const DeviceRotationRateInit& init) {
|
| + return new DeviceMotionData::RotationRate(
|
| + init.hasAlpha(), init.hasAlpha() ? init.alpha() : 0, init.hasBeta(),
|
| + init.hasBeta() ? init.beta() : 0, init.hasGamma(),
|
| + init.hasGamma() ? init.gamma() : 0);
|
| +}
|
| +
|
| DeviceMotionData::RotationRate::RotationRate(bool canProvideAlpha,
|
| double alpha,
|
| bool canProvideBeta,
|
| @@ -92,6 +111,21 @@ DeviceMotionData* DeviceMotionData::create(
|
| rotationRate, canProvideInterval, interval);
|
| }
|
|
|
| +DeviceMotionData* DeviceMotionData::create(const DeviceMotionEventInit& init) {
|
| + return DeviceMotionData::create(
|
| + init.hasAcceleration()
|
| + ? DeviceMotionData::Acceleration::create(init.acceleration())
|
| + : nullptr,
|
| + init.hasAccelerationIncludingGravity()
|
| + ? DeviceMotionData::Acceleration::create(
|
| + init.accelerationIncludingGravity())
|
| + : nullptr,
|
| + init.hasRotationRate()
|
| + ? DeviceMotionData::RotationRate::create(init.rotationRate())
|
| + : nullptr,
|
| + init.hasInterval(), init.hasInterval() ? init.interval() : 0);
|
| +}
|
| +
|
| DeviceMotionData* DeviceMotionData::create(const WebDeviceMotionData& data) {
|
| return DeviceMotionData::create(
|
| DeviceMotionData::Acceleration::create(
|
|
|