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
75 lines
2.4 KiB
HTML
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>
|