From 3c798ae36d1181a57de59f03bcf10d3bf7fc9577 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 21 Nov 2021 12:27:29 -0500 Subject: [PATCH] Refactor isExtensionUrl (#2015) * Update isExtensionUrl to work even if the extension is unloaded * Simplify --- ext/js/yomichan.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ext/js/yomichan.js b/ext/js/yomichan.js index c65e2f7d..33e84df1 100644 --- a/ext/js/yomichan.js +++ b/ext/js/yomichan.js @@ -49,12 +49,17 @@ class Yomichan extends EventDispatcher { constructor() { super(); - this._extensionName = 'Yomichan'; try { const manifest = chrome.runtime.getManifest(); this._extensionName = `${manifest.name} v${manifest.version}`; } catch (e) { - // NOP + this._extensionName = 'Yomichan'; + } + + try { + this._extensionUrlBase = chrome.runtime.getURL('/'); + } catch (e) { + this._extensionUrlBase = null; } this._isBackground = null; @@ -148,11 +153,7 @@ class Yomichan extends EventDispatcher { * @returns true if the URL is an extension URL, false otherwise. */ isExtensionUrl(url) { - try { - return url.startsWith(chrome.runtime.getURL('/')); - } catch (e) { - return false; - } + return this._extensionUrlBase !== null && url.startsWith(this._extensionUrlBase); } /**