mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-20 15:18:08 +02:00
Stop scrolling the document when "Highlight All" is toggled in the findbar (issue 5561)
This is consistent with the general, e.g. HTML, search functionality of the Firefox browser.
This commit is contained in:
parent
2194aef03e
commit
de6b0fd12d
1 changed files with 15 additions and 1 deletions
|
@ -117,7 +117,9 @@ class PDFFindController {
|
|||
this._dirtyMatch = true;
|
||||
}
|
||||
this._state = state;
|
||||
this._updateUIState(FindState.PENDING);
|
||||
if (cmd !== 'findhighlightallchange') {
|
||||
this._updateUIState(FindState.PENDING);
|
||||
}
|
||||
|
||||
this._firstPageCapability.promise.then(() => {
|
||||
// If the document was closed before searching began, or if the search
|
||||
|
@ -129,6 +131,7 @@ class PDFFindController {
|
|||
this._extractText();
|
||||
|
||||
const findbarClosed = !this._highlightMatches;
|
||||
const pendingTimeout = !!this._findTimeout;
|
||||
|
||||
if (this._findTimeout) {
|
||||
clearTimeout(this._findTimeout);
|
||||
|
@ -153,6 +156,15 @@ class PDFFindController {
|
|||
if (findbarClosed && this._state.highlightAll) {
|
||||
this._updateAllPages();
|
||||
}
|
||||
} else if (cmd === 'findhighlightallchange') {
|
||||
// If there was a pending search operation, synchronously trigger a new
|
||||
// search *first* to ensure that the correct matches are highlighted.
|
||||
if (pendingTimeout) {
|
||||
this._nextMatch();
|
||||
} else {
|
||||
this._highlightMatches = true;
|
||||
}
|
||||
this._updateAllPages(); // Update the highlighting on all active pages.
|
||||
} else {
|
||||
this._nextMatch();
|
||||
}
|
||||
|
@ -217,6 +229,8 @@ class PDFFindController {
|
|||
break;
|
||||
}
|
||||
return false;
|
||||
case 'findhighlightallchange':
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue