From ea328ef9d12ed7b3c7261e07eb665b88461868f7 Mon Sep 17 00:00:00 2001 From: jensmohr Date: Tue, 26 May 2026 17:12:55 +0200 Subject: [PATCH] Extract shared binary utility helpers into VG-Core --- manifest.json | 1 + src/background.js | 27 --------------------------- src/core/binary-utils.js | 26 ++++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 src/core/binary-utils.js diff --git a/manifest.json b/manifest.json index 0f6aaf4..a5516a7 100644 --- a/manifest.json +++ b/manifest.json @@ -35,6 +35,7 @@ "src/background/request-fingerprint.js", "src/background/request-observer.js", "src/background/gvl-service.js", + "src/core/binary-utils.js", "src/background.js" ] }, diff --git a/src/background.js b/src/background.js index 3d133a5..171fc21 100644 --- a/src/background.js +++ b/src/background.js @@ -532,33 +532,6 @@ function decodeTcStringCoreMetadata(tcString) { } } -function base64UrlToBits(value) { - const base64 = value - .replace(/-/g, "+") - .replace(/_/g, "/") - .padEnd(Math.ceil(value.length / 4) * 4, "="); - - const binary = atob(base64); - let bits = ""; - - for (let index = 0; index < binary.length; index += 1) { - bits += binary - .charCodeAt(index) - .toString(2) - .padStart(8, "0"); - } - - return bits; -} - -function bitsToInt(bits, start, length) { - return parseInt(bits.slice(start, start + length), 2); -} - -function bitsToBoolean(bits, index) { - return bits[index] === "1"; -} - function bitsToString(bits, start, length) { let result = ""; diff --git a/src/core/binary-utils.js b/src/core/binary-utils.js new file mode 100644 index 0000000..da74189 --- /dev/null +++ b/src/core/binary-utils.js @@ -0,0 +1,26 @@ +function base64UrlToBits(value) { + const base64 = value + .replace(/-/g, "+") + .replace(/_/g, "/") + .padEnd(Math.ceil(value.length / 4) * 4, "="); + + const binary = atob(base64); + let bits = ""; + + for (let index = 0; index < binary.length; index += 1) { + bits += binary + .charCodeAt(index) + .toString(2) + .padStart(8, "0"); + } + + return bits; +} + +function bitsToInt(bits, start, length) { + return parseInt(bits.slice(start, start + length), 2); +} + +function bitsToBoolean(bits, index) { + return bits[index] === "1"; +}