test_bug1472427.html (2662B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1472427 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1472427</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <script src="/tests/SimpleTest/EventUtils.js"></script> 11 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 12 <script type="application/javascript"> 13 14 /** Test for Bug 1472427 */ 15 16 SimpleTest.waitForExplicitFinish(); 17 var image100x100 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAnUlEQVR42u3RAQ0AAAQAMLJqqCA1zP4Kz+qe4IwUIgQhQhAiBCFCECJEiBCECEGIEIQIQYgQhCBECEKEIEQIQoQgBCFCECIEIUIQIgQhCBGCECEIEYIQIQhBiBCECEGIEIQIQQhChCBECEKEIEQIQhAiBCFCECIEIUIQghAhCBGCECEIEYIQhAhBiBCECEGIEIQIESIEIUIQIgQh3y1XQhXMIlaKKwAAAABJRU5ErkJggg=="; 18 var ifr; 19 var doc; 20 var img; 21 var host; 22 var root; 23 var map; 24 var area; 25 26 function initPage() { 27 ifr = document.createElement("iframe"); 28 ifr.src = "about:blank"; 29 ifr.onload = initIframe; 30 document.body.appendChild(ifr); 31 } 32 33 function initIframe() { 34 ifr.contentWindow.focus(); 35 doc = ifr.contentDocument; 36 host = doc.createElement("div"); 37 doc.body.appendChild(host); 38 root = host.attachShadow({mode: "open"}); 39 40 img = document.createElement("img"); 41 img.useMap = "#map" 42 img.src = image100x100; 43 img.onload = runTest; 44 root.appendChild(img); 45 46 map = doc.createElement("map"); 47 map.name = "map"; 48 root.appendChild(map); 49 50 area = doc.createElement("area"); 51 area.shape = "rect"; 52 area.href = "#area"; 53 area.coords = "0,0,100,100"; 54 map.appendChild(area); 55 } 56 57 function runTest() { 58 var gotClick = false; 59 var expectedTarget = area; 60 root.addEventListener("click", 61 function(e) { 62 gotClick = true; 63 is(e.target, expectedTarget, 64 expectedTarget.localName + " element should be the target for the click."); 65 e.preventDefault(); 66 }); 67 synthesizeMouse(img, 50, 50, {}, ifr.contentWindow); 68 ok(gotClick, "Should have got a click event."); 69 70 gotclick = false; 71 map.name = "wrongNameMap"; 72 expectedTarget = img; 73 synthesizeMouse(img, 50, 50, {}, ifr.contentWindow); 74 ok(gotClick, "Should have got a click event."); 75 SimpleTest.finish(); 76 } 77 78 </script> 79 </head> 80 <body onload="initPage()"> 81 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1472427">Mozilla Bug 1472427</a> 82 <p id="display"></p> 83 <div id="content" style="display: none"> 84 85 </div> 86 <pre id="test"> 87 </pre> 88 </body> 89 </html>