Add isExtensionUrl utility function to yomichan object

This commit is contained in:
toasted-nutbread 2020-04-11 15:17:25 -04:00
parent 82f8397000
commit 3c48290cd8
2 changed files with 10 additions and 10 deletions

View File

@ -539,19 +539,10 @@ class Popup {
};
}
static _isOnExtensionPage() {
try {
const url = chrome.runtime.getURL('/');
return window.location.href.substring(0, url.length) === url;
} catch (e) {
// NOP
}
}
static async _injectStylesheet(id, type, value, useWebExtensionApi) {
const injectedStylesheets = Popup._injectedStylesheets;
if (Popup._isOnExtensionPage()) {
if (yomichan.isExtensionUrl(window.location.href)) {
// Permissions error will occur if trying to use the WebExtension API to inject
// into an extension page.
useWebExtensionApi = false;

View File

@ -316,6 +316,15 @@ const yomichan = (() => {
this.trigger('orphaned', {error});
}
isExtensionUrl(url) {
try {
const urlBase = chrome.runtime.getURL('/');
return url.substring(0, urlBase.length) === urlBase;
} catch (e) {
return false;
}
}
getTemporaryListenerResult(eventHandler, userCallback, timeout=null) {
if (!(
typeof eventHandler.addListener === 'function' &&