From 37c466b441baf6e9c78f37e13a631395353a1e0c Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Mon, 11 May 2009 16:08:11 +1000 Subject: [PATCH] Fix search.highlight to prevent rehighlighting on n/N. --- common/content/find.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/common/content/find.js b/common/content/find.js index e93425b8..aff6beb0 100644 --- a/common/content/find.js +++ b/common/content/find.js @@ -137,7 +137,9 @@ function Search() //{{{ * Graeme McCutcheon */ var highlightObj = { + spans: [], + search: function (aWord, matchCase) { var finder = services.create("find"); @@ -163,7 +165,7 @@ function Search() //{{{ if (!aWord) { let elems = highlightObj.getSpans(doc); - for (let i = elems.snapshotLength; --i >= 0;) + for (let i = elems.length; --i >= 0;) { let elem = elems.snapshotItem(i); let docfrag = doc.createDocumentFragment(); @@ -250,6 +252,7 @@ function Search() //{{{ }) this.spans = [] }, + getSpans: function (doc) this.spans }; @@ -461,9 +464,9 @@ function Search() //{{{ if (typeof forcedBackward === "boolean") backwards = forcedBackward; - //Allow / to work. - if ((!command) || command == lastSearchPattern) - return this.findAgain(backwards != lastSearchBackwards) + // Allow / to work. + if (!command) + command = lastSearchPattern; this.clear(); @@ -507,7 +510,7 @@ function Search() //{{{ return; // already highlighted? - if (highlightObj.getSpans(content.document).snapshotLength > 0) + if (highlightObj.getSpans(content.document).length > 0) return; if (!str)