diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2024-02-10 23:12:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-11 04:12:31 +0000 |
commit | e8079a68acba6077ab621757ac236be4206b0996 (patch) | |
tree | ff3987c60130c19a76d6c189b7c11fcc6d2d8fb2 /ext/js/extension | |
parent | 765f1ede668f70e3af7717bf4d5f05dbf009c7f8 (diff) |
Move isExtensionUrl into WebExtension (#666)
Diffstat (limited to 'ext/js/extension')
-rw-r--r-- | ext/js/extension/web-extension.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ext/js/extension/web-extension.js b/ext/js/extension/web-extension.js index 2aafbe92..bdc9b1b3 100644 --- a/ext/js/extension/web-extension.js +++ b/ext/js/extension/web-extension.js @@ -26,6 +26,13 @@ export class WebExtension extends EventDispatcher { super(); /** @type {boolean} */ this._unloaded = false; + /** @type {?string} */ + this._extensionBaseUrl = null; + try { + this._extensionBaseUrl = this.getUrl('/'); + } catch (e) { + // NOP + } } /** @type {boolean} */ @@ -105,4 +112,13 @@ export class WebExtension extends EventDispatcher { this._unloaded = true; this.trigger('unloaded', {}); } + + /** + * Checks whether or not a URL is an extension URL. + * @param {string} url The URL to check. + * @returns {boolean} `true` if the URL is an extension URL, `false` otherwise. + */ + isExtensionUrl(url) { + return this._extensionBaseUrl !== null && url.startsWith(this._extensionBaseUrl); + } } |