idle-permission.tentative.https.window.js (1216B)
1 // META: script=/resources/testdriver.js 2 // META: script=/resources/testdriver-vendor.js 3 'use strict'; 4 5 promise_test(async t => { 6 await test_driver.set_permission({name: 'idle-detection'}, 'denied'); 7 8 let detector = new IdleDetector(); 9 await promise_rejects_dom(t, 'NotAllowedError', detector.start()); 10 }, 'Denying idle-detection permission should block access.'); 11 12 promise_test(async t => { 13 await test_driver.set_permission({name: 'idle-detection'}, 'granted'); 14 15 let detector = new IdleDetector(); 16 await detector.start(); 17 18 assert_true( 19 ['active', 'idle'].includes(detector.userState), 20 'has a valid user state'); 21 assert_true( 22 ['locked', 'unlocked'].includes(detector.screenState), 23 'has a valid screen state'); 24 }, 'Granting idle-detection permission should allow access.'); 25 26 promise_test(async t => { 27 await test_driver.set_permission({name: 'idle-detection'}, 'prompt'); 28 29 await promise_rejects_dom(t, 'NotAllowedError', IdleDetector.requestPermission()); 30 31 await test_driver.bless('request permission'); 32 let state = await IdleDetector.requestPermission(); 33 assert_equals(state, 'prompt'); 34 }, 'The idle-detection permission cannot be requested without a user gesture');