Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/browser/base/content/test/permissions/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  head.js   Sprache: JAVA

 

const { PermissionTestUtils } = ChromeUtils.importESModule(
  "resource://testing-common/PermissionTestUtils.sys.mjs"
);

SpecialPowers.addTaskImport(
  "E10SUtils",
  "resource://gre/modules/E10SUtils.sys.mjs"
);

function openPermissionPopup() {
  let promise = BrowserTestUtils.waitForEvent(
    gBrowser.documentGlobal,
    "popupshown",
    true,
    event => event.target == gPermissionPanel._permissionPopup
  );
  gPermissionPanel._identityPermissionBox.click();
  return promise;
}

function closePermissionPopup() {
  let promise = BrowserTestUtils.waitForEvent(
    gPermissionPanel._permissionPopup,
    "popuphidden"
  );
  gPermissionPanel._permissionPopup.hidePopup();
  return promise;
}

// Helpers for testing browser-scoped temporary permissions via the
// Permissions API in a content tab.

async function queryPermissionInTab(browser, permName) {
  return SpecialPowers.spawn(browser, [permName], async name => {
    let status = await content.navigator.permissions.query({ name });
    return status.state;
  });
}

// Browser-scoped permissions are forwarded to the content process via PContent
// IPC, which may arrive after SpecialPowers messages (different protocol).
// Poll the Permissions API until the expected state is visible.
async function waitForPermissionState(browser, permName, expectedState) {
  await BrowserTestUtils.waitForCondition(
    () =>
      queryPermissionInTab(browser, permName).then(s => s === expectedState),
    `Waiting for ${permName} to become "${expectedState}"`
  );
}

// Install an onchange listener in the content process. Resolves once the
// listener is installed. The caller should then trigger the permission change,
// and call waitForPermissionChange() to get the resulting state.
async function installOnChangeListener(browser, permName) {
  await SpecialPowers.spawn(browser, [permName], async name => {
    let status = await content.navigator.permissions.query({ name });
    content._permChangePromise = new Promise(resolve => {
      status.onchange = () => resolve(status.state);
    });
  });
}

async function waitForPermissionChange(browser) {
  return SpecialPowers.spawn(browser, [], () => content._permChangePromise);
}

Messung V0.5 in Prozent
C=85 H=87 G=85

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-09-30) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.