blob: c5aac0537bd5712e30e40a021683a6f3549b00ea [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<div id="div1"></div>
<div id="div2"></div>
<script>
description('This tests ensures that an event listener on an attribute node inside a shadow DOM is properly unregistered when parent element of the attribute is moved to a new document.');
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
var shadowRoot = div2.createShadowRoot();
// Register an event listener on an attribute node.
div1.attributes[0].addEventListener('touchstart', function() { });
if (window.internals)
shouldBe('window.internals.touchStartOrMoveEventHandlerCount(document)', '1');
// Move the parent element into a shadow DOM.
shadowRoot.appendChild(div1);
// Move the shadow host into a new document.
var doc = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html');
doc.adoptNode(div2);
// Make sure the handler was unregistered.
if (window.internals)
shouldBe('window.internals.touchStartOrMoveEventHandlerCount(document)', '0');
</script>