Merge pull request #13184 from timvandermeij/sets
Convert objects to sets in places where we only track keys
This commit is contained in:
commit
336ebd6fa1
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user