Convert the pendingFindMatches member, in web/pdf_find_controller.js, from an object to a set

We only want to track page numbers instead of actual data, so using a
set conveys that intention more clearly and is slightly more efficient.
This commit is contained in:
Tim van der Meij 2021-04-05 19:30:25 +02:00
parent fc0cd4a443
commit ff393d6e96
No known key found for this signature in database
GPG Key ID: 8C3FD2925A5F2762

View File

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