Remove createEvent() fallbacks
We can now rely on proper constructors for our events.
This commit is contained in:
parent
27496941a0
commit
6a4c411976
|
@ -25,7 +25,6 @@ import DES from "./des.js";
|
|||
import KeyTable from "./input/keysym.js";
|
||||
import XtScancode from "./input/xtscancodes.js";
|
||||
import { encodings } from "./encodings.js";
|
||||
import "./util/polyfill.js";
|
||||
|
||||
import RawDecoder from "./decoders/raw.js";
|
||||
import CopyRectDecoder from "./decoders/copyrect.js";
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
/*
|
||||
* noVNC: HTML5 VNC client
|
||||
* Copyright (C) 2020 The noVNC Authors
|
||||
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
|
||||
*/
|
||||
|
||||
/* Polyfills to provide new APIs in old browsers */
|
||||
|
||||
/* CustomEvent constructor (taken from MDN) */
|
||||
(() => {
|
||||
function CustomEvent(event, params) {
|
||||
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
||||
const evt = document.createEvent( 'CustomEvent' );
|
||||
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
|
||||
return evt;
|
||||
}
|
||||
|
||||
CustomEvent.prototype = window.Event.prototype;
|
||||
|
||||
if (typeof window.CustomEvent !== "function") {
|
||||
window.CustomEvent = CustomEvent;
|
||||
}
|
||||
})();
|
|
@ -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 }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
|
@ -2530,7 +2518,6 @@ 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,
|
||||
|
@ -2538,17 +2525,6 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
'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);
|
||||
}
|
||||
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
|
@ -2783,7 +2759,6 @@ 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,
|
||||
|
@ -2792,16 +2767,6 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
'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);
|
||||
}
|
||||
|
||||
client._canvas.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue