diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-07-10 13:28:03 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-07-10 13:28:03 +0200 |
commit | e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc (patch) | |
tree | a3e4bc52cb2fdce52d8dbf88a4db41d81017c1b8 /dom/html/test/test_script_module.html | |
parent | 100c6a7e95b8e9624fc43fabc96d88070635d1ef (diff) | |
download | UXP-e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc.tar UXP-e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc.tar.gz UXP-e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc.tar.lz UXP-e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc.tar.xz UXP-e0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc.zip |
Bug 1330900 - Implement <script nomodule>
This patch implements:
- noModule getter/setter for HTMLScriptElement
- the nomodule attribute for HTMLScriptElement
- the logic in nsScriptLoader that denies the loading of a nomodule script
- tests
Tag #618
Diffstat (limited to 'dom/html/test/test_script_module.html')
-rw-r--r-- | dom/html/test/test_script_module.html | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/dom/html/test/test_script_module.html b/dom/html/test/test_script_module.html new file mode 100644 index 000000000..4878bb379 --- /dev/null +++ b/dom/html/test/test_script_module.html @@ -0,0 +1,56 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test for HTMLScriptElement with nomodule attribute</title> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> + +<body> + <script> +onmessage = (e) => { + if ("done" in e.data) { + next(); + } else if ("check" in e.data) { + ok(e.data.check, e.data.msg); + } else { + ok(false, "Unknown message"); + } +} + +var tests = [ + function() { + SpecialPowers.pushPrefEnv({"set":[["dom.moduleScripts.enabled", true]]}) + .then(() => { + var ifr = document.createElement('iframe'); + ifr.src = "file_script_module.html"; + document.body.appendChild(ifr); + }); + }, + + function() { + SpecialPowers.pushPrefEnv({"set":[["dom.moduleScripts.enabled", false]]}) + .then(() => { + var ifr = document.createElement('iframe'); + ifr.src = "file_script_nomodule.html"; + document.body.appendChild(ifr); + }); + }, +]; + +SimpleTest.waitForExplicitFinish(); +next(); + +function next() { + if (!tests.length) { + SimpleTest.finish(); + return; + } + + var test = tests.shift(); + test(); +} + </script> + +</body> +</html> |