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

Add Permissions Policy reporting tests for Screen Wake Lock.

Based on https://github.com/web-platform-tests/wpt/pull/16323 by
wanming.lin@intel.com.

Change-Id: I9d0c8b29b81c9457d4268c4adae0250609157e8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2445409
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: default avatarIan Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814207}
parent 0bdb4941
<!DOCTYPE html>
<html>
<head>
<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>
</head>
<body>
<script>
promise_test(async (t) => {
const reportPromise = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve(reports),
{types: ["feature-policy-violation"]}).observe();
});
await test_driver.set_permission({name: 'screen-wake-lock'},
'granted', false);
await navigator.wakeLock.request('screen');
const reports = await reportPromise;
assert_equals(reports.length, 1);
const report = reports[0];
assert_equals(report.type, "feature-policy-violation");
assert_equals(report.body.featureId, "screen-wake-lock");
assert_equals(report.body.sourceFile, document.location.href);
assert_equals(typeof report.body.lineNumber, "number");
assert_equals(typeof report.body.columnNumber, "number");
assert_equals(report.body.disposition, "report");
}, "Screen Wake Lock report only mode");
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
</head>
<body>
<script>
promise_test(async (t) => {
const reportPromise = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve(reports),
{types: ["feature-policy-violation"]}).observe();
});
// Even though we do not explicitly allow screen wake lock requests in
// testdriver, per spec Permissions Policy checks should happen earlier.
await promise_rejects_dom(t, 'NotAllowedError', navigator.wakeLock.request("screen"),
"Screen Wake Lock should not be allowed in this document.");
const reports = await reportPromise;
assert_equals(reports.length, 1);
const report = reports[0];
assert_equals(report.type, "feature-policy-violation");
assert_equals(report.url, document.location.href);
assert_equals(report.body.featureId, "screen-wake-lock");
assert_equals(report.body.sourceFile, document.location.href);
assert_equals(typeof report.body.lineNumber, "number");
assert_equals(typeof report.body.columnNumber, "number");
assert_equals(report.body.disposition, "enforce");
}, "Screen Wake Lock Report Format");
</script>
</body>
</html>
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