aboutsummaryrefslogtreecommitdiff
path: root/ext/js/extension/web-extension.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2024-02-10 23:12:31 -0500
committerGitHub <noreply@github.com>2024-02-11 04:12:31 +0000
commite8079a68acba6077ab621757ac236be4206b0996 (patch)
treeff3987c60130c19a76d6c189b7c11fcc6d2d8fb2 /ext/js/extension/web-extension.js
parent765f1ede668f70e3af7717bf4d5f05dbf009c7f8 (diff)
Move isExtensionUrl into WebExtension (#666)
Diffstat (limited to 'ext/js/extension/web-extension.js')
-rw-r--r--ext/js/extension/web-extension.js16
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);
+ }
}