From b0e189f6449787fb823e8a58e5d5e74b96acd8f1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jun 2025 22:14:49 -0400 Subject: Update the JShelter extension to 0.21. --- .../jsr@javascriptrestrictor/nscl/service/TabCache.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js') diff --git a/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js b/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js index bac095e..eb290f0 100644 --- a/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js +++ b/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js @@ -1,7 +1,7 @@ /* * NoScript Commons Library * Reusable building blocks for cross-browser security/privacy WebExtensions. - * Copyright (C) 2020-2023 Giorgio Maone + * Copyright (C) 2020-2024 Giorgio Maone * * SPDX-License-Identifier: GPL-3.0-or-later * @@ -20,7 +20,7 @@ var TabCache = (() => { - let cache = new Map(); + const cache = new Map(); browser.tabs.onUpdated.addListener((tabId, changes, tab) => { cache.set(tabId, tab); @@ -30,15 +30,17 @@ var TabCache = (() => { cache.delete(tabId); }); - (async () => { - for (let tab of await browser.tabs.query({})) { - cache.set(tab.id, tab); - } - })(); - return { + wakening: (async () => { + for (let tab of await browser.tabs.query({})) { + cache.set(tab.id, tab); + } + })(), get(tabId) { return cache.get(tabId); + }, + async async(tabId) { + return cache.get(tabId) || await browser.tabs.get(tabId); } }; })(); -- cgit v1.2.3