aboutsummaryrefslogtreecommitdiff
path: root/ext/js/background/backend.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/background/backend.js')
-rw-r--r--ext/js/background/backend.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js
index da720315..41989db3 100644
--- a/ext/js/background/backend.js
+++ b/ext/js/background/backend.js
@@ -314,6 +314,9 @@ export class Backend {
* @param {import('clipboard-monitor').EventArgument<'change'>} details
*/
async _onClipboardTextChange({text}) {
+ // Only update if tab does not exist
+ if (await this._tabExists('/search.html')) { return; }
+
const {
general: {language},
clipboard: {maximumSearchLength}
@@ -1200,6 +1203,16 @@ export class Backend {
}
/**
+ * @param {string} urlParam
+ * @returns {Promise<boolean>}
+ */
+ async _tabExists(urlParam) {
+ const baseUrl = chrome.runtime.getURL(urlParam);
+ const urlPredicate = (/** @type {?string} */ url) => url !== null && url.startsWith(baseUrl);
+ return await this._findSearchPopupTab(urlPredicate) !== null;
+ }
+
+ /**
* @param {string} url
* @param {import('settings').ProfileOptions} options
* @returns {chrome.windows.CreateData}