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

Quelle  bug1093686_inner.html   Sprache: HTML

 
 products/sources/formale Sprachen/C/Firefox/layout/base/tests/bug1093686_inner.html


<!DOCTYPE HTML>
<html id="html" style="height:100%">
<head>
  <title>Testing effect of listener on body</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  <style>
  .target { position:absolute; left:200px; top:200px; width:200px; height:200px; background:blue; }
  </style>
</head>
<body id="body" onload="setTimeout(runTest, 0)" style="margin:0; width:100%; height:100%; overflow:hidden">
<div id="content">
  <div class="target" id="t"></div>
</div>
<pre id="test">
<script type="application/javascript">
var eventTarget;
window.onmousedown = function(event) { eventTarget = event.target; };

// Make sure the target div is "clickable" by adding a click listener on it.
document.getElementById('t').addEventListener('click', function(e) {
  parent.ok(true, "target was clicked on");
});

// Helper functions

function testMouseClick(aX, aY, aExpectedId, aMsg) {
  eventTarget = null;
  synthesizeMouseAtPoint(aX, aY, {});
  try {
    parent.is(eventTarget.id, aExpectedId,
       "checking offset " + aX + "," + aY + " hit " + aExpectedId + " [" + aMsg + "]");
  } catch (ex) {
    parent.ok(false, "checking offset " + aX + "," + aY + " hit " + aExpectedId + " [" + aMsg + "]; got " + eventTarget);
  }
}

function testWithAndWithoutBodyListener(aX, aY, aExpectedId, aMsg) {
  var func = function(e) {
    // no-op function
    parent.ok(true, "body was clicked on");
  };
  testMouseClick(aX, aY, aExpectedId, aMsg + " without listener on body");
  document.body.addEventListener("click", func);
  testMouseClick(aX, aY, aExpectedId, aMsg + " with listener on body");
  document.body.removeEventListener("click", func);
}

// Main tests

var mm;
function runTest() {
  mm = SpecialPowers.getDOMWindowUtils(parent).physicalMillimeterInCSSPixels;
  parent.ok(4*mm >= 10, "WARNING: mm " + mm + " too small in this configuration. Test results will be bogus");

  // Test near the target, check it hits the target
  testWithAndWithoutBodyListener(200 - 2*mm, 200 - 2*mm, "t""basic click retargeting");
  // Test on the target, check it hits the target
  testWithAndWithoutBodyListener(200 + 2*mm, 200 + 2*mm, "t""direct click");
  // Test outside the target, check it hits the root
  testWithAndWithoutBodyListener(40, 40, "body""click way outside target");

  SpecialPowers.pushPrefEnv({"set": [["ui.mouse.radius.enabled", false]]}, runTest2);
}

function runTest2() {
  // In this test, mouse event retargeting is disabled.

  // Test near the target, check it hits the body
  testWithAndWithoutBodyListener(200 - 2*mm, 200 - 2*mm, "body""basic click retargeting");
  // Test on the target, check it hits the target
  testWithAndWithoutBodyListener(200 + 2*mm, 200 + 2*mm, "t""direct click");
  // Test outside the target, check it hits the root
  testWithAndWithoutBodyListener(40, 40, "body""click way outside target");

  parent.finishTest();
}

</script>
</pre>
</body>
</html>

Messung V0.5
C=92 H=95 G=93

¤ Dauer der Verarbeitung: 0.21 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.