async prepare()

in src/js/popup.js [1905:1967]


  async prepare() {
    browser.runtime.sendMessage({ method: "MozillaVPN_queryServers" });
    browser.runtime.sendMessage({ method: "MozillaVPN_queryStatus" });

    const identity = Logic.currentIdentity();

    // Populating the panel: name and icon
    document.getElementById("container-edit-title").textContent = identity.name;

    const userContextId = Logic.currentUserContextId();
    document.querySelector("#edit-container-panel .panel-footer").hidden = !!userContextId;
    document.querySelector("#edit-container-panel .delete-container").hidden = !userContextId;
    document.querySelector("#edit-container-options").hidden = !userContextId;
    document.querySelector("moz-vpn-container-ui").hidden = !userContextId;
    document.querySelector("#advanced-proxy-settings-btn").hidden = !userContextId;

    Utils.addEnterHandler(document.querySelector("#manage-assigned-sites-list"), () => {
      Logic.showPanel(P_CONTAINER_ASSIGNMENTS, this.getEditInProgressIdentity(), false, false);
    });

    document.querySelector("#edit-container-panel-name-input").value = identity.name || "";
    document.querySelector("#edit-container-panel-usercontext-input").value = userContextId || NEW_CONTAINER_ID;
    const containerName = document.querySelector("#edit-container-panel-name-input");
    window.requestAnimationFrame(() => {
      containerName.select();
      containerName.focus();
    });

    const siteIsolation = document.querySelector("#site-isolation");
    siteIsolation.checked = !!identity.isIsolated;
    siteIsolation.addEventListener( "change", addRemoveSiteIsolation, false);
    [...document.querySelectorAll("[name='container-color']")].forEach(colorInput => {
      colorInput.checked = colorInput.value === identity.color;
    });
    [...document.querySelectorAll("[name='container-icon']")].forEach(iconInput => {
      iconInput.checked = iconInput.value === identity.icon;
    });

    const deleteButton = document.getElementById("delete-container-button");
    Utils.addEnterHandler(deleteButton, () => {
      Logic.showPanel(P_CONTAINER_DELETE, this.getEditInProgressIdentity(), false, false);
    });
    const mozillaVpnConnected = await browser.runtime.sendMessage({ method: "MozillaVPN_getConnectionStatus" });


    const mozillaVpnUi = document.querySelector(".moz-vpn-controller-content");
    mozillaVpnUi.updateMozVpnStatusDependentUi();

    if (!userContextId) {
      return;
    }

    const proxyPermissionEnabled = await browser.permissions.contains({ permissions: ["proxy"] });
    if (proxyPermissionEnabled) {
      const proxyData = await proxifiedContainers.retrieve(identity.cookieStoreId);
      if (proxyData && proxyData.proxy.mozProxyEnabled && !mozillaVpnConnected) {
        mozillaVpnUi.updateProxyDependentUi({});
        return;
      }
      const proxy = proxyData ? proxyData.proxy : {};
      mozillaVpnUi.updateProxyDependentUi(proxy);
    }
  },