Based on the discussion of: https://codereview.chromium.org/2896583005/diff/60001/content/renderer/device_sensors/device_motion_event_pump.cc For reading mojo::ScopedSharedBufferMapping, something similar to SharedMemorySeqlockReader can be useful to improve the reusability and readability.
Based on the discussion at: https://codereview.chromium.org/2929603003/diff/140001/device/generic_sensor/platform_sensor_fusion_relative_orientation.cc https://codereview.chromium.org/2929603003/diff/140001/device/generic_sensor/public/cpp/sensor_shared_buffer_reader.h It seems better to add a function at device/generic_sensor/public/cpp/sensor_reading.h so that it can be used by both //content/renderer/device_sensors and Blink code. I'll have a separate CL to do that.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f56f6e2eb1b23417c14563665c5737728f820fd9 commit f56f6e2eb1b23417c14563665c5737728f820fd9 Author: Jun Cai <juncai@chromium.org> Date: Fri Jul 14 20:19:38 2017 Add SensorReadingSharedBufferReader class to read sensor data This CL adds a SensorReadingSharedBufferReader class at //services/device/public/cpp/generic_sensor so that it can be used by both //content/renderer/device_sensors and Blink code. Bug: 727788 Change-Id: I9d03b64e5cf191738e87bbe29fd7611654f3fd5b Reviewed-on: https://chromium-review.googlesource.com/541685 Reviewed-by: Tim Volodine <timvolodine@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Reviewed-by: Alexander Shalamov <alexander.shalamov@intel.com> Commit-Queue: Jun Cai <juncai@chromium.org> Cr-Commit-Position: refs/heads/master@{#486865} [modify] https://crrev.com/f56f6e2eb1b23417c14563665c5737728f820fd9/services/device/public/cpp/generic_sensor/BUILD.gn [add] https://crrev.com/f56f6e2eb1b23417c14563665c5737728f820fd9/services/device/public/cpp/generic_sensor/sensor_reading_shared_buffer_reader.cc [add] https://crrev.com/f56f6e2eb1b23417c14563665c5737728f820fd9/services/device/public/cpp/generic_sensor/sensor_reading_shared_buffer_reader.h [modify] https://crrev.com/f56f6e2eb1b23417c14563665c5737728f820fd9/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp [modify] https://crrev.com/f56f6e2eb1b23417c14563665c5737728f820fd9/third_party/WebKit/Source/modules/sensor/SensorProxy.h
Comment 1 by juncai@chromium.org
, Jun 13 2017Owner: juncai@chromium.org
Status: Started (was: Available)