summaryrefslogtreecommitdiff
path: root/data/extensions/jsr@javascriptrestrictor/helpers.js
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2025-06-18 22:14:49 -0400
committerMark H Weaver <mhw@netris.org>2025-06-23 22:20:16 -0400
commitb0e189f6449787fb823e8a58e5d5e74b96acd8f1 (patch)
tree21e39c6271c4846e0a963faaea6559675b9ec7eb /data/extensions/jsr@javascriptrestrictor/helpers.js
parentb1da0f01591182b43e179451ce2484d0fee88dd8 (diff)
Update the JShelter extension to 0.21.
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/helpers.js')
-rw-r--r--data/extensions/jsr@javascriptrestrictor/helpers.js21
1 files changed, 18 insertions, 3 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/helpers.js b/data/extensions/jsr@javascriptrestrictor/helpers.js
index caf65a9..9e184f2 100644
--- a/data/extensions/jsr@javascriptrestrictor/helpers.js
+++ b/data/extensions/jsr@javascriptrestrictor/helpers.js
@@ -54,7 +54,7 @@ function byteToHex(byte) {
*/
function gen_random32() {
var array = new Uint32Array(1);
- window.crypto.getRandomValues(array);
+ self.crypto.getRandomValues(array);
return array[0];
}
@@ -63,7 +63,7 @@ function gen_random32() {
*/
function gen_random64() {
var array = new Uint32Array(2);
- window.crypto.getRandomValues(array);
+ self.crypto.getRandomValues(array);
return BigInt("" + array[0] + array[1]);
}
@@ -72,7 +72,7 @@ function gen_random64() {
*/
function generateId(len = 32) {
var arr = new Uint8Array(len / 2);
- window.crypto.getRandomValues(arr);
+ self.crypto.getRandomValues(arr);
return Array.from(arr, byteToHex).join("");
}
@@ -286,3 +286,18 @@ function correctSettingsForRemovedPermissions(permissions, settings, definition)
});
});
};
+{
+
+ // hide incompatible UI
+ if (browser.tabs && self.document) {
+ const mv = "executeScript" in browser.tabs ? 2 : 3;
+ document.documentElement.classList.add(`mv${mv}`);
+ let devmode = false;
+ try {
+ devmode = !!browser.userScripts;
+ } catch (e) {
+ }
+ document.documentElement.classList.toggle("devmode", devmode);
+ }
+
+} \ No newline at end of file