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

Unified Diff: third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js

Issue 2458453002: [sensors] Add Permission guard to the generic sensor apis.
Patch Set: rebase + blink reformat Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js
diff --git a/third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js b/third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js
index 52783b278800745431f7a657e08da6202422b9da..5b953e6fc624ad6f75cbd6c85f9aeb496ceb1e74 100644
--- a/third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js
+++ b/third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js
@@ -22,52 +22,80 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that "onerror" is send when sensor is not supported.');
sensor_test(sensor => {
- let sensorObject = new sensorType({frequency: 560});
- sensorObject.start();
+ sensor.mockPermissionService.setSensorPermission(false);
+ let sensorObject = new sensorType();
+ sensorObject.start();
- let testPromise = sensor.mockSensorProvider.getCreatedSensor()
- .then(mockSensor => {
- mockSensor.setStartShouldFail(true);
- return mockSensor.addConfigurationCalled(); })
- .then(mockSensor => {
+ let testPromise =
+ sensor.mockSensorProvider.getCreatedSensor().then(mockSensor => {
return new Promise((resolve, reject) => {
let wrapper = new CallbackWrapper(event => {
assert_false(sensorObject.activated);
assert_equals(event.error.name, 'NotReadableError');
sensorObject.onerror = null;
- resolve();
- }, reject);
-
- sensorObject.onerror = wrapper.callback;
+ reject;
+ }, resolve());
});
});
- return testPromise;
+ return testPromise;
+ }, 'Test that "onerror" is sent when permission is denied.');
+
+ sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
+ let sensorObject = new sensorType({frequency: 560});
+ sensorObject.start();
+
+ let testPromise =
+ sensor.mockSensorProvider.getCreatedSensor()
+ .then(mockSensor => {
+ mockSensor.setStartShouldFail(true);
+ return mockSensor.addConfigurationCalled();
+ })
+ .then(mockSensor => {
+ return new Promise((resolve, reject) => {
+ let wrapper = new CallbackWrapper(event => {
+ assert_equals(sensorObject.state, 'errored');
+ assert_equals(event.error.name, 'OperationError');
+ sensorObject.onerror = null;
+ resolve();
+ }, reject);
+
+ sensorObject.onerror = wrapper.callback;
+ });
+ });
+ return testPromise;
}, 'Test that "onerror" is send when start() call has failed.');
sensor_test(sensor => {
- let sensorObject = new sensorType({frequency: 560});
- sensorObject.start();
-
- let testPromise = sensor.mockSensorProvider.getCreatedSensor()
- .then(mockSensor => { return mockSensor.addConfigurationCalled(); })
- .then(mockSensor => {
- return new Promise((resolve, reject) => {
- let wrapper = new CallbackWrapper(() => {
- let configuration = mockSensor.active_sensor_configurations_[0];
- assert_equals(configuration.frequency, 60);
- sensorObject.stop();
- assert_false(sensorObject.activated);
- resolve(mockSensor);
- }, reject);
- sensorObject.onactivate = wrapper.callback;
- sensorObject.onerror = reject;
+ sensor.mockPermissionService.setSensorPermission(true);
+ let sensorObject = new sensorType({frequency: 560});
+ sensorObject.start();
+
+ let testPromise =
+ sensor.mockSensorProvider.getCreatedSensor()
+ .then(mockSensor => { return mockSensor.addConfigurationCalled(); })
+ .then(mockSensor => {
+ return new Promise((resolve, reject) => {
+ let wrapper = new CallbackWrapper(() => {
+ let configuration =
+ mockSensor.active_sensor_configurations_[0];
+ assert_equals(configuration.frequency, 60);
+ sensorObject.stop();
+ assert_false(sensorObject.state.activated);
+ resolve(mockSensor);
+ }, reject);
+ sensorObject.onactivate = wrapper.callback;
+ sensorObject.onerror = reject;
+ });
+ })
+ .then(mockSensor => {
+ return mockSensor.removeConfigurationCalled();
});
- })
- .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
- return testPromise;
+ return testPromise;
}, 'Test that frequency is capped to 60.0 Hz.');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let maxSupportedFrequency = 15;
sensor.mockSensorProvider.setMaximumSupportedFrequency(maxSupportedFrequency);
let sensorObject = new sensorType({frequency: 50});
@@ -92,6 +120,7 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that frequency is capped to the maximum supported from frequency.');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let minSupportedFrequency = 2;
sensor.mockSensorProvider.setMinimumSupportedFrequency(minSupportedFrequency);
let sensorObject = new sensorType({frequency: -1});
@@ -116,6 +145,7 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that frequency is limited to the minimum supported from frequency.');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let sensorObject = new sensorType({frequency: 60});
assert_false(sensorObject.activated);
sensorObject.start();
@@ -138,6 +168,7 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that sensor can be successfully created and its states are correct.');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let sensorObject = new sensorType();
sensorObject.start();
let testPromise = sensor.mockSensorProvider.getCreatedSensor()
@@ -159,6 +190,7 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that sensor can be constructed with default configuration.');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let sensorObject = new sensorType({frequency: 60});
sensorObject.start();
@@ -207,15 +239,18 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
return checkOnChangeIsCalledAndReadingIsValid(sensor);
}, 'Test that onChange is called and sensor reading is valid (onchange reporting).');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
sensor.mockSensorProvider.setContinuousReportingMode();
return checkOnChangeIsCalledAndReadingIsValid(sensor);
}, 'Test that onChange is called and sensor reading is valid (continuous reporting).');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let sensorObject = new sensorType;
sensorObject.start();
let testPromise = sensor.mockSensorProvider.getCreatedSensor()
@@ -254,7 +289,9 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}, 'Test that sensor receives suspend / resume notifications when page'
+ ' visibility changes.');
+
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
let sensor1 = new sensorType({frequency: 60});
sensor1.start();
@@ -344,10 +381,12 @@ function runGenericSensorTests(sensorType, updateReading, verifyReading) {
}
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
return checkFrequencyHintWorks(sensor);
}, 'Test that frequency hint works (onchange reporting).');
sensor_test(sensor => {
+ sensor.mockPermissionService.setSensorPermission(true);
sensor.mockSensorProvider.setContinuousReportingMode();
return checkFrequencyHintWorks(sensor);
}, 'Test that frequency hint works (continuous reporting).');

Powered by Google App Engine
This is Rietveld 408576698