From 4e4fa49b0b1fd6ec5a018e742eb9910aa32e7637 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 28 May 2022 21:55:37 -0400 Subject: Audio request errors (#2161) * Generalize _onBeforeSendHeadersAddListener * Simplify filter assignment * Use requestId rather than done * Properly support Firefox addListener without arguments * Add details to fetchAnonymous errors * Refactor * Enable support for no header modifications * Update MV3 support for error details * Expose errors in downloadTermAudio * Throw an error if audio download fails due to potential permissions reasons --- ext/js/media/audio-downloader.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'ext/js/media') diff --git a/ext/js/media/audio-downloader.js b/ext/js/media/audio-downloader.js index c2e1742f..0991d14d 100644 --- a/ext/js/media/audio-downloader.js +++ b/ext/js/media/audio-downloader.js @@ -51,6 +51,7 @@ class AudioDownloader { } async downloadTermAudio(sources, preferredAudioIndex, term, reading) { + const errors = []; for (const source of sources) { let infoList = await this.getTermAudioInfoList(source, term, reading); if (typeof preferredAudioIndex === 'number') { @@ -62,14 +63,16 @@ class AudioDownloader { try { return await this._downloadAudioFromUrl(info.url, source.type); } catch (e) { - // NOP + errors.push(e); } break; } } } - throw new Error('Could not download audio'); + const error = new Error('Could not download audio'); + error.data = {errors}; + throw error; } // Private -- cgit v1.2.3