diff --git a/src/display/api.js b/src/display/api.js index 729b6276487f26..e7757ddbb87b8b 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1232,7 +1232,7 @@ var PDFWorker = (function PDFWorkerClosure() { let pdfWorkerPorts = new WeakMap(); function PDFWorker(name, port) { - if (pdfWorkerPorts.has(port)) { + if (port && pdfWorkerPorts.has(port)) { throw new Error('Cannot use more than one PDFWorker per port'); } diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index 0af66a21e727dc..1eaae5c9ca841e 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -1176,10 +1176,13 @@ PDFJS.compatibilityChecked = true; } WeakMap.prototype = { has(obj) { + if (typeof obj !== 'object' || obj === null) { + return false; + } return !!Object.getOwnPropertyDescriptor(obj, this.id); }, - get(obj, defaultValue) { - return this.has(obj) ? obj[this.id] : defaultValue; + get(obj) { + return this.has(obj) ? obj[this.id] : undefined; }, set(obj, value) { Object.defineProperty(obj, this.id, {