Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/events/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  bug418986-3.js   Sprache: JAVA

 
SimpleTest.waitForExplicitFinish();

// The main testing function.
var test = async function (isContent) {
  await SpecialPowers.contentTransformsReceived(window);

  // Each definition is [eventType, prefSetting]
  // Where we are setting the "privacy.resistFingerprinting" pref.
  let eventDefs = [
    ["mousedown"true],
    ["mouseup"true],
    ["mousedown"false],
    ["mouseup"false],
  ];

  let testCounter = 0;

  // Declare ahead of time.
  let setup;

  // This function is called when the event handler fires.
  let handleEvent = function (event, prefVal) {
    let resisting = prefVal && isContent;
    if (resisting) {
      is(
        event.screenX,
        event.clientX,
        "event.screenX and event.clientX should be the same"
      );
      is(
        event.screenY,
        event.clientY,
        "event.screenY and event.clientY should be the same"
      );
    } else {
      // We can't be sure about X coordinates not being equal, but we can test Y.
      isnot(event.screenY, event.clientY, "event.screenY !== event.clientY");
    }
    ++testCounter;
    if (testCounter < eventDefs.length) {
      nextTest();
    } else {
      SimpleTest.finish();
    }
  };

  // In this function, we set up the nth div and event handler,
  // and then synthesize a mouse event in the div, to test
  // whether the resulting events resist fingerprinting by
  // suppressing absolute screen coordinates.
  nextTest = function () {
    let [eventType, prefVal] = eventDefs[testCounter];
    SpecialPowers.pushPrefEnv(
      { set: [["privacy.resistFingerprinting", prefVal]] },
      function () {
        // The following code creates a new div for each event in eventDefs,
        // attaches a listener to listen for the event, and then generates
        // a fake event at the center of the div.
        let div = document.createElementNS(
          "http://www.w3.org/1999/xhtml",
          "div"
        );
        div.style.width = "10px";
        div.style.height = "10px";
        div.style.backgroundColor = "red";
        // Name the div after the event we're listening for.
        div.id = eventType;
        document.getElementById("body").appendChild(div);
        // Seems we can't add an event listener in chrome unless we run
        // it in a later task.
        window.setTimeout(function () {
          div.addEventListener(eventType, event => handleEvent(event, prefVal));
          // For some reason, the following synthesizeMouseAtCenter call only seems to run if we
          // wrap it in a window.setTimeout(..., 0).
          window.setTimeout(function () {
            synthesizeMouseAtCenter(div, { type: eventType });
          }, 0);
        }, 0);
      }
    );
  };

  // Now run by starting with the 0th event.
  nextTest();
};

Messung V0.5
C=77 H=100 G=89

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.