From 3b61e9e40c4b8eb5b6b08b2a6de0522acea56bf2 Mon Sep 17 00:00:00 2001 From: Jez Ng Date: Tue, 17 Jan 2012 23:07:27 +0800 Subject: Make find queries browser-global and persistent. Closes issue #285. --- vimiumFrontend.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vimiumFrontend.js b/vimiumFrontend.js index 0446c376..d56aca09 100644 --- a/vimiumFrontend.js +++ b/vimiumFrontend.js @@ -45,7 +45,7 @@ var settings = { values: {}, loadedValues: 0, valuesToLoad: ["scrollStepSize", "linkHintCharacters", "filterLinkHints", "previousPatterns", "nextPatterns", - "findQuery"], + "findModeRawQuery"], init: function () { this.port = chrome.extension.connect({ name: "settings" }); @@ -683,6 +683,7 @@ function handleDeleteForFindMode() { function handleEnterForFindMode() { exitFindMode(); + settings.set("findModeRawQuery", findModeQuery.rawQuery); performFindInPlace(); } @@ -727,6 +728,15 @@ function focusFoundLink() { } function findAndFocus(backwards) { + // check if the query has been changed by a script in another frame + var mostRecentQuery = settings.get("findModeRawQuery"); + if (mostRecentQuery !== findModeQuery.rawQuery) { + findModeQuery.rawQuery = mostRecentQuery; + updateFindModeQuery(); + performFindInPlace(); + return; + } + if (!findModeQueryHasResults) return; -- cgit v1.2.3