| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Security-Policy" content="script-src 'nonce-noncynonce' 'nonce-noncy+/=nonce'"> |
| </head> |
| <body> |
| <script nonce="noncynonce"> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var modules = new Set([ |
| 'allow1', |
| 'allow2', |
| 'allow3', |
| ]); |
| |
| var array = []; |
| var count = 0; |
| function ok(num) |
| { |
| // load should be done for module tags before calling the result of import. |
| if (modules.has(`allow${num}`)) |
| error(num); |
| array.push(num); |
| if (array.length === 6) { |
| alert(array.sort().toString()); |
| done("PASS"); |
| } |
| } |
| |
| document.body.addEventListener('load', function (ev) { |
| let id = ev.target.id; |
| if (modules.has(id)) |
| modules.delete(id); |
| else if (id) |
| error(id); |
| }, /* capture */ true); |
| |
| document.body.addEventListener('error', function (ev) { |
| error(ev.target.id); |
| }, /* capture */ true); |
| |
| |
| function error(num) |
| { |
| alert(`FAIL (${num})`); |
| } |
| |
| function done(msg) { |
| document.querySelector("pre").innerHTML = msg; |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| </script> |
| |
| <script type="module" nonce="noncynonce" id="allow1"> |
| import("./resources/import-scriptnonce-allowed1.js"); |
| </script> |
| <script type="module" nonce="noncynonce noncynonce" id="block1"> |
| import("./resources/import-scriptnonce-blocked1.js"); |
| </script> |
| <script type="module" nonce="noncynonce" id="allow2"> |
| import("./resources/import-scriptnonce-allowed2.js"); |
| </script> |
| <script type="module" id="block2"> |
| import("./resources/import-scriptnonce-blocked2.js"); |
| </script> |
| <script type="module" nonce="noncy+/=nonce" id="allow3"> |
| import("./resources/import-scriptnonce-allowed3.js"); |
| </script> |
| <script type="module" nonce="noncynonceno?" id="block3"> |
| import("./resources/import-scriptnonce-blocked3.js"); |
| </script> |
| <script nonce="noncynonce" id="allow4"> |
| import("./resources/import-scriptnonce-allowed4.js"); |
| </script> |
| <script nonce="noncynonce noncynonce" id="block4"> |
| import("./resources/import-scriptnonce-blocked4.js"); |
| </script> |
| <script nonce="noncynonce" id="allow5"> |
| import("./resources/import-scriptnonce-allowed5.js"); |
| </script> |
| <script id="block5"> |
| import("./resources/import-scriptnonce-blocked5.js"); |
| </script> |
| <script nonce="noncy+/=nonce" id="allow6"> |
| import("./resources/import-scriptnonce-allowed6.js"); |
| </script> |
| <script nonce="noncynonceno?" id="block6"> |
| import("./resources/import-scriptnonce-blocked6.js"); |
| </script> |
| <p> |
| This tests the effect of a script-nonce value. |
| </p> |
| <pre></pre> |
| </body> |
| </html> |