Merge pull request #13184 from timvandermeij/sets

Convert objects to sets in places where we only track keys
This commit is contained in:
Tim van der Meij 2021-04-07 20:34:49 +02:00 committed by GitHub
commit 336ebd6fa1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

View File

@ -1944,18 +1944,18 @@ var XRef = (function XRefClosure() {
// Keep track of already parsed XRef tables, to prevent an infinite loop
// when parsing corrupt PDF files where e.g. the /Prev entries create a
// circular dependency between tables (fixes bug1393476.pdf).
const startXRefParsedCache = Object.create(null);
const startXRefParsedCache = new Set();
try {
while (this.startXRefQueue.length) {
var startXRef = this.startXRefQueue[0];
if (startXRefParsedCache[startXRef]) {
if (startXRefParsedCache.has(startXRef)) {
warn("readXRef - skipping XRef table since it was already parsed.");
this.startXRefQueue.shift();
continue;
}
startXRefParsedCache[startXRef] = true;
startXRefParsedCache.add(startXRef);
stream.pos = startXRef + stream.start;

View File

@ -249,7 +249,7 @@ class PDFFindController {
this._pageDiffs = [];
this._matchesCountTotal = 0;
this._pagesToSearch = null;
this._pendingFindMatches = Object.create(null);
this._pendingFindMatches = new Set();
this._resumePageIdx = null;
this._dirtyMatch = false;
clearTimeout(this._findTimeout);
@ -600,12 +600,12 @@ class PDFFindController {
for (let i = 0; i < numPages; i++) {
// Start finding the matches as soon as the text is extracted.
if (this._pendingFindMatches[i] === true) {
if (this._pendingFindMatches.has(i)) {
continue;
}
this._pendingFindMatches[i] = true;
this._pendingFindMatches.add(i);
this._extractTextPromises[i].then(pageIdx => {
delete this._pendingFindMatches[pageIdx];
this._pendingFindMatches.delete(pageIdx);
this._calculateMatch(pageIdx);
});
}