| Index: device/gamepad/gamepad_shared_buffer.h | 
| diff --git a/device/gamepad/gamepad_shared_buffer.h b/device/gamepad/gamepad_shared_buffer.h | 
| index 04cb911df969e107bbeb82ef6831e3abaa6ba2ee..b393d4ba3297dfbf0e1a93765b90aca24de4f697 100644 | 
| --- a/device/gamepad/gamepad_shared_buffer.h | 
| +++ b/device/gamepad/gamepad_shared_buffer.h | 
| @@ -6,20 +6,29 @@ | 
| #define DEVICE_GAMEPAD_SHARED_BUFFER_H_ | 
|  | 
| #include "base/memory/shared_memory.h" | 
| +#include "device/base/synchronization/shared_memory_seqlock_buffer.h" | 
| #include "device/gamepad/gamepad_export.h" | 
| #include "third_party/WebKit/public/platform/WebGamepads.h" | 
|  | 
| namespace device { | 
|  | 
| +typedef SharedMemorySeqLockBuffer<blink::WebGamepads> GamepadHardwareBuffer; | 
| + | 
| class DEVICE_GAMEPAD_EXPORT GamepadSharedBuffer { | 
| public: | 
| -  virtual ~GamepadSharedBuffer() {} | 
| +  GamepadSharedBuffer(); | 
| +  ~GamepadSharedBuffer(); | 
| + | 
| +  base::SharedMemory* shared_memory(); | 
| +  blink::WebGamepads* buffer(); | 
| +  GamepadHardwareBuffer* hardware_buffer(); | 
|  | 
| -  virtual base::SharedMemory* shared_memory() = 0; | 
| -  virtual blink::WebGamepads* buffer() = 0; | 
| +  void WriteBegin(); | 
| +  void WriteEnd(); | 
|  | 
| -  virtual void WriteBegin() = 0; | 
| -  virtual void WriteEnd() = 0; | 
| + private: | 
| +  base::SharedMemory shared_memory_; | 
| +  GamepadHardwareBuffer* hardware_buffer_; | 
| }; | 
|  | 
| }  // namespace device | 
|  |