in src/js/mozillaVpn.js [3:45]
async handleContainerList(identities) {
const mozillaVpnConnected = await browser.runtime.sendMessage({ method: "MozillaVPN_getConnectionStatus" });
const mozillaVpnInstalled = await browser.runtime.sendMessage({ method: "MozillaVPN_getInstallationStatus" });
this.handleStatusIndicatorsInContainerLists(mozillaVpnInstalled);
const permissionsEnabled = await this.bothPermissionsEnabled();
if (!permissionsEnabled) {
return;
}
const proxies = await this.getProxies(identities);
if (Object.keys(proxies).length === 0) {
return;
}
const tooltipProxyWarning = browser.i18n.getMessage("tooltipWarning");
for (const el of document.querySelectorAll("[data-cookie-store-id]")) {
const cookieStoreId = el.dataset.cookieStoreId;
if (!proxies[cookieStoreId]) {
continue;
}
const { proxy } = proxies[cookieStoreId];
if (typeof(proxy) !== "undefined") {
const flag = el.querySelector(".flag-img");
if (proxy.countryCode) {
flag.src = `/img/flags/${proxy.countryCode.toUpperCase()}.png`;
}
if (typeof(proxy.mozProxyEnabled) === "undefined" && typeof(proxy.countryCode) !== "undefined") {
flag.classList.add("proxy-disabled");
}
if (!mozillaVpnConnected && proxy.mozProxyEnabled) {
flag.classList.add("proxy-unavailable");
const menuItemName = el.querySelector(".menu-item-name");
menuItemName.setAttribute("title", tooltipProxyWarning);
if (menuItemName) {
el.querySelector(".menu-item-name").dataset.mozProxyWarning = "proxy-unavailable";
}
}
}
}
},