1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/mutationobserver_dialog.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,62 @@ 1.4 +<html> 1.5 + <head> 1.6 + <title></title> 1.7 + <script> 1.8 + 1.9 + var div = document.createElement("div"); 1.10 + 1.11 + var M; 1.12 + if ("MozMutationObserver" in window) { 1.13 + M = window.MozMutationObserver; 1.14 + } else if ("WebKitMutationObserver" in window) { 1.15 + M = window.WebKitMutationObserver; 1.16 + } else { 1.17 + M = window.MutationObserver; 1.18 + } 1.19 + 1.20 + var didCall1 = false; 1.21 + var didCall2 = false; 1.22 + function testMutationObserverInDialog() { 1.23 + div.innerHTML = "<span>1</span><span>2</span>"; 1.24 + m = new M(function(records, observer) { 1.25 + opener.is(records[0].type, "childList", "Should have got childList"); 1.26 + opener.is(records[0].removedNodes.length, 2, "Should have got removedNodes"); 1.27 + opener.is(records[0].addedNodes.length, 1, "Should have got addedNodes"); 1.28 + observer.disconnect(); 1.29 + m = null; 1.30 + didCall1 = true; 1.31 + }); 1.32 + m.observe(div, { childList: true }); 1.33 + div.innerHTML = "<span><span>foo</span></span>"; 1.34 + } 1.35 + 1.36 + function testMutationObserverInDialog2() { 1.37 + div.innerHTML = "<span>1</span><span>2</span>"; 1.38 + m = new M(function(records, observer) { 1.39 + opener.is(records[0].type, "childList", "Should have got childList"); 1.40 + opener.is(records[0].removedNodes.length, 2, "Should have got removedNodes"); 1.41 + opener.is(records[0].addedNodes.length, 1, "Should have got addedNodes"); 1.42 + observer.disconnect(); 1.43 + m = null; 1.44 + didCall2 = true; 1.45 + }); 1.46 + m.observe(div, { childList: true }); 1.47 + div.innerHTML = "<span><span>foo</span></span>"; 1.48 + } 1.49 + 1.50 + window.addEventListener("load", testMutationObserverInDialog); 1.51 + window.addEventListener("load", testMutationObserverInDialog2); 1.52 + window.addEventListener("load", 1.53 + function() { 1.54 + opener.ok(didCall1, "Should have called 1st mutation callback"); 1.55 + opener.ok(didCall2, "Should have called 2nd mutation callback"); 1.56 + window.close(); 1.57 + }); 1.58 + </script> 1.59 + <style> 1.60 + </style> 1.61 + </head> 1.62 + <body> 1.63 + <input type="button" onclick="window.close()" value="close"> 1.64 + </body> 1.65 +</html>