Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_WorkerDebugger_suspended.xhtml   Sprache: unbekannt

 
<?xml version="1.0"?>
<!--
  Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/
-->
<window title="Test for WorkerDebugger with suspended workers"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        onload="test();">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
  <script src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
  <script type="application/javascript" src="dom_worker_helper.js"/>

  <script type="application/javascript">
  <![CDATA[

    const WORKER_URL = "WorkerDebugger_suspended_worker.js";
    const DEBUGGER_URL = BASE_URL + "WorkerDebugger_suspended_debugger.js";

    function test() {
      (async function() {
        SimpleTest.waitForExplicitFinish();

        info("Create a worker, wait for its debugger to be registered, and " +
             "initialize it.");
        let promise = waitForRegister(WORKER_URL, DEBUGGER_URL);
        let worker = new Worker(WORKER_URL);
        let dbg = await promise;

        info("Send a request to the worker. This should cause both the " +
             "worker and the worker debugger to send a response.");
        promise = waitForMultiple([
          waitForWorkerMessage(worker, "worker"),
          waitForDebuggerMessage(dbg, "debugger")
        ]);
        worker.postMessage("ping");
        await promise;

        info("Suspend the workers for this window, and send another request " +
             "to the worker. This should cause only the worker debugger to " +
             "send a response.");
        let windowUtils = window.windowUtils;
        windowUtils.suspendTimeouts();
        function onmessage() {
          ok(false, "The worker should not send a response.");
        };
        worker.addEventListener("message", onmessage);
        promise = waitForDebuggerMessage(dbg, "debugger");
        worker.postMessage("ping");
        await promise;
        worker.removeEventListener("message", onmessage);

        info("Resume the workers for this window. This should cause the " +
             "worker to send a response to the previous request.");
        promise = waitForWorkerMessage(worker, "worker");
        windowUtils.resumeTimeouts();
        await promise;

        SimpleTest.finish();
      })();
    }

  ]]>
  </script>

  <body xmlns="http://www.w3.org/1999/xhtml">
    <p id="display"></p>
    <div id="content" style="display:none;"></div>
    <pre id="test"></pre>
  </body>
  <label id="test-result"/>
</window>

[ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge