Chromium Code Reviews| Index: Source/core/platform/chromium/support/WebDeviceMotionData.cpp |
| diff --git a/Source/core/platform/chromium/support/WebDeviceMotionData.cpp b/Source/core/platform/chromium/support/WebDeviceMotionData.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5599050764890ee5ba35aff092eada62af72ce02 |
| --- /dev/null |
| +++ b/Source/core/platform/chromium/support/WebDeviceMotionData.cpp |
| @@ -0,0 +1,126 @@ |
| +/* |
| + * Copyright (C) 2013 Google Inc. All rights reserved. |
| + * |
| + * Redistribution and use in source and binary forms, with or without |
| + * modification, are permitted provided that the following conditions |
| + * are met: |
| + * |
| + * 1. Redistributions of source code must retain the above copyright |
| + * notice, this list of conditions and the following disclaimer. |
| + * 2. Redistributions in binary form must reproduce the above copyright |
| + * notice, this list of conditions and the following disclaimer in the |
| + * documentation and/or other materials provided with the distribution. |
| + * |
| + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
| + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
| + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| + */ |
| + |
| +#include "config.h" |
| +#include <public/WebDeviceMotionData.h> |
| + |
| +#include "modules/device_orientation/DeviceMotionData.h" |
|
jamesr
2013/04/29 17:44:48
you're making core/platform/ depend on the module?
timvolodine
2013/04/30 12:40:18
it was originally needed to perform conversion fro
|
| + |
| +namespace WebKit { |
| + |
| +using WebCore::DeviceMotionData; |
| + |
| +WebDeviceMotionData::WebDeviceMotionData() : |
| + m_hasAccelerationX(0), |
| + m_hasAccelerationY(0), |
| + m_hasAccelerationZ(0), |
| + m_hasAccelerationIncludingGravityX(0), |
| + m_hasAccelerationIncludingGravityY(0), |
| + m_hasAccelerationIncludingGravityZ(0), |
| + m_hasRotationRateAlpha(0), |
| + m_hasRotationRateBeta(0), |
| + m_hasRotationRateGamma(0), |
| + m_interval(0) |
| +{ |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationX(double acceleration) |
| +{ |
| + m_hasAccelerationX = 1; |
| + m_accelerationX = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationY(double acceleration) |
| +{ |
| + m_hasAccelerationY = 1; |
| + m_accelerationY = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationZ(double acceleration) |
| +{ |
| + m_hasAccelerationZ = 1; |
| + m_accelerationZ = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityX(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityX = 1; |
| + m_accelerationIncludingGravityX = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityY(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityY = 1; |
| + m_accelerationIncludingGravityY = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityZ(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityZ = 1; |
| + m_accelerationIncludingGravityZ = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateAlpha(double rate) |
| +{ |
| + m_hasRotationRateAlpha = 1; |
| + m_rotationRateAlpha = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateBeta(double rate) |
| +{ |
| + m_hasRotationRateBeta = 1; |
| + m_rotationRateBeta = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateGamma(double rate) |
| +{ |
| + m_hasRotationRateGamma = 1; |
| + m_rotationRateGamma = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setInterval(double interval) |
| +{ |
| + m_interval = interval; |
| +} |
| + |
| +WebDeviceMotionData::operator PassRefPtr<WebCore::DeviceMotionData>() const |
| +{ |
| + return DeviceMotionData::create( |
| + DeviceMotionData::Acceleration::create( |
| + m_hasAccelerationX, m_accelerationX, |
| + m_hasAccelerationY, m_accelerationY, |
| + m_hasAccelerationZ, m_accelerationZ), |
| + DeviceMotionData::Acceleration::create( |
| + m_hasAccelerationIncludingGravityX, m_accelerationIncludingGravityX, |
| + m_hasAccelerationIncludingGravityY, m_accelerationIncludingGravityY, |
| + m_hasAccelerationIncludingGravityZ, m_accelerationIncludingGravityZ), |
| + DeviceMotionData::RotationRate::create( |
| + m_hasRotationRateAlpha, m_rotationRateAlpha, |
| + m_hasRotationRateBeta, m_rotationRateBeta, |
| + m_hasRotationRateGamma, m_rotationRateGamma), |
| + true, m_interval); |
| +} |
| + |
| +} // namespace WebKit |