Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/vr/VRPositionState.h" | 5 #include "modules/vr/VRPositionState.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/GeometryInterfaces.h" | |
| 8 | |
| 7 namespace blink { | 9 namespace blink { |
| 8 | 10 |
| 9 namespace { | 11 namespace { |
| 10 | 12 |
| 11 DOMPoint* vecToDomPoint(const WebVRVector4& vec, bool valid) | 13 void vecToDomPoint(ScriptValue& value, const WebVRVector4& vec, bool valid) |
| 12 { | 14 { |
| 13 if (valid) | 15 if (valid) |
| 14 return DOMPoint::create(vec.x, vec.y, vec.z, vec.w); | 16 value = GeometryInterfaces::createDOMPoint(vec.x, vec.y, vec.z, vec.w); |
| 15 return nullptr; | 17 value = ScriptValue::createNull(ScriptState::current(v8::Isolate::GetCurrent ())); |
|
haraken
2016/02/25 11:21:11
Please don't use ScriptState::current without unde
| |
| 16 } | 18 } |
| 17 DOMPoint* vecToDomPoint(const WebVRVector3& vec, bool valid) | 19 |
| 20 void vecToDomPoint(ScriptValue& value, const WebVRVector3& vec, bool valid) | |
| 18 { | 21 { |
| 19 if (valid) | 22 if (valid) |
| 20 return DOMPoint::create(vec.x, vec.y, vec.z, 1.0); | 23 value = GeometryInterfaces::createDOMPoint(vec.x, vec.y, vec.z, 1.0); |
| 21 return nullptr; | 24 value = ScriptValue::createNull(ScriptState::current(v8::Isolate::GetCurrent ())); |
| 22 } | 25 } |
| 23 | 26 |
| 24 } // namespace | 27 } // namespace |
| 25 | 28 |
| 26 VRPositionState::VRPositionState() | 29 VRPositionState::VRPositionState() |
| 27 : m_timeStamp(0.0) | 30 : m_timeStamp(0.0) |
| 28 { | 31 { |
| 29 } | 32 } |
| 30 | 33 |
| 31 void VRPositionState::setState(const WebHMDSensorState &state) | 34 void VRPositionState::setState(const WebHMDSensorState &state) |
| 32 { | 35 { |
| 33 m_timeStamp = state.timestamp; | 36 m_timeStamp = state.timestamp; |
| 34 m_orientation = vecToDomPoint(state.orientation, state.flags & WebVRSensorSt ateOrientation); | 37 vecToDomPoint(m_orientation, state.orientation, state.flags & WebVRSensorSta teOrientation); |
|
domenic
2016/02/24 21:23:04
Is using references in this way OK according to Bl
| |
| 35 m_position = vecToDomPoint(state.position, state.flags & WebVRSensorStatePos ition); | 38 vecToDomPoint(m_position, state.position, state.flags & WebVRSensorStatePosi tion); |
| 36 m_angularVelocity = vecToDomPoint(state.angularVelocity, state.flags & WebVR SensorStateAngularVelocity); | 39 vecToDomPoint(m_angularVelocity, state.angularVelocity, state.flags & WebVRS ensorStateAngularVelocity); |
| 37 m_linearVelocity = vecToDomPoint(state.linearVelocity, state.flags & WebVRSe nsorStateLinearVelocity); | 40 vecToDomPoint(m_linearVelocity, state.linearVelocity, state.flags & WebVRSen sorStateLinearVelocity); |
| 38 m_angularAcceleration = vecToDomPoint(state.angularAcceleration, state.flags & WebVRSensorStateAngularAcceleration); | 41 vecToDomPoint(m_angularAcceleration, state.angularAcceleration, state.flags & WebVRSensorStateAngularAcceleration); |
| 39 m_linearAcceleration = vecToDomPoint(state.linearAcceleration, state.flags & WebVRSensorStateLinearAcceleration); | 42 vecToDomPoint(m_linearAcceleration, state.linearAcceleration, state.flags & WebVRSensorStateLinearAcceleration); |
| 40 } | 43 } |
| 41 | 44 |
| 42 DEFINE_TRACE(VRPositionState) | 45 DEFINE_TRACE(VRPositionState) |
| 43 { | 46 { |
| 44 visitor->trace(m_orientation); | |
| 45 visitor->trace(m_position); | |
| 46 visitor->trace(m_angularVelocity); | |
| 47 visitor->trace(m_linearVelocity); | |
| 48 visitor->trace(m_angularAcceleration); | |
| 49 visitor->trace(m_linearAcceleration); | |
| 50 } | 47 } |
| 51 | 48 |
| 52 } // namespace blink | 49 } // namespace blink |
| OLD | NEW |