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..0f5c7ce165bd5318a682082b6eb9fa961afd60f9 |
| --- /dev/null |
| +++ b/Source/core/platform/chromium/support/WebDeviceMotionData.cpp |
| @@ -0,0 +1,124 @@ |
| +/* |
| + * Copyright (C) 2013 Google Inc. All rights reserved. |
|
Peter Beverloo
2013/05/08 13:15:01
This is the wrong copyright header.
timvolodine
2013/05/09 10:08:28
Done.
|
| + * |
| + * 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> |
|
Peter Beverloo
2013/05/08 13:15:01
nit: I'd put an empty line before line 28, which i
timvolodine
2013/05/09 10:08:28
Done.
|
| +#include <wtf/PassRefPtr.h> |
| + |
| +namespace WebKit { |
| + |
| +WebDeviceMotionData::WebDeviceMotionData() |
| + : m_interval(0) |
| + , m_hasAccelerationX(false) |
| + , m_hasAccelerationY(false) |
| + , m_hasAccelerationZ(false) |
| + , m_hasAccelerationIncludingGravityX(false) |
| + , m_hasAccelerationIncludingGravityY(false) |
| + , m_hasAccelerationIncludingGravityZ(false) |
| + , m_hasRotationRateAlpha(false) |
| + , m_hasRotationRateBeta(false) |
| + , m_hasRotationRateGamma(false) |
| +{ |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationX(double acceleration) |
| +{ |
| + m_hasAccelerationX = true; |
| + m_accelerationX = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationY(double acceleration) |
| +{ |
| + m_hasAccelerationY = true; |
| + m_accelerationY = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationZ(double acceleration) |
| +{ |
| + m_hasAccelerationZ = true; |
| + m_accelerationZ = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityX(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityX = true; |
| + m_accelerationIncludingGravityX = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityY(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityY = true; |
| + m_accelerationIncludingGravityY = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setAccelerationIncludingGravityZ(double acceleration) |
| +{ |
| + m_hasAccelerationIncludingGravityZ = true; |
| + m_accelerationIncludingGravityZ = acceleration; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateAlpha(double rate) |
| +{ |
| + m_hasRotationRateAlpha = true; |
| + m_rotationRateAlpha = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateBeta(double rate) |
| +{ |
| + m_hasRotationRateBeta = true; |
| + m_rotationRateBeta = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setRotationRateGamma(double rate) |
| +{ |
| + m_hasRotationRateGamma = true; |
| + m_rotationRateGamma = rate; |
| +} |
| + |
| +void WebDeviceMotionData::setInterval(double interval) |
| +{ |
| + m_interval = interval; |
| +} |
| + |
| +WebDeviceMotionData::operator PassRefPtr<WebCore::DeviceMotionData>() const |
| +{ |
| + return WebCore::DeviceMotionData::create( |
| + WebCore::DeviceMotionData::Acceleration::create( |
| + hasAccelerationX(), accelerationX(), |
| + hasAccelerationY(), accelerationY(), |
| + hasAccelerationZ(), accelerationZ()), |
| + WebCore::DeviceMotionData::Acceleration::create( |
| + hasAccelerationIncludingGravityX(), accelerationIncludingGravityX(), |
| + hasAccelerationIncludingGravityY(), accelerationIncludingGravityY(), |
| + hasAccelerationIncludingGravityZ(), accelerationIncludingGravityZ()), |
| + WebCore::DeviceMotionData::RotationRate::create( |
| + hasRotationRateAlpha(), rotationRateAlpha(), |
| + hasRotationRateBeta(), rotationRateBeta(), |
| + hasRotationRateGamma(), rotationRateGamma()), |
| + true, interval()); |
| +} |
| + |
| +} // namespace WebKit |