data-iframe.html (809B)
1 <!DOCTYPE html> 2 <title>Service Workers in data iframes</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="resources/test-helpers.sub.js"></script> 6 <body></body> 7 <script> 8 'use strict'; 9 10 promise_test(t => { 11 const url = encodeURI(`data:text/html,<!DOCTYPE html> 12 <script> 13 parent.postMessage({ isDefined: 'serviceWorker' in navigator }, '*'); 14 </` + `script>`); 15 var p = new Promise((resolve, reject) => { 16 window.addEventListener('message', event => { 17 resolve(event.data.isDefined); 18 }); 19 }); 20 with_iframe(url); 21 return p.then(isDefined => { 22 assert_false(isDefined, 'navigator.serviceWorker should not be defined in iframe'); 23 }); 24 }, 'navigator.serviceWorker is not available in a data: iframe'); 25 </script>