test_focusedChild.html (2297B)
1 <html> 2 3 <head> 4 <title>nsIAccessible::focusedChild testing</title> 5 6 <link rel="stylesheet" type="text/css" 7 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 8 9 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 10 11 <script type="application/javascript" 12 src="../common.js"></script> 13 <script type="application/javascript" 14 src="../role.js"></script> 15 <script type="application/javascript" 16 src="../states.js"></script> 17 <script type="application/javascript" 18 src="../events.js"></script> 19 20 <script type="application/javascript"> 21 function openWnd() { 22 this.eventSeq = [ new invokerChecker(EVENT_FOCUS, 23 getDialogAccessible, 24 this) ]; 25 26 this.invoke = function openWnd_invoke() { 27 this.dialog = window.browsingContext.topChromeWindow 28 .openDialog("about:mozilla", 29 "AboutMozilla", 30 "chrome,width=600,height=600"); 31 }; 32 33 this.finalCheck = function openWnd_finalCheck() { 34 var app = getApplicationAccessible(); 35 is(app.focusedChild, getDialogAccessible(this), 36 "Wrong focused child"); 37 38 this.dialog.close(); 39 }; 40 41 this.getID = function openWnd_getID() { 42 return "focusedChild for application accessible"; 43 }; 44 45 function getDialogAccessible(aInvoker) { 46 return getAccessible(aInvoker.dialog.document); 47 } 48 } 49 50 gA11yEventDumpToConsole = true; 51 var gQueue = null; 52 53 function doTest() { 54 enableLogging("focus,doclifecycle"); 55 gQueue = new eventQueue(); 56 57 gQueue.push(new openWnd()); 58 59 gQueue.onFinish = function() { disableLogging(); }; 60 gQueue.invoke(); // Will call SimpleTest.finish(); 61 } 62 63 SimpleTest.waitForExplicitFinish(); 64 addA11yLoadEvent(doTest); 65 </script> 66 </head> 67 68 <body> 69 70 <a target="_blank" 71 href="https://bugzilla.mozilla.org/show_bug.cgi?id=677467" 72 title="focusedChild crashes on application accessible"> 73 Mozilla Bug 677467 74 </a> 75 <p id="display"></p> 76 <div id="content" style="display: none"></div> 77 <pre id="test"> 78 </pre> 79 80 </body> 81 </html>