Chromium Code Reviews| Index: Source/Platform/chromium/public/WebDeviceMotionData.h |
| diff --git a/Source/Platform/chromium/public/WebDeviceMotionData.h b/Source/Platform/chromium/public/WebDeviceMotionData.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4aca3ae2e663d60a59adf1d8232cd0c4f8d3cf79 |
| --- /dev/null |
| +++ b/Source/Platform/chromium/public/WebDeviceMotionData.h |
| @@ -0,0 +1,128 @@ |
| +/* |
| + * 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: |
| + * |
| + * * Redistributions of source code must retain the above copyright |
| + * notice, this list of conditions and the following disclaimer. |
| + * * 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. |
| + * * Neither the name of Google Inc. nor the names of its |
| + * contributors may be used to endorse or promote products derived from |
| + * this software without specific prior written permission. |
| + * |
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT |
| + * OWNER OR 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. |
| + */ |
| + |
| +#ifndef WebDeviceMotionData_h |
| +#define WebDeviceMotionData_h |
| + |
| +#if WEBKIT_IMPLEMENTATION |
| +namespace WTF { template <typename T> class PassRefPtr; } |
| +namespace WebCore { class DeviceMotionData; } |
| +#endif |
| + |
| +namespace WebKit { |
| + |
| +#pragma pack(push, 1) |
| + |
| +class WebDeviceMotionData { |
| +public: |
| + WebDeviceMotionData(); |
| + ~WebDeviceMotionData() { } |
| + |
| + void setAccelerationX(double); |
|
darin (slow to review)
2013/05/14 18:13:37
these methods need to be exported using the WEBKIT
timvolodine
2013/05/15 12:34:34
The presubmit check complains on this:
WEBKIT_EXPO
|
| + void setAccelerationY(double); |
| + void setAccelerationZ(double); |
| + |
| + void setAccelerationIncludingGravityX(double); |
| + void setAccelerationIncludingGravityY(double); |
| + void setAccelerationIncludingGravityZ(double); |
| + |
| + void setRotationRateAlpha(double); |
| + void setRotationRateBeta(double); |
| + void setRotationRateGamma(double); |
| + |
| + void setInterval(double); |
| + |
| + double accelerationX() const { return m_accelerationX; } |
| + double accelerationY() const { return m_accelerationY; } |
| + double accelerationZ() const { return m_accelerationZ; } |
| + |
| + double accelerationIncludingGravityX() const { return m_accelerationIncludingGravityX; } |
| + double accelerationIncludingGravityY() const { return m_accelerationIncludingGravityY; } |
| + double accelerationIncludingGravityZ() const { return m_accelerationIncludingGravityZ; } |
| + |
| + double rotationRateAlpha() const { return m_rotationRateAlpha; } |
| + double rotationRateBeta() const { return m_rotationRateBeta; } |
| + double rotationRateGamma() const { return m_rotationRateGamma; } |
| + |
| + double interval() const { return m_interval; } |
| + |
| + double hasAccelerationX() const { return m_hasAccelerationX; } |
| + double hasAccelerationY() const { return m_hasAccelerationY; } |
| + double hasAccelerationZ() const { return m_hasAccelerationZ; } |
| + |
| + double hasAccelerationIncludingGravityX() const { return m_hasAccelerationIncludingGravityX; } |
| + double hasAccelerationIncludingGravityY() const { return m_hasAccelerationIncludingGravityY; } |
| + double hasAccelerationIncludingGravityZ() const { return m_hasAccelerationIncludingGravityZ; } |
| + |
| + double hasRotationRateAlpha() const { return m_hasRotationRateAlpha; } |
| + double hasRotationRateBeta() const { return m_hasRotationRateBeta; } |
| + double hasRotationRateGamma() const { return m_hasRotationRateGamma; } |
| + |
| +#if WEBKIT_IMPLEMENTATION |
| + operator WTF::PassRefPtr<WebCore::DeviceMotionData>() const; |
| +#endif |
| + |
| +private: |
| + double m_accelerationX; |
|
darin (slow to review)
2013/05/14 18:13:37
why isn't WebDeviceMotionData just a simple ref-co
timvolodine
2013/05/15 12:34:34
hmm, looks like a nice construction indeed, howeve
|
| + double m_accelerationY; |
| + double m_accelerationZ; |
| + |
| + double m_accelerationIncludingGravityX; |
| + double m_accelerationIncludingGravityY; |
| + double m_accelerationIncludingGravityZ; |
| + |
| + double m_rotationRateAlpha; |
| + double m_rotationRateBeta; |
| + double m_rotationRateGamma; |
| + |
| + double m_interval; |
| + |
| + bool m_hasAccelerationX : 1; |
| + bool m_hasAccelerationY : 1; |
| + bool m_hasAccelerationZ : 1; |
| + |
| + bool m_hasAccelerationIncludingGravityX : 1; |
| + bool m_hasAccelerationIncludingGravityY : 1; |
| + bool m_hasAccelerationIncludingGravityZ : 1; |
| + |
| + bool m_hasRotationRateAlpha : 1; |
| + bool m_hasRotationRateBeta : 1; |
| + bool m_hasRotationRateGamma : 1; |
| +}; |
| + |
| +#if WEBKIT_IMPLEMENTATION |
| +COMPILE_ASSERT(sizeof(WebDeviceMotionData) == (10 * sizeof(double) + 2 * sizeof(char)), WebDeviceMotionData_has_wrong_size); |
| +#endif |
| + |
| +#pragma pack(pop) |
| + |
| +} // namespace WebKit |
| + |
| +#endif // WebDeviceMotionData_h |