| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test.js"></script> |
| </head> |
| |
| <body id="body"> |
| <table id="testTable" summary="A summary to make sure this is always exposed as an AXTable"> |
| <tr><td>foo</td></tr> |
| <tr><td>bar</td></tr> |
| </table> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description("This tests that retrieving a cell for a table multiple times doesn't crash."); |
| |
| if (window.testRunner) { |
| if (window.accessibilityController) { |
| document.getElementById("body").focus(); |
| var axBody = accessibilityController.focusedElement; |
| |
| var axTable = axBody.childAtIndex(0); |
| shouldBe("axTable.role", "'AXRole: AXTable'"); |
| |
| // Trying to reference the same cell for the table |
| // multiple times shouldn't result in a crash. |
| for (var i = 0; i < 10; i++) { |
| var axCell = axTable.cellForColumnAndRow(0, 0); |
| shouldBe("axCell.role", "'AXRole: AXCell'"); |
| axCell = null; |
| |
| // We need to force a call to the Garbage Collector here so we are |
| // sure that axCell will get actually destroyed after using it. |
| gc(); |
| } |
| } |
| } |
| </script> |
| </body> |
| </html> |