Bug 1441535 - Remove unnecessary shadowdom check in isXBLAnonymous;r=bgrins
doc.getAnonymousNodes no longer returns shadow dom nodes, so no need
to filter them out in isXBLAnonymous.
This feature is tested in browser_markup_anonymous_02.js so reenabling
this test.
toolbarbutton has 4 children now, but since our tests are no longer
running in non-e10s, the regression was missed!
MozReview-Commit-ID: BHYb5ufyQjg
--- a/devtools/client/inspector/markup/test/browser.ini
+++ b/devtools/client/inspector/markup/test/browser.ini
@@ -1,13 +1,14 @@
[DEFAULT]
tags = devtools
subsuite = devtools
support-files =
doc_markup_anonymous.html
+ doc_markup_anonymous_xul.xul
doc_markup_dragdrop.html
doc_markup_dragdrop_autoscroll_01.html
doc_markup_dragdrop_autoscroll_02.html
doc_markup_edit.html
doc_markup_events_01.html
doc_markup_events_02.html
doc_markup_events_03.html
doc_markup_events_04.html
@@ -80,17 +81,16 @@ skip-if = os == "mac" # Full keyboard na
[browser_markup_accessibility_navigation.js]
skip-if = os == "mac" # Full keyboard navigation on OSX only works if Full Keyboard Access setting is set to All Control in System Keyboard Preferences
[browser_markup_accessibility_new_selection.js]
[browser_markup_accessibility_navigation_after_edit.js]
skip-if = os == "mac" # Full keyboard navigation on OSX only works if Full Keyboard Access setting is set to All Control in System Keyboard Preferences
[browser_markup_accessibility_semantics.js]
[browser_markup_anonymous_01.js]
[browser_markup_anonymous_02.js]
-skip-if = e10s # index.xul is not loading in e10s window
[browser_markup_anonymous_03.js]
[browser_markup_anonymous_04.js]
[browser_markup_copy_image_data.js]
subsuite = clipboard
skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32 debug devtools for timeouts
[browser_markup_css_completion_style_attribute_01.js]
[browser_markup_css_completion_style_attribute_02.js]
[browser_markup_css_completion_style_attribute_03.js]
--- a/devtools/client/inspector/markup/test/browser_markup_anonymous_02.js
+++ b/devtools/client/inspector/markup/test/browser_markup_anonymous_02.js
@@ -2,26 +2,26 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
requestLongerTimeout(2);
// Test XBL anonymous content in the markupview
-const TEST_URL = "chrome://devtools/content/scratchpad/index.xul";
+const TEST_URL = URL_ROOT + "doc_markup_anonymous_xul.xul";
add_task(async function() {
const {inspector} = await openInspectorForURL(TEST_URL);
const toolbarbutton = await getNodeFront("toolbarbutton", inspector);
const children = await inspector.walker.children(toolbarbutton);
- is(toolbarbutton.numChildren, 3, "Correct number of children");
- is(children.nodes.length, 3, "Children returned from walker");
+ is(toolbarbutton.numChildren, 4, "Correct number of children");
+ is(children.nodes.length, 4, "Children returned from walker");
is(toolbarbutton.isAnonymous, false, "Toolbarbutton is not anonymous");
await isEditingMenuEnabled(toolbarbutton, inspector);
for (const node of children.nodes) {
ok(node.isAnonymous, "Child is anonymous");
ok(node._form.isXBLAnonymous, "Child is XBL anonymous");
ok(!node._form.isShadowAnonymous, "Child is not shadow anonymous");
new file mode 100644
--- /dev/null
+++ b/devtools/client/inspector/markup/test/doc_markup_anonymous_xul.xul
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xul:window xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ title="Test anonymous xul nodes.">
+ <xul:toolbarbutton id="test"></xul:toolbarbutton>
+</xul:window>
+
--- a/devtools/shared/layout/utils.js
+++ b/devtools/shared/layout/utils.js
@@ -552,21 +552,16 @@ exports.isNativeAnonymous = isNativeAnon
*
*/
function isXBLAnonymous(node) {
const parent = getBindingParent(node);
if (!parent) {
return false;
}
- // Shadow nodes also show up in getAnonymousNodes, so return false.
- if (parent.openOrClosedShadowRoot && parent.openOrClosedShadowRoot.contains(node)) {
- return false;
- }
-
const anonNodes = [...node.ownerDocument.getAnonymousNodes(parent) || []];
return anonNodes.indexOf(node) > -1;
}
exports.isXBLAnonymous = isXBLAnonymous;
/**
* Determine whether a node is a child of a shadow root.
* See https://w3c.github.io/webcomponents/spec/shadow/