Skip to content

Commit

Permalink
Part 6: Screen Wake Lock testing.
Browse files Browse the repository at this point in the history
Depends on D189512

Differential Revision: https://phabricator.services.mozilla.com/D189513

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1589554
gecko-commit: 4c6403ab4174f6800c4ed7de2969702a9fb15e21
gecko-reviewers: webdriver-reviewers, webidl, dom-core, saschanaz, whimboo, edgar
  • Loading branch information
vinhill authored and moz-wptsync-bot committed Dec 6, 2023
1 parent 746807e commit 0a71823
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@
"use strict";

Promise.resolve().then(async () => {
try {
await test_driver.set_permission(
{ name: 'screen-wake-lock' }, 'granted');
test_driver.set_test_context(window.parent);
await test_driver.set_permission({ name: 'screen-wake-lock' }, 'granted');

try {
const wakeLock = await navigator.wakeLock.request("screen");
await wakeLock.release();
window.parent.postMessage({ type: 'availability-result', enabled: true }, "*");
await wakeLock.release();
} catch (e) {
window.parent.postMessage({ type: 'availability-result', enabled: false }, "*");
if (e instanceof DOMException && e.name === "NotAllowedError") {
window.parent.postMessage({ type: 'availability-result', enabled: false }, "*");
} else {
throw e;
}
}
});
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/permissions-policy/resources/permissions-policy.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/permissions-policy/resources/permissions-policy.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/permissions-policy/resources/permissions-policy.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script>
Expand Down
17 changes: 16 additions & 1 deletion screen-wake-lock/wakelock-onrelease.https.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,20 @@
assert_true(releaseFired, "The 'release' event fires immediately after release() is called");

return releasePromise;
}, "Ensure onreleased is called before WakeLockSentinel.release() resolves");
}, "Ensure onrelease is called before WakeLockSentinel.release() resolves");

promise_test(async t => {
await test_driver.set_permission({ name: 'screen-wake-lock' }, 'granted');

const lock = await navigator.wakeLock.request("screen");

let eventCount = 0;
lock.onrelease = t.step_func(() => {
eventCount++;
});

await lock.release();
await lock.release();
assert_equals(eventCount, 1, "The 'release' event was fired once");
}, "Ensure onrelease is fired exactly once");
</script>

0 comments on commit 0a71823

Please sign in to comment.