Bug 1471947, bug 1471948 - Enable Shadow DOM and Custom Elements in release builds, r=ehsan, emilio
authorOlli Pettay <Olli.Pettay@helsinki.fi>
Fri, 17 Aug 2018 03:39:02 +0300
changeset 432047 16daef3a89a23e7805469b25c21cc31f5dade193
parent 432046 86e6704908fde59a926376f6e42161d749e80765
child 432048 dccd5299c5ad9e4258eb7b08201f2f39164a2a54
push id106619
push useropettay@mozilla.com
push dateFri, 17 Aug 2018 00:39:57 +0000
treeherdermozilla-inbound@16daef3a89a2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersehsan, emilio
bugs1471947, 1471948
milestone63.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 1471947, bug 1471948 - Enable Shadow DOM and Custom Elements in release builds, r=ehsan, emilio
dom/tests/mochitest/general/test_interfaces.js
modules/libpref/init/all.js
testing/profiles/unittest/user.js
testing/web-platform/meta/css/css-shadow-parts/all-hosts.html.ini
testing/web-platform/meta/css/css-shadow-parts/complex-matching.html.ini
testing/web-platform/meta/css/css-shadow-parts/inner-host.html.ini
testing/web-platform/meta/css/css-shadow-parts/invalidation-change-part-name.html.ini
testing/web-platform/meta/css/css-shadow-parts/invalidation-complex-selector.html.ini
testing/web-platform/meta/css/css-shadow-parts/simple.html.ini
testing/web-platform/meta/css/css-transforms/transform-origin-in-shadow.html.ini
testing/web-platform/meta/css/cssom/getComputedStyle-detached-subtree.html.ini
testing/web-platform/meta/dom/interfaces.html.ini
testing/web-platform/meta/dom/nodes/rootNode.html.ini
testing/web-platform/meta/fullscreen/idlharness.window.js.ini
testing/web-platform/meta/fullscreen/interfaces.html.ini
testing/web-platform/meta/html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html.ini
testing/web-platform/meta/html/semantics/document-metadata/the-link-element/link-rel-attribute.html.ini
testing/web-platform/meta/pointerlock/interfaces.window.js.ini
--- a/dom/tests/mochitest/general/test_interfaces.js
+++ b/dom/tests/mochitest/general/test_interfaces.js
@@ -513,17 +513,17 @@ var interfaceNamesInGlobalScope =
     {name: "HTMLProgressElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLQuoteElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLScriptElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLSelectElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
-    {name: "HTMLSlotElement", insecureContext: true, disabled: true},
+    {name: "HTMLSlotElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLSourceElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLSpanElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLStyleElement", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "HTMLTableCaptionElement", insecureContext: true},
@@ -867,17 +867,17 @@ var interfaceNamesInGlobalScope =
     {name: "ServiceWorkerContainer", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "ServiceWorkerRegistration", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "ScopedCredential", insecureContext: true, disabled: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "ScopedCredentialInfo", insecureContext: true, disabled: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
-    {name: "ShadowRoot", insecureContext: true, disabled: true},
+    {name: "ShadowRoot", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "SharedWorker", insecureContext: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "SimpleGestureEvent", insecureContext: true, xbl: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "SimpleTest", insecureContext: true, xbl: false},
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "SourceBuffer", insecureContext: true},
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1374,23 +1374,18 @@ pref("dom.event.highrestimestamp.enabled
 pref("dom.event.coalesce_mouse_move",       true);
 
 #if defined(NIGHTLY_BUILD) && !defined(ANDROID)
 pref("dom.ua_widget.enabled", false);
 #else
 pref("dom.ua_widget.enabled", false);
 #endif
 
-#ifdef NIGHTLY_BUILD
 pref("dom.webcomponents.shadowdom.enabled", true);
 pref("dom.webcomponents.customelements.enabled", true);
-#else
-pref("dom.webcomponents.shadowdom.enabled", false);
-pref("dom.webcomponents.customelements.enabled", false);
-#endif
 
 pref("javascript.enabled",                  true);
 pref("javascript.options.strict",           false);
 #ifdef DEBUG
 pref("javascript.options.strict.debug",     false);
 #endif
 pref("javascript.options.baselinejit",      true);
 pref("javascript.options.ion",              true);
--- a/testing/profiles/unittest/user.js
+++ b/testing/profiles/unittest/user.js
@@ -113,17 +113,17 @@ user_pref("dom.successive_dialog_time_li
 // domains whitelisted for remote XUL, so that intranet apps and such continue
 // to work without major rewrites. However, we also use the whitelist mechanism
 // to run our XBL tests in automation, in which case we really want to be testing
 // the configuration that we ship to users without special whitelisting. So we
 // use an additional pref here to allow automation to use the "normal" behavior.
 user_pref("dom.use_xbl_scopes_for_remote_xul", true);
 user_pref("dom.w3c_touch_events.enabled", 1);
 user_pref("dom.webcomponents.customelements.enabled", true);
-user_pref("dom.webcomponents.shadowdom.enabled", false);
+user_pref("dom.webcomponents.shadowdom.enabled", true);
 user_pref("extensions.autoDisableScopes", 0);
 user_pref("extensions.blocklist.detailsURL", "http://{server}/extensions-dummy/blocklistDetailsURL");
 user_pref("extensions.blocklist.itemURL", "http://{server}/extensions-dummy/blocklistItemURL");
 user_pref("extensions.blocklist.url", "http://{server}/extensions-dummy/blocklistURL");
 // XPI extensions are required for test harnesses to load
 user_pref("extensions.defaultProviders.enabled", true);
 // Enable form autofill feature testing.
 user_pref("extensions.formautofill.available", "on");
--- a/testing/web-platform/meta/css/css-shadow-parts/all-hosts.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/all-hosts.html.ini
@@ -1,4 +1,6 @@
 [all-hosts.html]
-  [CSS Shadow Parts - All Hosts]
+  [::part with host selector styles in first host]
     expected: FAIL
 
+  [::part with host selector styles in second host]
+    expected: FAIL
--- a/testing/web-platform/meta/css/css-shadow-parts/complex-matching.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/complex-matching.html.ini
@@ -1,4 +1,4 @@
 [complex-matching.html]
-  [CSS Shadow Parts - Complex Matching]
+  [Complex selector for host works]
     expected: FAIL
 
--- a/testing/web-platform/meta/css/css-shadow-parts/inner-host.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/inner-host.html.ini
@@ -1,4 +1,4 @@
 [inner-host.html]
-  [CSS Shadow Parts - Inner Host]
+  [Part in outer host is styled by document style sheet]
     expected: FAIL
 
--- a/testing/web-platform/meta/css/css-shadow-parts/invalidation-change-part-name.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/invalidation-change-part-name.html.ini
@@ -1,4 +1,4 @@
 [invalidation-change-part-name.html]
-  [CSS Shadow Parts - Invalidation Change Part Name]
+  [Part in selected host changed color]
     expected: FAIL
 
--- a/testing/web-platform/meta/css/css-shadow-parts/invalidation-complex-selector.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/invalidation-complex-selector.html.ini
@@ -1,4 +1,4 @@
 [invalidation-complex-selector.html]
-  [CSS Shadow Parts - Invalidation Complex Selector]
+  [Part in selected host changed color]
     expected: FAIL
 
--- a/testing/web-platform/meta/css/css-shadow-parts/simple.html.ini
+++ b/testing/web-platform/meta/css/css-shadow-parts/simple.html.ini
@@ -1,4 +1,4 @@
 [simple.html]
-  [CSS Shadow Parts - Simple]
+  [Part in selected host is styled]
     expected: FAIL
 
deleted file mode 100644
--- a/testing/web-platform/meta/css/css-transforms/transform-origin-in-shadow.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[transform-origin-in-shadow.html]
-  expected: ERROR
-  ['transform-origin' on <svg> being direct descendant of shadow root]
-    expected: FAIL
-
--- a/testing/web-platform/meta/css/cssom/getComputedStyle-detached-subtree.html.ini
+++ b/testing/web-platform/meta/css/cssom/getComputedStyle-detached-subtree.html.ini
@@ -1,8 +1,15 @@
 [getComputedStyle-detached-subtree.html]
-  expected: ERROR
   [getComputedStyle returns no style for detached element]
     expected: FAIL
 
   [getComputedStyle returns no style for element in non-rendered iframe (display: none)]
     expected: FAIL
 
+  [getComputedStyle returns no style for element outside the flat tree]
+    expected: FAIL
+
+  [getComputedStyle returns no style for descendant outside the flat tree]
+    expected: FAIL
+
+  [getComputedStyle returns no style for shadow tree outside of flattened tree]
+    expected: FAIL
--- a/testing/web-platform/meta/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/dom/interfaces.html.ini
@@ -132,73 +132,16 @@
     expected: FAIL
 
   [Document interface: new Document() must inherit property "origin" with the proper type]
     expected: FAIL
 
   [Document interface: xmlDoc must inherit property "origin" with the proper type]
     expected: FAIL
 
-  [ShadowRoot interface: existence and properties of interface object]
-    expected: FAIL
-
-  [ShadowRoot interface object length]
-    expected: FAIL
-
-  [ShadowRoot interface object name]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object's @@unscopables property]
-    expected: FAIL
-
-  [ShadowRoot interface: attribute mode]
-    expected: FAIL
-
-  [ShadowRoot interface: attribute host]
-    expected: FAIL
-
-  [Element interface: attribute slot]
-    expected: FAIL
-
-  [Element interface: operation attachShadow(ShadowRootInit)]
-    expected: FAIL
-
-  [Element interface: attribute shadowRoot]
-    expected: FAIL
-
-  [Element interface: attribute assignedSlot]
-    expected: FAIL
-
-  [Element interface: element must inherit property "slot" with the proper type]
-    expected: FAIL
-
-  [Element interface: element must inherit property "attachShadow(ShadowRootInit)" with the proper type]
-    expected: FAIL
-
-  [Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [Element interface: element must inherit property "shadowRoot" with the proper type]
-    expected: FAIL
-
-  [Element interface: element must inherit property "assignedSlot" with the proper type]
-    expected: FAIL
-
-  [Text interface: attribute assignedSlot]
-    expected: FAIL
-
-  [Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type]
-    expected: FAIL
-
   [AbstractRange interface: existence and properties of interface object]
     expected: FAIL
 
   [AbstractRange interface object length]
     expected: FAIL
 
   [AbstractRange interface object name]
     expected: FAIL
@@ -271,73 +214,16 @@
     expected: FAIL
 
   [Document interface: new Document() must inherit property "origin" with the proper type]
     expected: FAIL
 
   [Document interface: xmlDoc must inherit property "origin" with the proper type]
     expected: FAIL
 
-  [ShadowRoot interface: existence and properties of interface object]
-    expected: FAIL
-
-  [ShadowRoot interface object length]
-    expected: FAIL
-
-  [ShadowRoot interface object name]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [ShadowRoot interface: existence and properties of interface prototype object's @@unscopables property]
-    expected: FAIL
-
-  [ShadowRoot interface: attribute mode]
-    expected: FAIL
-
-  [ShadowRoot interface: attribute host]
-    expected: FAIL
-
-  [Element interface: attribute slot]
-    expected: FAIL
-
-  [Element interface: operation attachShadow(ShadowRootInit)]
-    expected: FAIL
-
-  [Element interface: attribute shadowRoot]
-    expected: FAIL
-
-  [Element interface: attribute assignedSlot]
-    expected: FAIL
-
-  [Element interface: element must inherit property "slot" with the proper type]
-    expected: FAIL
-
-  [Element interface: element must inherit property "attachShadow(ShadowRootInit)" with the proper type]
-    expected: FAIL
-
-  [Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [Element interface: element must inherit property "shadowRoot" with the proper type]
-    expected: FAIL
-
-  [Element interface: element must inherit property "assignedSlot" with the proper type]
-    expected: FAIL
-
-  [Text interface: attribute assignedSlot]
-    expected: FAIL
-
-  [Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type]
-    expected: FAIL
-
   [AbstractRange interface: existence and properties of interface object]
     expected: FAIL
 
   [AbstractRange interface object length]
     expected: FAIL
 
   [AbstractRange interface object name]
     expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/dom/nodes/rootNode.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[rootNode.html]
-  [getRootNode() must return context object's shadow-including root if options's composed is true, and context object's root otherwise]
-    expected: FAIL
-
--- a/testing/web-platform/meta/fullscreen/idlharness.window.js.ini
+++ b/testing/web-platform/meta/fullscreen/idlharness.window.js.ini
@@ -3,19 +3,16 @@
     expected: FAIL
 
   [Document interface: operation exitFullscreen()]
     expected: FAIL
 
   [Element interface: document.createElementNS(null, "test") must inherit property "onfullscreenerror" with the proper type]
     expected: FAIL
 
-  [ShadowRoot interface: attribute fullscreenElement]
-    expected: FAIL
-
   [Element interface: attribute onfullscreenerror]
     expected: FAIL
 
   [Element interface: document.createElementNS(null, "test") must inherit property "onfullscreenchange" with the proper type]
     expected: FAIL
 
   [Element interface: attribute onfullscreenchange]
     expected: FAIL
--- a/testing/web-platform/meta/fullscreen/interfaces.html.ini
+++ b/testing/web-platform/meta/fullscreen/interfaces.html.ini
@@ -1,15 +1,12 @@
 [interfaces.html]
   [Document interface: operation exitFullscreen()]
     expected: FAIL
 
-  [ShadowRoot interface: attribute fullscreenElement]
-    expected: FAIL
-
   [Element interface: operation requestFullscreen()]
     expected: FAIL
 
   [Element interface: attribute onfullscreenchange]
     expected: FAIL
 
   [Element interface: attribute onfullscreenerror]
     expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[contentEditable-slotted-inherit.html]
-  [Slotted child of contenteditable host should be editable - slot direct child of shadow root]
-    expected: FAIL
-
-  [Slotted child of contenteditable host should be editable - slot wrapped in shadow tree ancestor]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/html/semantics/document-metadata/the-link-element/link-rel-attribute.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[link-rel-attribute.html]
-  [Untitled]
-    expected: FAIL
-
-  [Removing stylesheet from link rel attribute should remove the stylesheet for shadow DOM]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/pointerlock/interfaces.window.js.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[interfaces.window.html]
-  [ShadowRoot interface: attribute pointerLockElement]
-    expected: FAIL
-