Browse Source

Merge pull request #8522 from yurydelendik/weakmapfix

Fixes WeakMap polyfill (and improves PDFWorker port check).
Yury Delendik 8 years ago committed by GitHub
parent
commit
82f3145a5d
  1. 2
      src/display/api.js
  2. 8
      src/shared/compatibility.js

2
src/display/api.js

@ -1232,7 +1232,7 @@ var PDFWorker = (function PDFWorkerClosure() { @@ -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');
}

8
src/shared/compatibility.js

@ -1176,10 +1176,14 @@ PDFJS.compatibilityChecked = true; @@ -1176,10 +1176,14 @@ PDFJS.compatibilityChecked = true;
}
WeakMap.prototype = {
has(obj) {
if ((typeof obj !== 'object' && typeof obj !== 'function') ||
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, {

Loading…
Cancel
Save