Bug 1270387 - Disable Node.rootNode in release builds due to web compatibility issues. r?smaug draft
authorJocelyn Liu <joliu@mozilla.com>
Thu, 05 May 2016 14:21:22 +0800
changeset 363621 474cd0016bb4291a8a05d5a988c9c54cb4df9ac5
parent 363286 369a5ee3a2880a4a98df3a00bf3db8d8f36b181b
child 520093 8321f0ea4477d88fbcfef1245cf40d6eef8715b1
push id17263
push userbmo:joliu@mozilla.com
push dateThu, 05 May 2016 06:23:03 +0000
reviewerssmaug
bugs1270387
milestone49.0a1
Bug 1270387 - Disable Node.rootNode in release builds due to web compatibility issues. r?smaug MozReview-Commit-ID: Gc2XGuFAYlD
dom/webidl/Node.webidl
modules/libpref/init/all.js
testing/web-platform/meta/dom/interfaces.html.ini
testing/web-platform/meta/dom/nodes/rootNode.html.ini
--- a/dom/webidl/Node.webidl
+++ b/dom/webidl/Node.webidl
@@ -31,17 +31,17 @@ interface Node : EventTarget {
   [Pure]
   readonly attribute DOMString nodeName;
 
   [Pure]
   readonly attribute DOMString? baseURI;
 
   [Pure]
   readonly attribute Document? ownerDocument;
-  [Pure]
+  [Pure, Pref="dom.node.rootNode.enabled"]
   readonly attribute Node rootNode;
   [Pure]
   readonly attribute Node? parentNode;
   [Pure]
   readonly attribute Element? parentElement;
   [Pure]
   boolean hasChildNodes();
   [SameObject]
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5325,8 +5325,15 @@ pref("dom.input.fallbackUploadDir", "");
 // Turn rewriting of youtube embeds on/off
 pref("plugins.rewrite_youtube_embeds", true);
 
 // Disable browser frames by default
 pref("dom.mozBrowserFramesEnabled", false);
 
 // Is support for 'color-adjust' CSS property enabled?
 pref("layout.css.color-adjust.enabled", true);
+
+// Disable Node.rootNode in release builds.
+#ifdef RELEASE_BUILD
+pref("dom.node.rootNode.enabled", false);
+#else
+pref("dom.node.rootNode.enabled", true);
+#endif
--- a/testing/web-platform/meta/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/dom/interfaces.html.ini
@@ -1,10 +1,11 @@
 [interfaces.html]
   type: testharness
+  prefs: [dom.node.rootNode.enabled:true]
   [MutationObserver interface: operation observe(Node,MutationObserverInit)]
     expected: FAIL
 
   [Document interface: attribute origin]
     expected: FAIL
 
   [Document interface: operation query(DOMString)]
     expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/dom/nodes/rootNode.html.ini
@@ -0,0 +1,3 @@
+[rootNode.html]
+  type: testharness
+  prefs: [dom.node.rootNode.enabled:true]