mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 11:15:34 +00:00
058dce8bba
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35895 --HG-- extra : source : e786ed0773342d7c897007bb1be5a101945b894a
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
/**
|
|
* Focus hyperlink invoker.
|
|
*
|
|
* @param aID [in] hyperlink identifier
|
|
* @param aSelectedAfter [in] specifies if hyperlink is selected/focused after
|
|
* the focus
|
|
*/
|
|
function focusLink(aID, aSelectedAfter) {
|
|
this.node = getNode(aID);
|
|
this.accessible = getAccessible(this.node);
|
|
|
|
this.eventSeq = [];
|
|
this.unexpectedEventSeq = [];
|
|
|
|
var checker = new invokerChecker(EVENT_FOCUS, this.accessible);
|
|
if (aSelectedAfter) {
|
|
this.eventSeq.push(checker);
|
|
} else {
|
|
this.unexpectedEventSeq.push(checker);
|
|
}
|
|
|
|
this.invoke = function focusLink_invoke() {
|
|
var expectedStates = aSelectedAfter ? STATE_FOCUSABLE : 0;
|
|
var unexpectedStates =
|
|
(!aSelectedAfter ? STATE_FOCUSABLE : 0) | STATE_FOCUSED;
|
|
testStates(aID, expectedStates, 0, unexpectedStates, 0);
|
|
|
|
this.node.focus();
|
|
};
|
|
|
|
this.finalCheck = function focusLink_finalCheck() {
|
|
var expectedStates = aSelectedAfter ? STATE_FOCUSABLE | STATE_FOCUSED : 0;
|
|
var unexpectedStates = !aSelectedAfter
|
|
? STATE_FOCUSABLE | STATE_FOCUSED
|
|
: 0;
|
|
testStates(aID, expectedStates, 0, unexpectedStates, 0);
|
|
};
|
|
|
|
this.getID = function focusLink_getID() {
|
|
return "focus hyperlink " + prettyName(aID);
|
|
};
|
|
}
|