diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js index 82166007..49a6c14f 100644 --- a/ext/bg/js/api.js +++ b/ext/bg/js/api.js @@ -89,34 +89,8 @@ function apiInjectStylesheet(css, sender) { return utilBackend()._onApiInjectStylesheet({css}, sender); } -async function apiGetEnvironmentInfo() { - const browser = await _apiGetBrowser(); - const platform = await new Promise((resolve) => chrome.runtime.getPlatformInfo(resolve)); - return { - browser, - platform: { - os: platform.os - } - }; -} - -async function _apiGetBrowser() { - 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'; - } +function apiGetEnvironmentInfo() { + return utilBackend()._onApiGetEnvironmentInfo(); } async function apiClipboardGet() { 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([