gecko/accessible/tests/mochitest/events/test_scroll.xul

204 lines
5.7 KiB
Plaintext
Raw Normal View History

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<!-- Firefox tabbrowser -->
<?xml-stylesheet href="chrome://browser/content/browser.css"
type="text/css"?>
<!-- SeaMonkey tabbrowser -->
<?xml-stylesheet href="chrome://navigator/content/navigator.css"
type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
<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="../events.js" />
<script type="application/javascript"
src="chrome://mochikit/content/chrome-harness.js"/>
<script type="application/javascript">
<![CDATA[
////////////////////////////////////////////////////////////////////////////
2012-01-06 04:03:17 -08:00
// Hacks to make xul:tabbrowser work
const Ci = Components.interfaces;
const CC = Components.classes;
Components.utils.import("resource://gre/modules/Services.jsm");
var handleDroppedLink = null;
var XULBrowserWindow = {
isBusy: false,
setOverLink: function (link, b) {
}
};
var gURLBar = {
focused: false
};
var gFindBarInitialized = false;
2012-01-06 04:03:17 -08:00
function goSetCommandEnabled() {}
////////////////////////////////////////////////////////////////////////////
// Tests
function getTabDocument()
{
return getNode("tabBrowser").selectedBrowser.contentDocument;
}
function getAnchorJumpInTabDocument()
{
return getTabDocument().querySelector("a[name='link1']");
}
function loadTab(aTabBrowserID, aURL)
{
function loadTabChecker()
{
this.type = EVENT_REORDER;
this.match = function loadTabChecker_match(aEvent)
{
var target = aEvent.accessible;
if (target.role == ROLE_INTERNAL_FRAME &&
target.parent.parent == getAccessible(getNode(aTabBrowserID).mTabBox.tabpanels)) {
return true;
}
return false;
}
}
this.eventSeq = [ new loadTabChecker() ];
this.invoke = function loadTab_invoke()
{
getNode(aTabBrowserID).loadURI(aURL);
}
this.getID = function loadTab_getID()
{
return "load tab " + aURL + " for " + prettyName(aTabBrowserID);
}
}
function advanceFocusIntoTab(aTabBrowserID)
{
this.eventSeq = [
new focusChecker(getTabDocument),
new invokerChecker(EVENT_SCROLLING_START, getAnchorJumpInTabDocument)
];
this.invoke = function advanceFocusIntoTab_invoke()
{
var tabDoc = getAccessible(getTabDocument());
tabDoc.takeFocus();
}
this.getID = function advanceFocusIntoTab_getID()
{
return "advance focus into loaded tab";
}
}
//gA11yEventDumpToConsole = true; // debug stuff
var gQueue = null;
function doTest()
{
var rootDir = getRootDirectory(window.location.href);
/*
* When tests are packed in a .jar, we need to extract them so we
* can access the specific url with a file:// protocol which appears
* to be required by loadURI() (at least a file without an embedded .jar)
*/
var jar = getJar(rootDir);
if (jar) {
var tmpdir = extractJarToTmp(jar);
2010-09-30 17:10:19 -07:00
rootDir = "file://" + tmpdir.path + '/';
}
2010-09-30 17:10:19 -07:00
var url = rootDir + "scroll.html#link1";
gQueue = new eventQueue();
gQueue.push(new loadTab("tabBrowser", url));
gQueue.push(new advanceFocusIntoTab("tabBrowser"));
gQueue.invoke(); // Will call SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
]]>
</script>
<hbox flex="1" style="overflow: auto;">
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=437607"
title="Clicking the 'Skip to main content' link once works, second time fails to initiate a V cursor jump">
Mozilla Bug 437607
</a><br/>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=519303"
title="Same page links to targets with content fires scrolling start accessible event on leaf text node">
Mozilla Bug 519303
</a>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=691734"
title="Make sure scrolling start event is fired when document receive focus">
Mozilla Bug 691734
</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<vbox flex="1">
<!-- Hack to make xul:tabbrowser work -->
<menubar>
<menu label="menu">
<menupopup>
<menuitem label="close window hook" id="menu_closeWindow"/>
<menuitem label="close hook" id="menu_close"/>
</menupopup>
</menu>
</menubar>
<keyset>
<key id="key_close"/>
</keyset>
<hbox>
<tabs id="tabbrowser-tabs" class="tabbrowser-tabs"
tabbrowser="tabBrowser"
flex="1">
<tab class="tabbrowser-tab" selected="true" label="tab"/>
</tabs>
</hbox>
<tabbrowser id="tabBrowser"
type="content-primary"
tabcontainer="tabbrowser-tabs"
flex="1"/>
</vbox>
<toolbar id="addon-bar"/>
</hbox>
</window>