diff --git a/src/core/evaluator.js b/src/core/evaluator.js index 7f5ffd9dd..ff6699cf8 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -132,16 +132,15 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { this.pdfFunctionFactory = pdfFunctionFactory; this.fetchBuiltInCMap = (name) => { - var cachedCMap = this.builtInCMapCache[name]; - if (cachedCMap) { - return Promise.resolve(cachedCMap); + if (this.builtInCMapCache.has(name)) { + return Promise.resolve(this.builtInCMapCache.get(name)); } return this.handler.sendWithPromise('FetchBuiltInCMap', { name, }).then((data) => { if (data.compressionType !== CMapCompressionType.NONE) { // Given the size of uncompressed CMaps, only cache compressed ones. - this.builtInCMapCache[name] = data; + this.builtInCMapCache.set(name, data); } return data; }); diff --git a/src/core/obj.js b/src/core/obj.js index 823a8d138..e6af59825 100644 --- a/src/core/obj.js +++ b/src/core/obj.js @@ -38,7 +38,7 @@ var Catalog = (function CatalogClosure() { } this.fontCache = new RefSetCache(); - this.builtInCMapCache = Object.create(null); + this.builtInCMapCache = new Map(); this.pageKidsCountCache = new RefSetCache(); // TODO refactor to move getPage() to the PDFDocument. this.pageFactory = pageFactory; @@ -449,7 +449,7 @@ var Catalog = (function CatalogClosure() { delete font.translated; } this.fontCache.clear(); - this.builtInCMapCache = Object.create(null); + this.builtInCMapCache.clear(); }); },