aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJez Ng2012-01-17 23:07:27 +0800
committerJez Ng2012-01-25 23:47:56 -0500
commit3b61e9e40c4b8eb5b6b08b2a6de0522acea56bf2 (patch)
tree4763f72475df5b53e3853c11daef8282ccfda129
parent670af66d2d3537c58a42278318ea18bec4a90cdc (diff)
downloadvimium-3b61e9e40c4b8eb5b6b08b2a6de0522acea56bf2.tar.bz2
Make find queries browser-global and persistent.
Closes issue #285.
-rw-r--r--vimiumFrontend.js12
1 files changed, 11 insertions, 1 deletions
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;