aboutsummaryrefslogtreecommitdiffstats
path: root/tests/html/permission-test.html
blob: fa1c9183f9813ddba58306bd2ed8a76e10c8e5f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
<title>Permission Test</title>
<body>
    <button type="button" onclick="onQueryButtonClick()">query</button>
    <button type="button" onclick="onRequestButtonClick()">request</button>
    <button type="button" onclick="onRevokeButtonClick()">revoke</button>
    <input type="text" id="permissionName" value="geolocation"></input>
    <pre id="log"></pre>
    <script>
    function onQueryButtonClick() {
        let permissionName = document.getElementById('permissionName').value;
        let permissionDescriptor = {name: permissionName};
        window.navigator.permissions.query(permissionDescriptor)
        .then(status => log("permission status of " + permissionName + " is: " + status.state))
        .catch(err => log(err));
    }
    function onRequestButtonClick() {
        let permissionName = document.getElementById('permissionName').value;
        let permissionDescriptor = {name: permissionName};
        window.navigator.permissions.request(permissionDescriptor)
        .then(status => log("permission status of " + permissionName + " is: " + status.state))
        .catch(err => log(err));
    }
    function onRevokeButtonClick() {
        let permissionName = document.getElementById('permissionName').value;
        let permissionDescriptor = {name: permissionName};
        window.navigator.permissions.revoke(permissionDescriptor)
        .then(status => log("permission status of " + permissionName + " is: " + status.state))
        .catch(err => log(err));
    }
    function log(line) {
        document.getElementById("log").textContent += line + '\n';
    }
    </script>
</body>
</html>