Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2010 Apple Inc. All rights reserved. | 2 * Copyright 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Samsung Electronics. All rights reserved. | 3 * Copyright (C) 2012 Samsung Electronics. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above copyright | 10 * * Redistributions in binary form must reproduce the above copyright |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 #include "config.h" | 27 #include "config.h" |
| 28 #include "modules/device_orientation/DeviceMotionController.h" | 28 #include "modules/device_orientation/DeviceMotionController.h" |
| 29 | 29 |
| 30 #include "core/dom/Document.h" | 30 #include "core/dom/Document.h" |
| 31 #include "modules/device_orientation/DeviceMotionData.h" | |
| 31 #include "modules/device_orientation/DeviceMotionDispatcher.h" | 32 #include "modules/device_orientation/DeviceMotionDispatcher.h" |
| 32 #include "modules/device_orientation/DeviceMotionEvent.h" | 33 #include "modules/device_orientation/DeviceMotionEvent.h" |
| 33 | 34 |
| 34 namespace WebCore { | 35 namespace WebCore { |
| 35 | 36 |
| 36 DeviceMotionController::DeviceMotionController(Document* document) | 37 DeviceMotionController::DeviceMotionController(Document* document) |
| 37 : DeviceSensorEventController(document) | 38 : DeviceSensorEventController(document) |
| 38 { | 39 { |
| 39 } | 40 } |
| 40 | 41 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 75 void DeviceMotionController::registerWithDispatcher() | 76 void DeviceMotionController::registerWithDispatcher() |
| 76 { | 77 { |
| 77 DeviceMotionDispatcher::instance().addDeviceMotionController(this); | 78 DeviceMotionDispatcher::instance().addDeviceMotionController(this); |
| 78 } | 79 } |
| 79 | 80 |
| 80 void DeviceMotionController::unregisterWithDispatcher() | 81 void DeviceMotionController::unregisterWithDispatcher() |
| 81 { | 82 { |
| 82 DeviceMotionDispatcher::instance().removeDeviceMotionController(this); | 83 DeviceMotionDispatcher::instance().removeDeviceMotionController(this); |
| 83 } | 84 } |
| 84 | 85 |
| 86 bool DeviceMotionController::isNullEvent(Event* event) | |
| 87 { | |
| 88 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
| |
| 89 DeviceMotionData* data = motionEvent->deviceMotionData(); | |
| 90 RefPtr<DeviceMotionData::Acceleration> acceleration = data->acceleration(); | |
| 91 RefPtr<DeviceMotionData::Acceleration> accelerationIncludingGravity = data-> accelerationIncludingGravity(); | |
| 92 RefPtr<DeviceMotionData::RotationRate> rotationRate = data->rotationRate(); | |
| 93 | |
| 94 return !acceleration->canProvideX() && !acceleration->canProvideY() && !acce leration->canProvideZ() | |
| 95 && !accelerationIncludingGravity->canProvideX() && !accelerationIncludin gGravity->canProvideY() && !accelerationIncludingGravity->canProvideZ() | |
| 96 && !rotationRate->canProvideAlpha() && !rotationRate->canProvideBeta() & & !rotationRate->canProvideGamma(); | |
| 97 } | |
| 98 | |
| 85 } // namespace WebCore | 99 } // namespace WebCore |
| OLD | NEW |