зеркало из https://github.com/mozilla/gecko-dev.git
63 строки
2.0 KiB
HTML
63 строки
2.0 KiB
HTML
<html>
|
|
<head>
|
|
<title></title>
|
|
<script>
|
|
|
|
var div = document.createElement("div");
|
|
|
|
var M;
|
|
if ("MozMutationObserver" in window) {
|
|
M = window.MozMutationObserver;
|
|
} else if ("WebKitMutationObserver" in window) {
|
|
M = window.WebKitMutationObserver;
|
|
} else {
|
|
M = window.MutationObserver;
|
|
}
|
|
|
|
var didCall1 = false;
|
|
var didCall2 = false;
|
|
function testMutationObserverInDialog() {
|
|
div.innerHTML = "<span>1</span><span>2</span>";
|
|
m = new M(function(records, observer) {
|
|
opener.is(records[0].type, "childList", "Should have got childList");
|
|
opener.is(records[0].removedNodes.length, 2, "Should have got removedNodes");
|
|
opener.is(records[0].addedNodes.length, 1, "Should have got addedNodes");
|
|
observer.disconnect();
|
|
m = null;
|
|
didCall1 = true;
|
|
});
|
|
m.observe(div, { childList: true });
|
|
div.innerHTML = "<span><span>foo</span></span>";
|
|
}
|
|
|
|
function testMutationObserverInDialog2() {
|
|
div.innerHTML = "<span>1</span><span>2</span>";
|
|
m = new M(function(records, observer) {
|
|
opener.is(records[0].type, "childList", "Should have got childList");
|
|
opener.is(records[0].removedNodes.length, 2, "Should have got removedNodes");
|
|
opener.is(records[0].addedNodes.length, 1, "Should have got addedNodes");
|
|
observer.disconnect();
|
|
m = null;
|
|
didCall2 = true;
|
|
});
|
|
m.observe(div, { childList: true });
|
|
div.innerHTML = "<span><span>foo</span></span>";
|
|
}
|
|
|
|
window.addEventListener("load", testMutationObserverInDialog);
|
|
window.addEventListener("load", testMutationObserverInDialog2);
|
|
window.addEventListener("load",
|
|
function() {
|
|
opener.ok(didCall1, "Should have called 1st mutation callback");
|
|
opener.ok(didCall2, "Should have called 2nd mutation callback");
|
|
window.close();
|
|
});
|
|
</script>
|
|
<style>
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<input type="button" onclick="window.close()" value="close">
|
|
</body>
|
|
</html>
|