From 0371bf4e9fe0f1c6e82fb9aa688209a559748ba8 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Wed, 22 May 2024 01:36:38 +0300 Subject: [PATCH] Revoke 1-time object URLs --- public/script.js | 1 + public/scripts/extensions/quick-reply/src/ui/SettingsUi.js | 1 + public/scripts/extensions/tts/edge.js | 1 + public/scripts/extensions/tts/novel.js | 1 + public/scripts/extensions/tts/speecht5.js | 1 + public/scripts/utils.js | 1 + 6 files changed, 6 insertions(+) diff --git a/public/script.js b/public/script.js index 5f810845d..7dbe20253 100644 --- a/public/script.js +++ b/public/script.js @@ -9971,6 +9971,7 @@ jQuery(async function () { a.setAttribute('download', filename); document.body.appendChild(a); a.click(); + URL.revokeObjectURL(a.href); document.body.removeChild(a); } diff --git a/public/scripts/extensions/quick-reply/src/ui/SettingsUi.js b/public/scripts/extensions/quick-reply/src/ui/SettingsUi.js index 9bd04b7a0..48a5d059d 100644 --- a/public/scripts/extensions/quick-reply/src/ui/SettingsUi.js +++ b/public/scripts/extensions/quick-reply/src/ui/SettingsUi.js @@ -357,6 +357,7 @@ export class SettingsUi { a.download = `${this.currentQrSet.name}.json`; a.click(); } + URL.revokeObjectURL(url); } selectQrSet(qrs) { diff --git a/public/scripts/extensions/tts/edge.js b/public/scripts/extensions/tts/edge.js index 4aeb935a8..cff090d0b 100644 --- a/public/scripts/extensions/tts/edge.js +++ b/public/scripts/extensions/tts/edge.js @@ -155,6 +155,7 @@ class EdgeTtsProvider { const url = URL.createObjectURL(audio); this.audioElement.src = url; this.audioElement.play(); + URL.revokeObjectURL(url); } /** diff --git a/public/scripts/extensions/tts/novel.js b/public/scripts/extensions/tts/novel.js index 0f43effe8..bab4f5e5a 100644 --- a/public/scripts/extensions/tts/novel.js +++ b/public/scripts/extensions/tts/novel.js @@ -180,6 +180,7 @@ class NovelTtsProvider { const url = URL.createObjectURL(audio); this.audioElement.src = url; this.audioElement.play(); + URL.revokeObjectURL(url); } async* fetchTtsGeneration(inputText, voiceId) { diff --git a/public/scripts/extensions/tts/speecht5.js b/public/scripts/extensions/tts/speecht5.js index 933074c9b..2ab19518a 100644 --- a/public/scripts/extensions/tts/speecht5.js +++ b/public/scripts/extensions/tts/speecht5.js @@ -60,6 +60,7 @@ class SpeechT5TtsProvider { const url = URL.createObjectURL(audio); this.audioElement.src = url; this.audioElement.play(); + URL.revokeObjectURL(url); } async loadSettings(settings) { diff --git a/public/scripts/utils.js b/public/scripts/utils.js index 63539513a..f3db706e6 100644 --- a/public/scripts/utils.js +++ b/public/scripts/utils.js @@ -139,6 +139,7 @@ export function download(content, fileName, contentType) { a.href = URL.createObjectURL(file); a.download = fileName; a.click(); + URL.revokeObjectURL(a.href); } /**