idle-detection-detached-frame.https.html (1136B)
1 <!DOCTYPE html> 2 <body> 3 <script src=/resources/testdriver.js></script> 4 <script src=/resources/testdriver-vendor.js></script> 5 <script src=/resources/testharness.js></script> 6 <script src=/resources/testharnessreport.js></script> 7 8 <script> 9 'use strict'; 10 11 promise_test(async t => { 12 await new Promise((resolve) => { 13 window.addEventListener('load', resolve); 14 }); 15 await test_driver.set_permission({name: 'idle-detection'}, 'granted'); 16 17 const frame = document.body.appendChild(document.createElement('iframe')); 18 const frameIdleDetector = frame.contentWindow.IdleDetector; 19 const frameDOMException = frame.contentWindow.DOMException; 20 21 let detector = new frameIdleDetector(); 22 document.body.outerHTML = ""; 23 24 await promise_rejects_dom(t, 'InvalidStateError', frameDOMException, 25 frameIdleDetector.requestPermission()); 26 27 await promise_rejects_dom(t, 'InvalidStateError', frameDOMException, detector.start()); 28 29 detector = new frameIdleDetector(); 30 await promise_rejects_dom(t, 'InvalidStateError', frameDOMException, detector.start()); 31 }, 'Using an IdleDetector from a detached frame'); 32 33 </script>