Re-factor the LoopbackPort
class to use *proper* private fields
This commit is contained in:
parent
7404091787
commit
499610779e
@ -1853,34 +1853,33 @@ class PDFPageProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class LoopbackPort {
|
class LoopbackPort {
|
||||||
constructor() {
|
#listeners = [];
|
||||||
this._listeners = [];
|
|
||||||
this._deferred = Promise.resolve();
|
#deferred = Promise.resolve();
|
||||||
}
|
|
||||||
|
|
||||||
postMessage(obj, transfers) {
|
postMessage(obj, transfers) {
|
||||||
const event = {
|
const event = {
|
||||||
data: structuredClone(obj, transfers),
|
data: structuredClone(obj, transfers),
|
||||||
};
|
};
|
||||||
|
|
||||||
this._deferred.then(() => {
|
this.#deferred.then(() => {
|
||||||
for (const listener of this._listeners) {
|
for (const listener of this.#listeners) {
|
||||||
listener.call(this, event);
|
listener.call(this, event);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
addEventListener(name, listener) {
|
addEventListener(name, listener) {
|
||||||
this._listeners.push(listener);
|
this.#listeners.push(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
removeEventListener(name, listener) {
|
removeEventListener(name, listener) {
|
||||||
const i = this._listeners.indexOf(listener);
|
const i = this.#listeners.indexOf(listener);
|
||||||
this._listeners.splice(i, 1);
|
this.#listeners.splice(i, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
terminate() {
|
terminate() {
|
||||||
this._listeners.length = 0;
|
this.#listeners.length = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user