Skip to content

Commit ec3e0c3

Browse files
committed
Fixing mouse move 'relative to the previous element' if a new page is loaded. Fixes issue 7637
1 parent 01f54a1 commit ec3e0c3

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

javascript/firefox-driver/js/syntheticMouse.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,22 @@ SyntheticMouse.prototype.move = function(target, xOffset, yOffset) {
117117
element = target;
118118
} else {
119119
if (this.lastElement) {
120-
// move to relative offset
121-
element = this.lastElement;
122-
xOffset = this.lastMousePosition.x + xOffset;
123-
yOffset = this.lastMousePosition.y + yOffset;
124-
} else {
120+
var sameDoc;
121+
try {
122+
goog.dom.getOwnerDocument(this.lastElement);
123+
sameDoc = true;
124+
} catch (ex) {
125+
sameDoc = false;
126+
}
127+
if (sameDoc) {
128+
// move to relative offset
129+
element = this.lastElement;
130+
xOffset = this.lastMousePosition.x + xOffset;
131+
yOffset = this.lastMousePosition.y + yOffset;
132+
}
133+
}
134+
135+
if (!element) {
125136
// no previous element, move relative to viewport
126137
element = Utils.getMainDocumentElement(target);
127138
var bodyPos = goog.style.getClientPosition(element);

0 commit comments

Comments
 (0)