Bug 1428002 - Enable <script type="module"> in nightly builds r=smaug
authorJon Coppeard <jcoppeard@mozilla.com>
Tue, 09 Jan 2018 11:52:42 +0000
changeset 398530 8e14dd890c5e687d95298577651eb6a30fe3d7ce
parent 398529 6984e56259d8dd3d7260cf70ba4a5fc2b1ce6673
child 398531 9102d234c63da0d7d9e8e59ee703a782c80b9502
push id98767
push userjcoppeard@mozilla.com
push dateWed, 10 Jan 2018 11:02:17 +0000
treeherdermozilla-inbound@8e14dd890c5e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssmaug
bugs1428002
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1428002 - Enable <script type="module"> in nightly builds r=smaug
dom/base/test/jsmodules/mochitest.ini
modules/libpref/init/all.js
testing/web-platform/meta/html/dom/interfaces.html.ini
testing/web-platform/meta/html/dom/reflection-misc.html.ini
--- a/dom/base/test/jsmodules/mochitest.ini
+++ b/dom/base/test/jsmodules/mochitest.ini
@@ -1,5 +1,6 @@
 [DEFAULT]
 support-files =
   module_setRan.js
 
 [test_moduleScriptsNotRun.html]
+skip-if = nightly_build
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5844,17 +5844,21 @@ pref("browser.storageManager.pressureNot
 // a single web page in a row, all following authentication dialogs will
 // be blocked (automatically canceled) for that page. The counter resets
 // when the page is reloaded. To turn this feature off, just set the limit to 0.
 pref("prompts.authentication_dialog_abuse_limit", 3);
 
 pref("dom.IntersectionObserver.enabled", true);
 
 // Whether module scripts (<script type="module">) are enabled for content.
+#ifdef NIGHTLY_BUILD
+pref("dom.moduleScripts.enabled", true);
+#else
 pref("dom.moduleScripts.enabled", false);
+#endif
 
 // Maximum amount of time in milliseconds consecutive setTimeout()/setInterval()
 // callback are allowed to run before yielding the event loop.
 pref("dom.timeout.max_consecutive_callbacks_ms", 4);
 
 // Use this preference to house "Payment Request API" during development
 pref("dom.payments.request.enabled", false);
 pref("dom.payments.loglevel", "Warn");
--- a/testing/web-platform/meta/html/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/html/dom/interfaces.html.ini
@@ -1,10 +1,11 @@
 [interfaces.html]
-  prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true, dom.forms.autocomplete.formautofill:true, dom.webcomponents.enabled:true]
+  prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true, dom.forms.autocomplete.formautofill:true, dom.webcomponents.enabled:true, dom.moduleScripts.enabled:true]
+
   [Document interface: attribute domain]
     expected: FAIL
 
   [Document interface: attribute cookie]
     expected: FAIL
 
   [Document interface: attribute body]
     expected: FAIL
@@ -3175,25 +3176,19 @@
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (95)]
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (126)]
     expected: FAIL
 
-  [HTMLScriptElement interface: attribute noModule]
-    expected: FAIL
-
   [HTMLScriptElement interface: attribute nonce]
     expected: FAIL
 
-  [HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type (2)]
-    expected: FAIL
-
   [HTMLScriptElement interface: document.createElement("script") must inherit property "nonce" with the proper type (8)]
     expected: FAIL
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "forceSpellCheck" with the proper type (15)]
     expected: FAIL
 
   [Element interface: document.createElement("noscript") must inherit property "slot" with the proper type (7)]
     expected: FAIL
@@ -3799,19 +3794,16 @@
     expected: FAIL
 
   [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type]
     expected: FAIL
 
   [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "inputMode" with the proper type]
     expected: FAIL
 
-  [HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type]
-    expected: FAIL
-
   [HTMLScriptElement interface: document.createElement("script") must inherit property "nonce" with the proper type]
     expected: FAIL
 
   [HTMLCanvasElement interface: operation transferControlToOffscreen()]
     expected: FAIL
 
   [HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToOffscreen()" with the proper type]
     expected: FAIL
--- a/testing/web-platform/meta/html/dom/reflection-misc.html.ini
+++ b/testing/web-platform/meta/html/dom/reflection-misc.html.ini
@@ -1,10 +1,11 @@
 [reflection-misc.html]
-  prefs: [dom.dialog_element.enabled: true, dom.webcomponents.enabled:true]
+  prefs: [dom.dialog_element.enabled: true, dom.webcomponents.enabled:true, dom.moduleScripts.enabled:true]
+
   [html.tabIndex: setAttribute() to object "3" followed by getAttribute()]
     expected: FAIL
 
   [html.tabIndex: setAttribute() to object "3" followed by IDL get]
     expected: FAIL
 
   [script.tabIndex: setAttribute() to object "3" followed by getAttribute()]
     expected: FAIL
@@ -694,112 +695,16 @@
     expected: FAIL
 
   [script.nonce: IDL set to object "test-toString"]
     expected: FAIL
 
   [script.nonce: IDL set to object "test-valueOf"]
     expected: FAIL
 
-  [script.noModule: typeof IDL attribute]
-    expected: FAIL
-
-  [script.noModule: IDL get with DOM attribute unset]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to ""]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to " foo "]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to undefined]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to null]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to 7]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to 1.5]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to true]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to false]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to object "[object Object\]"]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to NaN]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to Infinity]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to -Infinity]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to "\\0"]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to object "test-toString"]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to object "test-valueOf"]
-    expected: FAIL
-
-  [script.noModule: setAttribute() to "noModule"]
-    expected: FAIL
-
-  [script.noModule: IDL set to ""]
-    expected: FAIL
-
-  [script.noModule: IDL set to " foo "]
-    expected: FAIL
-
-  [script.noModule: IDL set to undefined]
-    expected: FAIL
-
-  [script.noModule: IDL set to null]
-    expected: FAIL
-
-  [script.noModule: IDL set to 7]
-    expected: FAIL
-
-  [script.noModule: IDL set to 1.5]
-    expected: FAIL
-
-  [script.noModule: IDL set to false]
-    expected: FAIL
-
-  [script.noModule: IDL set to object "[object Object\]"]
-    expected: FAIL
-
-  [script.noModule: IDL set to NaN]
-    expected: FAIL
-
-  [script.noModule: IDL set to Infinity]
-    expected: FAIL
-
-  [script.noModule: IDL set to -Infinity]
-    expected: FAIL
-
-  [script.noModule: IDL set to "\\0"]
-    expected: FAIL
-
-  [script.noModule: IDL set to object "test-toString"]
-    expected: FAIL
-
-  [script.noModule: IDL set to object "test-valueOf"]
-    expected: FAIL
-
   [undefinedelement.inputMode: typeof IDL attribute]
     expected: FAIL
 
   [undefinedelement.inputMode: IDL get with DOM attribute unset]
     expected: FAIL
 
   [undefinedelement.inputMode: setAttribute() to ""]
     expected: FAIL