| Index: content/browser/device_orientation/device_motion_provider.h
|
| diff --git a/content/browser/device_orientation/device_motion_provider.h b/content/browser/device_orientation/device_motion_provider.h
|
| index 90588dac58c234197173df3ce6d295ecfb8be128..8fd36de33d6e9f01f972a486ab019747f4560951 100644
|
| --- a/content/browser/device_orientation/device_motion_provider.h
|
| +++ b/content/browser/device_orientation/device_motion_provider.h
|
| @@ -13,9 +13,18 @@
|
| namespace content {
|
| class DataFetcherSharedMemory;
|
|
|
| +// This class owns the shared memory buffer for Device Motion and makes
|
| +// sure the data is fetched into that buffer.
|
| +// When DataFetcherSharedMemory::NeedsPolling() is true, it starts a
|
| +// background polling thread to make sure the data is fetched at regular
|
| +// intervals.
|
| class CONTENT_EXPORT DeviceMotionProvider {
|
| public:
|
| DeviceMotionProvider();
|
| +
|
| + // Creates provider with a custom fetcher. Used for testing.
|
| + explicit DeviceMotionProvider(scoped_ptr<DataFetcherSharedMemory> fetcher);
|
| +
|
| virtual ~DeviceMotionProvider();
|
|
|
| // Returns the shared memory handle of the device motion data duplicated
|
| @@ -23,18 +32,20 @@ class CONTENT_EXPORT DeviceMotionProvider {
|
| base::SharedMemoryHandle GetSharedMemoryHandleForProcess(
|
| base::ProcessHandle renderer_process);
|
|
|
| - // Pause and resume the background polling thread. Can be called from any
|
| - // thread.
|
| void StartFetchingDeviceMotionData();
|
| void StopFetchingDeviceMotionData();
|
|
|
| private:
|
| - base::SharedMemory device_motion_shared_memory_;
|
| + class PollingThread;
|
| +
|
| + void Initialize();
|
| + void CreateAndStartPollingThread();
|
|
|
| DeviceMotionHardwareBuffer* SharedMemoryAsHardwareBuffer();
|
|
|
| + base::SharedMemory device_motion_shared_memory_;
|
| scoped_ptr<DataFetcherSharedMemory> data_fetcher_;
|
| -
|
| + scoped_ptr<PollingThread> polling_thread_;
|
| bool is_started_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DeviceMotionProvider);
|
|
|