xhtml vs. html: MutationObserver handler skips added nodes in xhtml but not in html
Categories
(Core :: DOM: Core & HTML, defect, P3)
Tracking
()
People
(Reporter: gauthierarun, Unassigned)
Details
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:75.0) Gecko/20100101 Firefox/75.0
Steps to reproduce:
Compare the output of the following code in an .html file with the output of an .xhtml file:
<html
xmlns="http://www.w3.org/1999/xhtml">
<body>
<script>
var count = 0
var global_mutation_observer = new MutationObserver(function(mutation_record){
for (let mutation of mutation_record){
for (let node of mutation.addedNodes){
console.log("added node " + (count++) + ": " + node.nodeName + ", " + node.id)
}
}
})
global_mutation_observer.observe(document, {childList: true, subtree: true, attributes: true})
</script>
<x-custom_element>
<p id = "local_p">abc</p>
<div id="local_div">def</div>
</x-custom_element>
<div>
<p id = "local_p2">abc</p>
<div id="local_div2">def</div>
</div>
</body>
</html>
Actual results:
The outputs of both files are different. Xhtml is behaving badly: it skips many nodes in the MutationObserver handler.
Output of .xhtml:
added node 0: #text, undefined random_test3.xhtml:9:21
added node 1: script, random_test3.xhtml:9:21
added node 2: #text, undefined random_test3.xhtml:9:21
added node 3: x-custom_element, random_test3.xhtml:9:21
added node 4: #text, undefined random_test3.xhtml:9:21
added node 5: div, random_test3.xhtml:9:21
added node 6: #text, undefined random_test3.xhtml:9:21
added node 7: #text, undefined random_test3.xhtml:9:21
Expected results:
What should've happened is getting the same output as .html:
added node 0: #text, undefined random_test3.html:9:21
added node 1: X-CUSTOM_ELEMENT, random_test3.html:9:21
added node 2: #text, undefined random_test3.html:9:21
added node 3: P, local_p random_test3.html:9:21
added node 4: #text, undefined random_test3.html:9:21
added node 5: #text, undefined random_test3.html:9:21
added node 6: DIV, local_div random_test3.html:9:21
added node 7: #text, undefined random_test3.html:9:21
added node 8: #text, undefined random_test3.html:9:21
added node 9: #text, undefined random_test3.html:9:21
added node 10: DIV, random_test3.html:9:21
added node 11: #text, undefined random_test3.html:9:21
added node 12: P, local_p2 random_test3.html:9:21
added node 13: #text, undefined random_test3.html:9:21
added node 14: #text, undefined random_test3.html:9:21
added node 15: DIV, local_div2 random_test3.html:9:21
added node 16: #text, undefined random_test3.html:9:21
added node 17: #text, undefined random_test3.html:9:21
added node 18: #text, undefined random_test3.html:9:21
Updated•5 years ago
|
Updated•5 years ago
|
Comment 1•4 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is P3
(Backlog,) indicating it has been triaged, the bug's Severity is being updated to S3
(normal.)
Description
•