summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2020-12-18 11:24:43 -0500
committerGitHub <noreply@github.com>2020-12-18 11:24:43 -0500
commitc728448a4d05268d4febb9950a39d517a75ea052 (patch)
treefc6ef90de9732cf0b0ac35e1d76a1515c8294b4d /ext/bg/js
parentbf349050123eaaa7b58f82b7e3a84e2857fdea8c (diff)
Maximum clipboard search length (#1118)
* Add maximumClipboardSearchLength an option * Add setting * Add limits * Update tests
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/backend.js4
-rw-r--r--ext/bg/js/options.js13
-rw-r--r--ext/bg/js/search.js4
3 files changed, 21 insertions, 0 deletions
diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js
index b731fc6c..fb11ba2e 100644
--- a/ext/bg/js/backend.js
+++ b/ext/bg/js/backend.js
@@ -240,6 +240,10 @@ class Backend {
// Event handlers
async _onClipboardTextChange({text}) {
+ const {general: {maximumClipboardSearchLength}} = this.getOptions({current: true});
+ if (text.length > maximumClipboardSearchLength) {
+ text = text.substring(0, maximumClipboardSearchLength);
+ }
try {
const {tab, created} = await this._getOrCreateSearchPopup();
await this._focusTab(tab);
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index 5fb10516..876079dc 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -481,6 +481,10 @@ class OptionsUtil {
{
async: true,
update: this._updateVersion6.bind(this)
+ },
+ {
+ async: false,
+ update: this._updateVersion7.bind(this)
}
];
}
@@ -654,4 +658,13 @@ class OptionsUtil {
templates = templates.replace(/\bcompactGlossaries=((?:\.*\/)*)compactGlossaries\b/g, (g0, g1) => `${g0} data=${g1}.`);
return templates;
}
+
+ _updateVersion7(options) {
+ // Version 7 changes:
+ // Added general.maximumClipboardSearchLength.
+ for (const profile of options.profiles) {
+ profile.options.general.maximumClipboardSearchLength = 1000;
+ }
+ return options;
+ }
}
diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js
index d99e76e0..85efc7a0 100644
--- a/ext/bg/js/search.js
+++ b/ext/bg/js/search.js
@@ -197,6 +197,10 @@ class DisplaySearch extends Display {
}
_onExternalSearchUpdate({text, animate=true}) {
+ const {general: {maximumClipboardSearchLength}} = this.getOptions();
+ if (text.length > maximumClipboardSearchLength) {
+ text = text.substring(0, maximumClipboardSearchLength);
+ }
this._queryInput.value = text;
this._search(animate, false);
}