Remove createEvent() fallbacks
We can now rely on proper constructors for our events.
This commit is contained in:
+3
-15
@@ -1,17 +1,5 @@
|
||||
import Base64 from '../core/base64.js';
|
||||
|
||||
// PhantomJS can't create Event objects directly, so we need to use this
|
||||
function makeEvent(name, props) {
|
||||
const evt = document.createEvent('Event');
|
||||
evt.initEvent(name, true, true);
|
||||
if (props) {
|
||||
for (let prop in props) {
|
||||
evt[prop] = props[prop];
|
||||
}
|
||||
}
|
||||
return evt;
|
||||
}
|
||||
|
||||
export default class FakeWebSocket {
|
||||
constructor(uri, protocols) {
|
||||
this.url = uri;
|
||||
@@ -35,7 +23,7 @@ export default class FakeWebSocket {
|
||||
close(code, reason) {
|
||||
this.readyState = FakeWebSocket.CLOSED;
|
||||
if (this.onclose) {
|
||||
this.onclose(makeEvent("close", { 'code': code, 'reason': reason, 'wasClean': true }));
|
||||
this.onclose(new CloseEvent("close", { 'code': code, 'reason': reason, 'wasClean': true }));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +46,7 @@ export default class FakeWebSocket {
|
||||
_open() {
|
||||
this.readyState = FakeWebSocket.OPEN;
|
||||
if (this.onopen) {
|
||||
this.onopen(makeEvent('open'));
|
||||
this.onopen(new Event('open'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +55,7 @@ export default class FakeWebSocket {
|
||||
// neatly packaged
|
||||
for (let i = 0;i < data.length;i++) {
|
||||
let buf = data.subarray(i, i+1);
|
||||
this.onmessage(makeEvent("message", { 'data': buf }));
|
||||
this.onmessage(new MessageEvent("message", { 'data': buf }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+20
-55
@@ -2506,23 +2506,11 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
||||
let pos = elementToClient(x, y);
|
||||
let ev;
|
||||
|
||||
try {
|
||||
ev = new MouseEvent('mousemove',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y });
|
||||
} catch (e) {
|
||||
ev = document.createEvent('MouseEvent');
|
||||
ev.initMouseEvent('mousemove',
|
||||
true, true, window, 0,
|
||||
pos.x + window.screenX,
|
||||
pos.y + window.screenY,
|
||||
pos.x, pos.y,
|
||||
false, false, false, false,
|
||||
0, null);
|
||||
}
|
||||
|
||||
ev = new MouseEvent('mousemove',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y });
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
@@ -2530,25 +2518,13 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
||||
let pos = elementToClient(x, y);
|
||||
let ev;
|
||||
|
||||
try {
|
||||
ev = new MouseEvent(down ? 'mousedown' : 'mouseup',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y,
|
||||
'button': button,
|
||||
'buttons': 1 << button });
|
||||
} catch (e) {
|
||||
ev = document.createEvent('MouseEvent');
|
||||
ev.initMouseEvent(down ? 'mousedown' : 'mouseup',
|
||||
true, true, window, 0,
|
||||
pos.x + window.screenX,
|
||||
pos.y + window.screenY,
|
||||
pos.x, pos.y,
|
||||
false, false, false, false,
|
||||
button, null);
|
||||
}
|
||||
|
||||
ev = new MouseEvent(down ? 'mousedown' : 'mouseup',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y,
|
||||
'button': button,
|
||||
'buttons': 1 << button });
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
@@ -2783,25 +2759,14 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
||||
let pos = elementToClient(x, y);
|
||||
let ev;
|
||||
|
||||
try {
|
||||
ev = new WheelEvent('wheel',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y,
|
||||
'deltaX': dx,
|
||||
'deltaY': dy,
|
||||
'deltaMode': mode });
|
||||
} catch (e) {
|
||||
ev = document.createEvent('WheelEvent');
|
||||
ev.initWheelEvent('wheel', true, true, window, 0,
|
||||
pos.x + window.screenX,
|
||||
pos.y + window.screenY,
|
||||
pos.x, pos.y,
|
||||
0, null, "",
|
||||
dx, dy, 0, mode);
|
||||
}
|
||||
|
||||
ev = new WheelEvent('wheel',
|
||||
{ 'screenX': pos.x + window.screenX,
|
||||
'screenY': pos.y + window.screenY,
|
||||
'clientX': pos.x,
|
||||
'clientY': pos.y,
|
||||
'deltaX': dx,
|
||||
'deltaY': dy,
|
||||
'deltaMode': mode });
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user