[Pkg-javascript-commits] [pdf.js] 174/204: Fix how matches are found in search

David Prévot taffit at moszumanska.debian.org
Sat Oct 25 18:50:48 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit 4275481e085d875c6ee69cb97d530c240359ebbe
Author: Fil Zembowicz <fzembow at onezerocapital.com>
Date:   Wed Oct 1 19:57:57 2014 -0400

    Fix how matches are found in search
    
    Instead of keeping track of where the search starts, just
    keep track of the number of pages and make sure we don't
    visit pages more than once.
---
 web/pdf_find_controller.js | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/web/pdf_find_controller.js b/web/pdf_find_controller.js
index 9de1d04..1f887e9 100644
--- a/web/pdf_find_controller.js
+++ b/web/pdf_find_controller.js
@@ -44,6 +44,7 @@ var PDFFindController = (function PDFFindControllerClosure() {
       pageIdx: null,
       matchIdx: null
     };
+    this.pagesToSearch = null;
     this.resumePageIdx = null;
     this.state = null;
     this.dirtyMatch = false;
@@ -255,6 +256,8 @@ var PDFFindController = (function PDFFindControllerClosure() {
       }
 
       var offset = this.offset;
+      // Keep track of how many pages we should maximally iterate through.
+      this.pagesToSearch = this.pdfViewer.pagesCount;
       // If there's already a matchIdx that means we are iterating through a
       // page's matches.
       if (offset.matchIdx !== null) {
@@ -293,8 +296,8 @@ var PDFFindController = (function PDFFindControllerClosure() {
         this.advanceOffsetPage(previous);
         if (offset.wrapped) {
           offset.matchIdx = null;
-          if (!this.hadMatch) {
-            // No point in wrapping, there were no matches.
+          if (this.pagesToSearch < 0) {
+            // No point in wrapping again, there were no matches.
             this.updateMatch(false);
             // while matches were not found, searching for a page 
             // with matches should nevertheless halt.
@@ -327,11 +330,12 @@ var PDFFindController = (function PDFFindControllerClosure() {
       var numPages = this.extractTextPromises.length;
       offset.pageIdx = (previous ? offset.pageIdx - 1 : offset.pageIdx + 1);
       offset.matchIdx = null;
+
+      this.pagesToSearch--;
       
       if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
         offset.pageIdx = (previous ? numPages - 1 : 0);
         offset.wrapped = true;
-        return;
       }
     },
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list