 Chromium Code Reviews
 Chromium Code Reviews Issue 1967633002:
  Updated VRService to match the latest Blink WebVR interface.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1967633002:
  Updated VRService to match the latest Blink WebVR interface.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: third_party/WebKit/Source/modules/vr/VRPose.cpp | 
| diff --git a/third_party/WebKit/Source/modules/vr/VRPose.cpp b/third_party/WebKit/Source/modules/vr/VRPose.cpp | 
| index 91d71199d57e6693a9f760f9def7fff139012aae..f362d08c96ae1a1115ba55b02fd13d5e71f82bf0 100644 | 
| --- a/third_party/WebKit/Source/modules/vr/VRPose.cpp | 
| +++ b/third_party/WebKit/Source/modules/vr/VRPose.cpp | 
| @@ -8,27 +8,10 @@ namespace blink { | 
| namespace { | 
| -DOMFloat32Array* vecToFloat32Array(const mojom::blink::VRVector4Ptr& vec) | 
| +DOMFloat32Array* mojoArrayToFloat32Array(const mojo::WTFArray<float>& vec) | 
| { | 
| - if (!vec.is_null()) { | 
| - DOMFloat32Array* out = DOMFloat32Array::create(4); | 
| - out->data()[0] = vec->x; | 
| - out->data()[1] = vec->y; | 
| - out->data()[2] = vec->z; | 
| - out->data()[3] = vec->w; | 
| - return out; | 
| - } | 
| - return nullptr; | 
| -} | 
| - | 
| -DOMFloat32Array* vecToFloat32Array(const mojom::blink::VRVector3Ptr& vec) | 
| -{ | 
| - if (!vec.is_null()) { | 
| - DOMFloat32Array* out = DOMFloat32Array::create(3); | 
| - out->data()[0] = vec->x; | 
| - out->data()[1] = vec->y; | 
| - out->data()[2] = vec->z; | 
| - return out; | 
| + if (!vec.is_null() && vec.size()) { | 
| 
dcheng
2016/05/19 22:17:48
We don't actually expect size == 0 if the vector i
 | 
| + return DOMFloat32Array::create(&(vec.front()), vec.size()); | 
| } | 
| return nullptr; | 
| } | 
| @@ -40,18 +23,18 @@ VRPose::VRPose() | 
| { | 
| } | 
| -void VRPose::setPose(const mojom::blink::VRSensorStatePtr& state) | 
| +void VRPose::setPose(const mojom::blink::VRPosePtr& state) | 
| { | 
| if (state.is_null()) | 
| return; | 
| m_timeStamp = state->timestamp; | 
| - m_orientation = vecToFloat32Array(state->orientation); | 
| - m_position = vecToFloat32Array(state->position); | 
| - m_angularVelocity = vecToFloat32Array(state->angularVelocity); | 
| - m_linearVelocity = vecToFloat32Array(state->linearVelocity); | 
| - m_angularAcceleration = vecToFloat32Array(state->angularAcceleration); | 
| - m_linearAcceleration = vecToFloat32Array(state->linearAcceleration); | 
| + m_orientation = mojoArrayToFloat32Array(state->orientation); | 
| + m_position = mojoArrayToFloat32Array(state->position); | 
| + m_angularVelocity = mojoArrayToFloat32Array(state->angularVelocity); | 
| + m_linearVelocity = mojoArrayToFloat32Array(state->linearVelocity); | 
| + m_angularAcceleration = mojoArrayToFloat32Array(state->angularAcceleration); | 
| + m_linearAcceleration = mojoArrayToFloat32Array(state->linearAcceleration); | 
| } | 
| DEFINE_TRACE(VRPose) |