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

Quelle  file_fullscreen-nested.html   Sprache: HTML

 
 products/Sources/formale Sprachen/C/Firefox/dom/base/test/fullscreen/file_fullscreen-nested.html


<!DOCTYPE HTML>
<html>
<head>
  <title>Test for Bug 1187801</title>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="application/javascript" src="file_fullscreen-utils.js"></script>
</head>
<body>
<iframe src="empty.html" allowfullscreen></iframe>
<script type="text/javascript">

/** Test for Bug 1187801 **/

function info(msg) {
  opener.info("[nested] " + msg);
}

function ok(condition, msg) {
  opener.ok(condition, "[nested] " + msg);
}

function is(a, b, msg) {
  opener.is(a, b, "[nested] " + msg);
}

var gInnerDoc;
var gTestSteps;
var gTestIndex = 0;

function begin() {
  var root = document.documentElement;
  var iframe = document.querySelector("iframe");
  var innerDoc = gInnerDoc = iframe.contentDocument;
  var innerRoot = innerDoc.documentElement;

  // The format of each test step is:
  // [[action, target], [fsOuter, fsInner]] where:
  // * "action" is "enter" or "exit" means whether we want to enter or
  //   fullscreen in this step. An action of "reset" means to force
  //   our count of enters to a certain value, to match how many exits
  //   we need to do to leave fullscreen. This is used when one exit
  //   can unwind more than one enter.
  // * "target" is where we apply this action. For "enter" action, it
  //   is the element we want to call requestFullscreen() on, and for
  //   "exit", it is the document we want to call exitFullscreen() on.
  // * "fsOuter" and "fsInner" are the expected fullscreen elements of
  //   the outer and inner document respectively after executing the
  //   action in this step. These are only checked after "enter" or
  //   "exit" actions.
  gTestSteps = [
    // innerRoot
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  innerDoc], [  null,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  document], [  null,      null]],
    // root, innerRoot
    [["enter",      root], [  root,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  innerDoc], [  root,      null]],
    [[ "exit",  document], [  null,      null]],
    [["enter",      root], [  root,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  document], [  root,      null]],
    [[ "exit",  document], [  null,      null]],
    // iframe, innerRoot
    [["enter",    iframe], [iframe,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  innerDoc], [iframe,      null]],
    [[ "exit",  document], [  null,      null]],
    [["enter",    iframe], [iframe,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [["reset",         1], [  null,      null]],
    [[ "exit",  document], [  null,      null]],
    // root, iframe, innerRoot
    [["enter",      root], [  root,      null]],
    [["enter",    iframe], [iframe,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  innerDoc], [iframe,      null]],
    [[ "exit",  document], [  root,      null]],
    [[ "exit",  document], [  null,      null]],
    [["enter",      root], [  root,      null]],
    [["enter",    iframe], [iframe,      null]],
    [["enter", innerRoot], [iframe, innerRoot]],
    [[ "exit",  document], [  root,      null]],
    [["reset",         1], [  null,      null]],
    [[ "exit",  document], [  null,      null]],
  ];

  nextStep();
}

function nextStep() {
  if (gTestIndex == gTestSteps.length) {
    opener.nextTest();
    return;
  }

  var index = gTestIndex;
  var [[action, target], [fsOuter, fsInner]] = gTestSteps[gTestIndex++];

  function checkAndNext() {
    is(document.fullscreenElement, fsOuter,
       `Fullscreen element of outer doc should match after step ${index}`);
    is(gInnerDoc.fullscreenElement, fsInner,
       `Fullscreen element of inner doc should match after step ${index}`);
    nextStep();
  }

  info(`Executing step ${index}: ${action} on ${target}...`);
  if (action == "enter") {
    // For "enter" action, the target is the element
    var doc = target.ownerDocument;
    addFullscreenChangeContinuation("enter", checkAndNext, doc);
    target.requestFullscreen();
  } else if (action == "exit") {
    // For "exit" action, the target is the document
    addFullscreenChangeContinuation("exit", checkAndNext, target);
    target.exitFullscreen();
  } else if (action == "reset") {
    // For "reset" action, the target is the number to setFullscreenChangeEnters.
    setFullscreenChangeEnters(target);
    nextStep();
  } else {
    ok(false, `Unknown action ${action}`);
  }
}
</script>
</body>
</html>

Messung V0.5
C=91 H=99 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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.