From bf4aafb452512b1539dcb7875a7fa6f9bf6d697a Mon Sep 17 00:00:00 2001 From: Gerben Date: Tue, 22 Oct 2019 22:52:35 +0100 Subject: [PATCH] Avoid global variable --- app/audio-player/contentscript.js | 7 +------ app/create-bookmarks/contentscript.js | 8 +------- app/scripts/contentscript.js | 11 +++++++++-- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/app/audio-player/contentscript.js b/app/audio-player/contentscript.js index 3bfae09..7e7aeb7 100644 --- a/app/audio-player/contentscript.js +++ b/app/audio-player/contentscript.js @@ -4,7 +4,7 @@ import html from 'nanohtml' import { parseMediaFragmentIdentifier } from '../util/media-fragment-identifier.js'; -async function init() { +export default async function init() { document.body.innerHTML = ''; const mainEl = html` @@ -88,8 +88,3 @@ async function init() { return playlist; } - -init().then(playlist => { - // Store playlist as a shared global variable. - self.playlist = playlist; -}); diff --git a/app/create-bookmarks/contentscript.js b/app/create-bookmarks/contentscript.js index 9b4b1f4..f09b304 100644 --- a/app/create-bookmarks/contentscript.js +++ b/app/create-bookmarks/contentscript.js @@ -27,7 +27,7 @@ function describeMediaFragment({ start, end }) { return selector; } -async function init() { +export default async function init(playlist) { let menuEl; function hideMenu() { @@ -41,10 +41,6 @@ async function init() { const left = event.pageX; const top = event.pageY; - const playlist = self.playlist; - if (!playlist) { - throw new Error('Player has not been initialised.'); - } const trackDuration = playlist.duration; let { start, end } = playlist.getTimeSelection(); if (start === undefined) return; @@ -84,5 +80,3 @@ async function init() { document.addEventListener('click', event => { hideMenu(); }); } - -init(); diff --git a/app/scripts/contentscript.js b/app/scripts/contentscript.js index ccccdce..9535b8b 100644 --- a/app/scripts/contentscript.js +++ b/app/scripts/contentscript.js @@ -1,2 +1,9 @@ -import '../audio-player/contentscript.js' -import '../create-bookmarks/contentscript.js' +import initAudioPlayer from '../audio-player/contentscript.js'; +import initCreateBookmarks from '../create-bookmarks/contentscript.js'; + +async function init() { + const playlist = await initAudioPlayer(); + await initCreateBookmarks(playlist); +} + +init();