Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
type="text/css"?>
<script type="application/javascript"
src="../common.js" />
<script type="application/javascript"
src="../role.js" />
<script type="application/javascript"
src="../states.js" />
<script type="application/javascript"
src="../promisified-events.js" />
<script type="application/javascript"
src="../browser.js"></script>
<script type="application/javascript">
<![CDATA[
////////////////////////////////////////////////////////////////////////////
// Tests
function getAnchorJumpInTabDocument(aTabIdx) {
const tabDoc = aTabIdx ? tabDocumentAt(aTabIdx) : currentTabDocument();
return tabDoc.querySelector("h1[id='heading_1']");
}
//gA11yEventDumpToConsole = true; // debug stuff
async function doTest() {
let docLoadPromise = waitForEvent(
EVENT_DOCUMENT_LOAD_COMPLETE,
e => e.DOMNode == currentTabDocument()
);
let caretMovePromise = waitForEvent(
EVENT_TEXT_CARET_MOVED,
e => {
let caretEvent = e.QueryInterface(Ci.nsIAccessibleCaretMoveEvent);
return caretEvent.caretOffset === 0 &&
e.accessible === getAccessible(getAnchorJumpInTabDocument());
}
);
tabBrowser().loadURI(Services.io.newURI(url), {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
});
await docLoadPromise;
await caretMovePromise;
closeBrowserWindow();
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
openBrowserWindow(doTest);
]]>
</script>
<vbox flex="1" style="overflow: auto;">
<a target="_blank"
title="Make sure caret move event is fired when document receive focus">
Mozilla Bug 1056459
</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<vbox id="eventdump"></vbox>
</vbox>
</window>