Chromium Code Reviews| Index: Source/modules/device_orientation/DeviceMotionController.cpp |
| diff --git a/Source/modules/device_orientation/DeviceMotionController.cpp b/Source/modules/device_orientation/DeviceMotionController.cpp |
| index b001f486f7a6c5c6c7c62bcc7c4384221a598eee..954c7ae59827e276e6ef775548a128d71bbfec8f 100644 |
| --- a/Source/modules/device_orientation/DeviceMotionController.cpp |
| +++ b/Source/modules/device_orientation/DeviceMotionController.cpp |
| @@ -28,6 +28,7 @@ |
| #include "modules/device_orientation/DeviceMotionController.h" |
| #include "core/dom/Document.h" |
| +#include "modules/device_orientation/DeviceMotionData.h" |
| #include "modules/device_orientation/DeviceMotionDispatcher.h" |
| #include "modules/device_orientation/DeviceMotionEvent.h" |
| @@ -82,4 +83,17 @@ void DeviceMotionController::unregisterWithDispatcher() |
| DeviceMotionDispatcher::instance().removeDeviceMotionController(this); |
| } |
| +bool DeviceMotionController::isNullEvent(Event* event) |
| +{ |
| + DeviceMotionEvent* motionEvent = static_cast<DeviceMotionEvent*>(event); |
|
abarth-chromium
2013/07/31 00:56:19
How do we know this static_cast is valid? Can we
timvolodine
2013/07/31 13:59:00
The static cast is a bit unfortunate here, but my
|
| + DeviceMotionData* data = motionEvent->deviceMotionData(); |
| + RefPtr<DeviceMotionData::Acceleration> acceleration = data->acceleration(); |
| + RefPtr<DeviceMotionData::Acceleration> accelerationIncludingGravity = data->accelerationIncludingGravity(); |
| + RefPtr<DeviceMotionData::RotationRate> rotationRate = data->rotationRate(); |
| + |
| + return !acceleration->canProvideX() && !acceleration->canProvideY() && !acceleration->canProvideZ() |
| + && !accelerationIncludingGravity->canProvideX() && !accelerationIncludingGravity->canProvideY() && !accelerationIncludingGravity->canProvideZ() |
| + && !rotationRate->canProvideAlpha() && !rotationRate->canProvideBeta() && !rotationRate->canProvideGamma(); |
| +} |
| + |
| } // namespace WebCore |