Merge pull request #12999 from Snuffleupagus/LoopbackPort-rm-sync
[api-minor] Remove support for synchronous event dispatching in `LoopbackPort`
This commit is contained in:
commit
77862bdb8e
@ -1624,9 +1624,8 @@ class PDFPageProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class LoopbackPort {
|
class LoopbackPort {
|
||||||
constructor(defer = true) {
|
constructor() {
|
||||||
this._listeners = [];
|
this._listeners = [];
|
||||||
this._defer = defer;
|
|
||||||
this._deferred = Promise.resolve(undefined);
|
this._deferred = Promise.resolve(undefined);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1670,7 +1669,7 @@ class LoopbackPort {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (typeof desc.value === "function") {
|
if (typeof desc.value === "function") {
|
||||||
if (value.hasOwnProperty && value.hasOwnProperty(i)) {
|
if (value.hasOwnProperty?.(i)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`LoopbackPort.postMessage - cannot clone: ${value[i]}`
|
`LoopbackPort.postMessage - cannot clone: ${value[i]}`
|
||||||
);
|
);
|
||||||
@ -1682,19 +1681,13 @@ class LoopbackPort {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._defer) {
|
|
||||||
this._listeners.forEach(listener => {
|
|
||||||
listener.call(this, { data: obj });
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const cloned = new WeakMap();
|
const cloned = new WeakMap();
|
||||||
const e = { data: cloneValue(obj) };
|
const event = { data: cloneValue(obj) };
|
||||||
|
|
||||||
this._deferred.then(() => {
|
this._deferred.then(() => {
|
||||||
this._listeners.forEach(listener => {
|
for (const listener of this._listeners) {
|
||||||
listener.call(this, e);
|
listener.call(this, event);
|
||||||
});
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user