Bug 1270387 - Disable Node.rootNode in release builds due to web compatibility issues. r?smaug
MozReview-Commit-ID: Gc2XGuFAYlD
--- 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]