Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/tests/mochitest/script/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 304 B image not shown  

Quelle  helper_basic_pan.html   Sprache: HTML

 
 products/sources/formale Sprachen/C/Firefox/gfx/layers/apz/test/mochitest/helper_basic_pan.html


<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width; initial-scale=1.0">
  <title>Sanity panning test</title>
  <script type="application/javascript" src="apz_test_native_event_utils.js"></script>
  <script type="application/javascript" src="apz_test_utils.js"></script>
  <script src="/tests/SimpleTest/paint_listener.js"></script>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <script type="application/javascript">

async function test() {
  let scrEvt = new EventCounter(window, "scroll");
  let visScrEvt = new EventCounter(window.visualViewport, "scroll");
  // Our internal visual viewport events aren't restricted to the visual view-
  // port itself, so we can listen on the window itself, however the event
  // listener needs to be in the system group.
  let visScrEvtInternal = new EventCounter(window, "mozvisualscroll",
                                           { mozSystemGroup: true });

  // This listener will trigger the test to continue once APZ is done with
  // processing the scroll.
  let transformEndPromise = promiseTransformEnd();

  await synthesizeNativeTouchDrag(document.body, 10, 100, 0, -50);
  dump("Finished native drag, waiting for transform-end observer...\n");

  // Wait for the APZ:TransformEnd to be fired after touch events are processed.
  await transformEndPromise;

  // Flush state.
  await promiseApzFlushedRepaints();

  is(window.scrollY, 50, "check that the window scrolled");

  // Check we've got the expected events.
  // This page is using "width=device-width; initial-scale=1.0" and we haven't
  // pinch-zoomed any further, so layout and visual viewports have the same
  // size and will scroll together. Therefore we should be getting layout
  // viewport "scroll" events as well.
  scrEvt.unregister();
  ok(scrEvt.count > 0, "Got some layout viewport scroll events");
  // This one is a bit tricky: Visual viewport "scroll" events are supposed to
  // fire only when the relative offset between layout and visual viewport
  // changes. Even when they're both scrolling together, we may update their
  // positions independently, though, leading to some jitter in the offset and
  // triggering the event after all.
  // At least for the case here, where both viewports are the same size and we
  // have a freshly loaded page, we should however be able to keep the offset at
  // a constant zero and therefore not cause any visual viewport scroll events
  // to fire.
  visScrEvt.unregister();
  is(visScrEvt.count, 0, "Got no visual viewport scroll events");
  visScrEvtInternal.unregister();
  // Our internal visual viewport scroll event on the other hand only cares
  // about the absolute offset of the visual viewport and should therefore
  // definitively fire.
  ok(visScrEvtInternal.count > 0, "Got some mozvisualscroll events");
}

waitUntilApzStable()
.then(test)
.then(subtestDone, subtestFailed);

  </script>
</head>
<body>
 <div style="height: 5000px; background-color: lightgreen;">
  This div makes the page scrollable.
 </div>
</body>
</html>

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

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