diff options
Diffstat (limited to 'ext/bg/js/backend.js')
-rw-r--r-- | ext/bg/js/backend.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index df021ea2..62c077a2 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -464,8 +464,15 @@ class Backend { }); } - _onApiGetEnvironmentInfo() { - return apiGetEnvironmentInfo(); + async _onApiGetEnvironmentInfo() { + const browser = await Backend._getBrowser(); + const platform = await new Promise((resolve) => chrome.runtime.getPlatformInfo(resolve)); + return { + browser, + platform: { + os: platform.os + } + }; } _onApiClipboardGet() { @@ -638,6 +645,25 @@ class Backend { // Edge throws exception for no reason here. } } + + static async _getBrowser() { + if (EXTENSION_IS_BROWSER_EDGE) { + return 'edge'; + } + if (typeof browser !== 'undefined') { + try { + const info = await browser.runtime.getBrowserInfo(); + if (info.name === 'Fennec') { + return 'firefox-mobile'; + } + } catch (e) { + // NOP + } + return 'firefox'; + } else { + return 'chrome'; + } + } } Backend._messageHandlers = new Map([ |