| Index: content/browser/device_orientation/data_fetcher_shared_memory_default.cc | 
| diff --git a/content/browser/device_orientation/data_fetcher_shared_memory_default.cc b/content/browser/device_orientation/data_fetcher_shared_memory_default.cc | 
| index 819605cb8abbfbe2728dd7e01bc4bc1f029ca102..0f66fc797730a0d4a1751f31e1f54e005b39b92e 100644 | 
| --- a/content/browser/device_orientation/data_fetcher_shared_memory_default.cc | 
| +++ b/content/browser/device_orientation/data_fetcher_shared_memory_default.cc | 
| @@ -9,7 +9,8 @@ | 
| namespace content { | 
|  | 
| DataFetcherSharedMemory::~DataFetcherSharedMemory() { | 
| -  StopFetchingDeviceMotionData(); | 
| +  if (started_) | 
| +    StopFetchingDeviceMotionData(); | 
| } | 
|  | 
| bool DataFetcherSharedMemory::NeedsPolling() { | 
| @@ -24,9 +25,11 @@ bool DataFetcherSharedMemory::FetchDeviceMotionDataIntoBuffer() { | 
| bool DataFetcherSharedMemory::StartFetchingDeviceMotionData( | 
| DeviceMotionHardwareBuffer* buffer) { | 
| DCHECK(buffer); | 
| +  device_motion_buffer_ = buffer; | 
| device_motion_buffer_->seqlock.WriteBegin(); | 
| device_motion_buffer_->data.allAvailableSensorsAreActive = true; | 
| device_motion_buffer_->seqlock.WriteEnd(); | 
| +  started_ = true; | 
| return true; | 
| } | 
|  | 
| @@ -34,6 +37,7 @@ void DataFetcherSharedMemory::StopFetchingDeviceMotionData() { | 
| device_motion_buffer_->seqlock.WriteBegin(); | 
| device_motion_buffer_->data.allAvailableSensorsAreActive = false; | 
| device_motion_buffer_->seqlock.WriteEnd(); | 
| +  started_ = false; | 
| } | 
|  | 
| }  // namespace content | 
|  |