| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| let log = []; |
| </script> |
| <script type="importmap"> |
| { |
| "integrity": { |
| "./resources/log.js?pipe=sub&name=NoReferencingScriptValidCheck": "sha384-5eRmXQSBE6H5ENdymdZxcyiIfJL1dxtH8p+hOelZY7Jzk+gt0gYyemrGY0cEaThF" |
| } |
| } |
| </script> |
| <script> |
| let promiseResolve; |
| let promiseReject; |
| let promise = new Promise((resolve, reject) => { |
| promiseResolve = resolve; |
| promiseReject = reject; |
| }); |
| </script> |
| </head> |
| <body> |
| <!-- This is testing the part of |
| https://html.spec.whatwg.org/multipage/webappapis.html#hostloadimportedmodule |
| where step 6's condition is false and referencingScript remains null. |
| Therefore, the onload event must be defined as an HTML attribute, outside of any script tag. |
| --> |
| <img src="/images/green.png?2" |
| onload="import('./resources/log.js?pipe=sub&name=NoReferencingScriptValidCheck').then(promiseResolve).catch(promiseReject)"> |
| <script> |
| promise_test(async () => { |
| await promise; |
| assert_equals(log.length, 1); |
| assert_equals(log[0], "log:NoReferencingScriptValidCheck"); |
| }, "Script was loaded as its valid integrity check passed"); |
| </script> |
| </body> |
| </html> |
| |