ultrawidify/src/ext/conf/BrowserDetect.js

40 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-12-25 01:26:24 +01:00
import browser from "vuex-webextensions/dist/browser";
2020-04-13 15:20:29 +02:00
if (process.env.CHANNEL !== 'stable') {
2020-12-03 01:16:57 +01:00
console.info('Loaded BrowserDetect');
2020-04-13 15:20:29 +02:00
}
2020-12-30 15:35:54 +01:00
function detectEdgeUA() {
return /Edg\/(\.?[0-9]*)*$/.test(window.navigator.userAgent);
}
function getBrowserObj() {
return process.env.BROWSER === 'firefox' ? browser : chrome;
}
2021-01-21 00:20:43 +01:00
function getRuntime() {
return process.env.BROWSER === 'firefox' ? browser.runtime : chrome.runtime;
}
2020-12-30 15:35:54 +01:00
function getURL(url) {
return process.env.BROWSER === 'firefox' ? browser.runtime.getURL(url) : chrome.runtime.getURL(url);
}
const BrowserDetect = {
firefox: process.env.BROWSER === 'firefox',
anyChromium: process.env.BROWSER !== 'firefox',
chrome: process.env.BROWSER === 'chrome',
edge: process.env.BROWSER === 'edge',
processEnvBrowser: process.env.BROWSER,
processEnvChannel: process.env.CHANNEL,
2020-12-30 15:35:54 +01:00
isEdgeUA: detectEdgeUA(),
browserObj: getBrowserObj(),
2021-01-21 00:20:43 +01:00
runtime: getRuntime(),
2020-12-30 15:35:54 +01:00
getURL: (url) => getURL(url),
}
2020-04-13 15:20:29 +02:00
if (process.env.CHANNEL !== 'stable') {
2020-12-03 01:16:57 +01:00
console.info("BrowserDetect loaded:\n\nprocess.env.BROWSER:", process.env.BROWSER, "\nExporting BrowserDetect:", BrowserDetect);
}
export default BrowserDetect;