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

Side by Side Diff: third_party/WebKit/LayoutTests/sensor/resources/sensor-helpers.js

Issue 2465363004: [Sensors] Consider maximum supported frequency (Closed)
Patch Set: Comments from Alex Created 4 years, 1 month 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 'use strict'; 1 'use strict';
2 2
3 function sensor_mocks(mojo) { 3 function sensor_mocks(mojo) {
4 return define('Generic Sensor API mocks', [ 4 return define('Generic Sensor API mocks', [
5 'mojo/public/js/core', 5 'mojo/public/js/core',
6 'mojo/public/js/bindings', 6 'mojo/public/js/bindings',
7 'mojo/public/js/connection', 7 'mojo/public/js/connection',
8 'device/generic_sensor/public/interfaces/sensor_provider.mojom', 8 'device/generic_sensor/public/interfaces/sensor_provider.mojom',
9 'device/generic_sensor/public/interfaces/sensor.mojom', 9 'device/generic_sensor/public/interfaces/sensor.mojom',
10 ], (core, bindings, connection, sensor_provider, sensor) => { 10 ], (core, bindings, connection, sensor_provider, sensor) => {
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 let rv = 188 let rv =
189 core.createSharedBuffer( 189 core.createSharedBuffer(
190 this.shared_buffer_size_in_bytes_, 190 this.shared_buffer_size_in_bytes_,
191 core.CREATE_SHARED_BUFFER_OPTIONS_FLAG_NONE); 191 core.CREATE_SHARED_BUFFER_OPTIONS_FLAG_NONE);
192 assert_equals(rv.result, core.RESULT_OK, "Failed to create buffer"); 192 assert_equals(rv.result, core.RESULT_OK, "Failed to create buffer");
193 this.shared_buffer_handle_ = rv.handle; 193 this.shared_buffer_handle_ = rv.handle;
194 this.active_sensor_ = null; 194 this.active_sensor_ = null;
195 this.get_sensor_should_fail_ = false; 195 this.get_sensor_should_fail_ = false;
196 this.resolve_func_ = null; 196 this.resolve_func_ = null;
197 this.is_continuous_ = false; 197 this.is_continuous_ = false;
198 this.max_frequency_ = 60;
198 } 199 }
199 200
200 // Returns initialized Sensor proxy to the client. 201 // Returns initialized Sensor proxy to the client.
201 getSensor(type, stub) { 202 getSensor(type, stub) {
202 if (this.get_sensor_should_fail_) { 203 if (this.get_sensor_should_fail_) {
203 return getSensorResponse(null, 204 return getSensorResponse(null,
204 connection.bindProxy(null, sensor.SensorClient)); 205 connection.bindProxy(null, sensor.SensorClient));
205 } 206 }
206 207
207 let offset = 208 let offset =
(...skipping 16 matching lines...) Expand all
224 225
225 assert_equals(rv.result, core.RESULT_OK); 226 assert_equals(rv.result, core.RESULT_OK);
226 227
227 let default_config = {frequency: 5}; 228 let default_config = {frequency: 5};
228 229
229 let init_params = 230 let init_params =
230 new sensor_provider.SensorInitParams( 231 new sensor_provider.SensorInitParams(
231 { memory: rv.handle, 232 { memory: rv.handle,
232 buffer_offset: offset, 233 buffer_offset: offset,
233 mode: reporting_mode, 234 mode: reporting_mode,
234 default_configuration: default_config }); 235 default_configuration: default_config,
236 maximum_frequency: this.max_frequency_});
235 237
236 if (this.resolve_func_ !== null) { 238 if (this.resolve_func_ !== null) {
237 this.resolve_func_(this.active_sensor_); 239 this.resolve_func_(this.active_sensor_);
238 } 240 }
239 241
240 var client_handle = connection.bindProxy(proxy => { 242 var client_handle = connection.bindProxy(proxy => {
241 this.active_sensor_.client_ = proxy; 243 this.active_sensor_.client_ = proxy;
242 }, sensor.SensorClient); 244 }, sensor.SensorClient);
243
244 return getSensorResponse(init_params, client_handle); 245 return getSensorResponse(init_params, client_handle);
245 } 246 }
246 247
247 // Binds object to mojo message pipe 248 // Binds object to mojo message pipe
248 bindToPipe(pipe) { 249 bindToPipe(pipe) {
249 this.stub_ = connection.bindHandleToStub( 250 this.stub_ = connection.bindHandleToStub(
250 pipe, sensor_provider.SensorProvider); 251 pipe, sensor_provider.SensorProvider);
251 bindings.StubBindings(this.stub_).delegate = this; 252 bindings.StubBindings(this.stub_).delegate = this;
252 } 253 }
253 254
254 // Mock functions 255 // Mock functions
255 256
256 // Resets state of mock SensorProvider between test runs. 257 // Resets state of mock SensorProvider between test runs.
257 reset() { 258 reset() {
258 if (this.active_sensor_ != null) { 259 if (this.active_sensor_ != null) {
259 this.active_sensor_.reset(); 260 this.active_sensor_.reset();
260 } 261 }
261 262
262 this.get_sensor_should_fail_ = false; 263 this.get_sensor_should_fail_ = false;
263 this.resolve_func_ = null; 264 this.resolve_func_ = null;
265 this.max_frequency_ = 60;
264 } 266 }
265 267
266 // Sets flag that forces mock SensorProvider to fail when getSensor() is 268 // Sets flag that forces mock SensorProvider to fail when getSensor() is
267 // invoked. 269 // invoked.
268 setGetSensorShouldFail(should_fail) { 270 setGetSensorShouldFail(should_fail) {
269 this.get_sensor_should_fail_ = should_fail; 271 this.get_sensor_should_fail_ = should_fail;
270 } 272 }
271 273
272 // Returns mock sensor that was created in getSensor to the layout test. 274 // Returns mock sensor that was created in getSensor to the layout test.
273 getCreatedSensor() { 275 getCreatedSensor() {
274 if (this.active_sensor_ != null) { 276 if (this.active_sensor_ != null) {
275 return Promise.resolve(this.active_sensor_); 277 return Promise.resolve(this.active_sensor_);
276 } 278 }
277 279
278 return new Promise((resolve, reject) => { 280 return new Promise((resolve, reject) => {
279 this.resolve_func_ = resolve; 281 this.resolve_func_ = resolve;
280 }); 282 });
281 } 283 }
282 284
283 // Forces sensor to use |reporting_mode| as an update mode. 285 // Forces sensor to use |reporting_mode| as an update mode.
284 setContinuousReportingMode(reporting_mode) { 286 setContinuousReportingMode(reporting_mode) {
285 this.is_continuous_ = reporting_mode; 287 this.is_continuous_ = reporting_mode;
286 } 288 }
289
290 // Sets the maximum frequency for a concrete sensor.
291 setMaximumSupportedFrequency(frequency) {
292 this.max_frequency_ = frequency;
293 }
287 } 294 }
288 295
289 let mockSensorProvider = new MockSensorProvider; 296 let mockSensorProvider = new MockSensorProvider;
290 mojo.frameInterfaces.addInterfaceOverrideForTesting( 297 mojo.frameInterfaces.addInterfaceOverrideForTesting(
291 sensor_provider.SensorProvider.name, 298 sensor_provider.SensorProvider.name,
292 pipe => { 299 pipe => {
293 mockSensorProvider.bindToPipe(pipe); 300 mockSensorProvider.bindToPipe(pipe);
294 }); 301 });
295 302
296 return Promise.resolve({ 303 return Promise.resolve({
297 mockSensorProvider: mockSensorProvider, 304 mockSensorProvider: mockSensorProvider,
298 }); 305 });
299 }); 306 });
300 } 307 }
301 308
302 function sensor_test(func, name, properties) { 309 function sensor_test(func, name, properties) {
303 mojo_test(mojo => sensor_mocks(mojo).then(sensor => { 310 mojo_test(mojo => sensor_mocks(mojo).then(sensor => {
304 let result = Promise.resolve(func(sensor)); 311 let result = Promise.resolve(func(sensor));
305 let cleanUp = () => { sensor.mockSensorProvider.reset(); }; 312 let cleanUp = () => { sensor.mockSensorProvider.reset(); };
306 return result.then(cleanUp, cleanUp); 313 return result.then(cleanUp, cleanUp);
307 }), name, properties); 314 }), name, properties);
308 } 315 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698