Commit ce7abc81 authored by Raphael Kubo da Costa's avatar Raphael Kubo da Costa Committed by Commit Bot

sensors: Only call test_driver.set_permission from the top-level window.

testdriver.js' documentation says "presently, testdriver.js only works
in the top-level test browsing context (and not therefore in any frame
or window opened from it".

If we do not restrict the set_permission() call here, the call to
initialize_generic_sensor_tests() in
generic-sensor/resources/iframe_sensor_handler.html will time out
waiting for it to complete when running the iframe tests outside the
Chromium CI (i.e. in wpt.fyi or with "wpt run").

Change-Id: I522a5ebacb7da9e35bbe2ea3564d3288a34c653b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421671
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: default avatarRobert Ma <robertma@chromium.org>
Commit-Queue: Robert Ma <robertma@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#808874}
parent ae54b499
......@@ -386,10 +386,15 @@ var GenericSensorTest = (() => {
throw new Error('Call reset() before initialize().');
// Grant sensor permissions for Chromium testdriver.
for (const entry of ['accelerometer', 'gyroscope',
'magnetometer', 'ambient-light-sensor']) {
await test_driver.set_permission({ name: entry }, 'granted', false);
};
// testdriver.js only works in the top-level browsing context, so do
// nothing if we're in e.g. an iframe.
if (window.parent === window) {
for (const entry
of ['accelerometer', 'gyroscope', 'magnetometer',
'ambient-light-sensor']) {
await test_driver.set_permission({name: entry}, 'granted', false);
}
}
testInternal.sensorProvider = new MockSensorProvider;
testInternal.initialized = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment