mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 981363 - Wait or cursor to be cleared in tests. Some cleanup and improvements. r=yzen
This commit is contained in:
parent
4bd819c27e
commit
5290341ec1
@ -139,8 +139,11 @@ this.ContentControl.prototype = {
|
||||
},
|
||||
|
||||
handleClearCursor: function cc_handleClearCursor(aMessage) {
|
||||
this.sendToChild(this.vc, aMessage);
|
||||
let forwarded = this.sendToChild(this.vc, aMessage);
|
||||
this.vc.position = null;
|
||||
if (!forwarded) {
|
||||
this._contentScope.get().sendAsyncMessage('AccessFu:CursorCleared');
|
||||
}
|
||||
},
|
||||
|
||||
handleAutoMove: function cc_handleAutoMove(aMessage) {
|
||||
@ -175,7 +178,7 @@ this.ContentControl.prototype = {
|
||||
// (via ARIA roles, etc.), so we need to generate a click.
|
||||
// Could possibly be made simpler in the future. Maybe core
|
||||
// engine could expose nsCoreUtiles::DispatchMouseEvent()?
|
||||
let docAcc = Utils.AccRetrieval.getAccessibleFor(content.document);
|
||||
let docAcc = Utils.AccRetrieval.getAccessibleFor(this.document);
|
||||
let docX = {}, docY = {}, docW = {}, docH = {};
|
||||
docAcc.getBounds(docX, docY, docW, docH);
|
||||
|
||||
@ -188,8 +191,8 @@ this.ContentControl.prototype = {
|
||||
let node = aAccessible.DOMNode || aAccessible.parent.DOMNode;
|
||||
|
||||
for (let eventType of ['mousedown', 'mouseup']) {
|
||||
let evt = content.document.createEvent('MouseEvents');
|
||||
evt.initMouseEvent(eventType, true, true, content,
|
||||
let evt = this.document.createEvent('MouseEvents');
|
||||
evt.initMouseEvent(eventType, true, true, this.window,
|
||||
x, y, 0, 0, 0, false, false, false, false, 0, null);
|
||||
node.dispatchEvent(evt);
|
||||
}
|
||||
|
@ -209,6 +209,7 @@ AccessFuContentTest.prototype = {
|
||||
}
|
||||
|
||||
aMessageManager.addMessageListener('AccessFu:Present', this);
|
||||
aMessageManager.addMessageListener('AccessFu:CursorCleared', this);
|
||||
aMessageManager.addMessageListener('AccessFu:Ready', function () {
|
||||
aMessageManager.addMessageListener('AccessFu:ContentStarted', aCallback);
|
||||
aMessageManager.sendAsyncMessage('AccessFu:Start',
|
||||
@ -249,11 +250,20 @@ AccessFuContentTest.prototype = {
|
||||
}
|
||||
|
||||
var expected = this.currentPair[1] || {};
|
||||
|
||||
// |expected| can simply be a name of a message, no more further testing.
|
||||
if (aMessage.name === expected) {
|
||||
ok(true, 'Received ' + expected);
|
||||
this.pump();
|
||||
return;
|
||||
}
|
||||
|
||||
var speech = this.extractUtterance(aMessage.json);
|
||||
var android = this.extractAndroid(aMessage.json, expected.android);
|
||||
if ((speech && expected.speak) || (android && expected.android)) {
|
||||
if (expected.speak) {
|
||||
(SimpleTest[expected.speak_checkFunc] || is)(speech, expected.speak);
|
||||
(SimpleTest[expected.speak_checkFunc] || is)(speech, expected.speak,
|
||||
'"' + speech + '" spoken');
|
||||
}
|
||||
|
||||
if (expected.android) {
|
||||
|
@ -96,7 +96,7 @@
|
||||
speak_checkFunc: 'todo_is'
|
||||
}],
|
||||
|
||||
[ContentMessages.clearCursor, null], // Reset cursors
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// Moving to the absolute first item from an embedded document
|
||||
// fails. Bug 972035.
|
||||
@ -115,7 +115,7 @@
|
||||
}],
|
||||
|
||||
// Reset cursors
|
||||
[ContentMessages.clearCursor, null],
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// Move cursor with focus in outside document
|
||||
[ContentMessages.simpleMoveNext, {
|
||||
@ -127,7 +127,7 @@
|
||||
|
||||
// Blur button and reset cursor
|
||||
[ContentMessages.focusSelector('button#home', true), null],
|
||||
[ContentMessages.clearCursor, null],
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// Set focus on element outside of embedded frame while
|
||||
// cursor is in frame
|
||||
@ -143,7 +143,7 @@
|
||||
|
||||
// Blur button and reset cursor
|
||||
[ContentMessages.focusSelector('button#home', true), null],
|
||||
[ContentMessages.clearCursor, null],
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// XXX: Set focus on iframe itself.
|
||||
// XXX: Set focus on element in iframe when cursor is outside of it.
|
||||
@ -163,7 +163,7 @@
|
||||
speak: 'wow heading level 1 such app'
|
||||
}],
|
||||
|
||||
[ContentMessages.clearCursor, null],
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// Open dialog in outer doc, while cursor is in inner frame
|
||||
[ContentMessages.simpleMoveNext, {
|
||||
@ -181,7 +181,7 @@
|
||||
speak: 'many option not checked check button such app'
|
||||
}],
|
||||
|
||||
[ContentMessages.clearCursor, null],
|
||||
[ContentMessages.clearCursor, 'AccessFu:CursorCleared'],
|
||||
|
||||
// Open dialog, then focus on something when closing
|
||||
[ContentMessages.simpleMoveNext, {
|
||||
|
Loading…
Reference in New Issue
Block a user