Index: third_party/WebKit/Source/modules/sensor/SensorProxy.cpp |
diff --git a/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp b/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp |
index add04b99327deacdb576b82b73261f851d955c05..d58488fcb71a1b235b7423b48a870e45374b9865 100644 |
--- a/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp |
+++ b/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp |
@@ -120,13 +120,16 @@ void SensorProxy::SensorReadingChanged() { |
} |
void SensorProxy::handleSensorError(ExceptionCode code, |
- const String& sanitizedMessage, |
- const String& unsanitizedMessage) { |
+ String sanitizedMessage, |
+ String unsanitizedMessage) { |
if (!Platform::current()) { |
// TODO(rockot): Remove this hack once renderer shutdown sequence is fixed. |
return; |
} |
+ |
m_state = Uninitialized; |
+ // The m_sensor.reset() will release all callbacks and its bound parameters, |
+ // therefore, handleSensorError accepts messages by value. |
m_sensor.reset(); |
m_sharedBuffer.reset(); |
m_sharedBufferHandle.reset(); |