From f889514426e512e5602c71e1b411ae0332a33366 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 24 Dec 2023 03:17:17 -0500 Subject: Update the JShelter extension to 0.17.0. --- .../jsr@javascriptrestrictor/fp_detect_background.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'data/extensions/jsr@javascriptrestrictor/fp_detect_background.js') diff --git a/data/extensions/jsr@javascriptrestrictor/fp_detect_background.js b/data/extensions/jsr@javascriptrestrictor/fp_detect_background.js index 8b3e3bf..a60c2fd 100644 --- a/data/extensions/jsr@javascriptrestrictor/fp_detect_background.js +++ b/data/extensions/jsr@javascriptrestrictor/fp_detect_background.js @@ -110,6 +110,12 @@ var exceptionWrappers = ["CSSStyleDeclaration.prototype.fontFamily"]; */ var availableTabs = {}; +/** + * A global variable shared with level_cache that controls the collection of calling scripts for FPD + * report. + */ +var fpd_track_callers_tab = undefined; + /** * Definition of settings supported by this module. */ @@ -753,6 +759,12 @@ function fpdCommonMessageListener(record, sender) { fpCounterObj["total"] = fpCounterObj["total"] || 0; fpCounterObj["total"] += 1; fpDb.update(record.resource, sender.tab.id, record.type, fpCounterObj["total"]); + + // Track callers + fpCounterObj["callers"] = fpCounterObj["callers"] || {}; + if (record.stack !== undefined) { + fpCounterObj["callers"][record.stack] = true; + } break; case "fpd-state-change": browser.storage.sync.get(["fpDetectionOn"]).then(function(result) { @@ -847,6 +859,14 @@ function fpdCommonMessageListener(record, sender) { } return Promise.resolve(hits); } + case "fpd-track-callers": { + let tabId = Number(record.tabId); + fpd_track_callers_tab = tabId; + return browser.tabs.reload(tabId); + } + case "fpd-track-callers-stop": { + fpd_track_callers_tab = undefined; + } } } } -- cgit v1.2.3