Files
sousa-gecko/testing/web-platform/tests/geolocation/enabled-by-permissions-policy.https.sub.html
T
Alvin Ji f20a5bd10c Bug 2018368 [wpt PR 57955] - geolocation: Fix permission policy wpt test, a=testonly
Automatic update from web-platform-tests
geolocation: Fix permission policy wpt test

The two geolocation permission policy tests were timeout because there
is no default position is set. This CL fix it by using bidi to set
default position.

Change-Id: I64545678f7d8c24efbfcfbd43717f114d0bc836e
Bug: 347055177
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7596170
Commit-Queue: Alvin Ji <alvinji@chromium.org>
Reviewed-by: Matt Reynolds <mattreynolds@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1588154}

--

wpt-commits: d5bcde60dd765d7b7948d73e745b631696d9da8e
wpt-pr: 57955
2026-02-26 15:18:49 +00:00

75 lines
2.4 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8" />
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js?feature=bidi"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/permissions-policy/resources/permissions-policy.js"></script>
<script>
const same_origin_src =
"/permissions-policy/resources/permissions-policy-geolocation.html";
const cross_origin_src =
"https://{{hosts[alt][]}}:{{ports[https][0]}}" + same_origin_src;
promise_setup(async () => {
// Grant permission for the top-level document's origin.
await test_driver.bidi.permissions.set_permission({
descriptor: {
name: "geolocation"
},
state: "granted"
});
// Set a default position.
await test_driver.bidi.emulation.set_geolocation_override({
coordinates: {
latitude: 0,
longitude: 0,
accuracy: 0
}
});
});
promise_test(async (test) => {
const position = await new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(resolve, reject);
});
assert_true(
position instanceof GeolocationPosition,
"Expected a GeolocationPosition"
);
}, "Permissions-Policy header geolocation=* allows the top-level document.");
promise_test(async (test) => {
await test_feature_availability({
feature_description: "Geolocation API",
test,
src: same_origin_src,
expect_feature_available: expect_feature_available_default,
is_promise_test: true,
});
}, "Permissions-Policy header geolocation=* allows same-origin iframes.");
promise_test(async (test) => {
// Grant site-level permission for the cross-origin iframe's origin.
await test_driver.bidi.permissions.set_permission({
descriptor: {
name: "geolocation"
},
state: "granted",
origin: cross_origin_src
});
await test_feature_availability({
feature_description: "Geolocation API",
test,
src: cross_origin_src,
expect_feature_available: expect_feature_available_default,
feature_name: "geolocation",
is_promise_test: true,
});
}, "Permissions-Policy header geolocation=* allows cross-origin iframes.");
</script>
</body>