Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: third_party/WebKit/Source/modules/sensor/SensorProxy.cpp

Issue 2330943002: [Sensors] Handle default sensor configuration (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/sensor/SensorProxy.h" 5 #include "modules/sensor/SensorProxy.h"
6 6
7 #include "core/frame/LocalFrame.h" 7 #include "core/frame/LocalFrame.h"
8 #include "modules/sensor/SensorProviderProxy.h" 8 #include "modules/sensor/SensorProviderProxy.h"
9 #include "platform/mojo/MojoHelper.h" 9 #include "platform/mojo/MojoHelper.h"
10 10
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 void SensorProxy::SensorReadingChanged() 112 void SensorProxy::SensorReadingChanged()
113 { 113 {
114 for (Observer* observer : m_observers) 114 for (Observer* observer : m_observers)
115 observer->onSensorReadingChanged(); 115 observer->onSensorReadingChanged();
116 } 116 }
117 117
118 void SensorProxy::handleSensorError() 118 void SensorProxy::handleSensorError()
119 { 119 {
120 m_state = Uninitialized; 120 m_state = Uninitialized;
121 m_sensor.reset(); 121 m_sensor.reset();
122 m_sharedBuffer.reset();
123 m_sharedBufferHandle.reset();
124 m_defaultConfig.reset();
125 m_clientBinding.Close();
126
122 for (Observer* observer : m_observers) 127 for (Observer* observer : m_observers)
123 observer->onSensorError(); 128 observer->onSensorError();
124 } 129 }
125 130
126 void SensorProxy::onSensorCreated(SensorReadBufferPtr buffer, SensorClientReques t clientRequest) 131 void SensorProxy::onSensorCreated(SensorInitParamsPtr params, SensorClientReques t clientRequest)
127 { 132 {
128 DCHECK_EQ(Initializing, m_state); 133 DCHECK_EQ(Initializing, m_state);
129 if (!buffer) { 134 if (!params) {
130 handleSensorError(); 135 handleSensorError();
131 return; 136 return;
132 } 137 }
133 138
134 DCHECK_EQ(0u, buffer->offset % SensorReadBuffer::kReadBufferSize); 139 DCHECK_EQ(0u, params->buffer_offset % SensorInitParams::kReadBufferSize);
135 140
136 m_mode = buffer->mode; 141 m_mode = params->mode;
142 m_defaultConfig = std::move(params->default_configuration);
137 143
138 DCHECK(m_sensor.is_bound()); 144 DCHECK(m_sensor.is_bound());
139 m_clientBinding.Bind(std::move(clientRequest)); 145 m_clientBinding.Bind(std::move(clientRequest));
140 146
141 m_sharedBufferHandle = std::move(buffer->memory); 147 m_sharedBufferHandle = std::move(params->memory);
142 DCHECK(!m_sharedBuffer); 148 DCHECK(!m_sharedBuffer);
143 m_sharedBuffer = m_sharedBufferHandle->MapAtOffset(buffer->offset, SensorRea dBuffer::kReadBufferSize); 149 m_sharedBuffer = m_sharedBufferHandle->MapAtOffset(SensorInitParams::kReadBu fferSize, params->buffer_offset);
144 150
145 if (!m_sharedBuffer) { 151 if (!m_sharedBuffer) {
146 handleSensorError(); 152 handleSensorError();
147 return; 153 return;
148 } 154 }
149 155
150 m_state = Initialized; 156 m_state = Initialized;
151 for (Observer* observer : m_observers) 157 for (Observer* observer : m_observers)
152 observer->onSensorInitialized(); 158 observer->onSensorInitialized();
153 } 159 }
154 160
155 } // namespace blink 161 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698