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

Quelle  test_1331680_xhr.html   Sprache: HTML

 
 products/Sources/formale Sprachen/C/Firefox/netwerk/test/mochitests/test_1331680_xhr.html


<!DOCTYPE HTML>
<html>
<!--
-->

<head>
  <title>Cookie changes from XHR requests are observed in content processes.</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />

<script type="text/javascript">
SimpleTest.waitForExplicitFinish();

const XHR_COOKIE_NAMES = ["xhr1""xhr2"];

var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('file_1331680.js'));
gScript.addMessageListener("cookieName", confirmCookieName);
gScript.addMessageListener("removeObserver:return", finishTest);
gScript.sendAsyncMessage('createObserver');

// Confirm the notify which represents the cookie is updating.
var testsNum = 0;
function confirmCookieName(name) {
  testsNum++;
  switch(testsNum) {
    case 1:
      is(name, "xhr1=xhr_val1""The cookie which names " + name + " is update to db");
      break;
    case 2:
      is(document.cookie, "xhr1=xhr_val1""Confirm the cookie string");
      for (var i = 0; i < XHR_COOKIE_NAMES.length; i++) {
        document.cookie = XHR_COOKIE_NAMES[i] + "=; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT";
      }
      break;
    case 3:
      is(document.cookie, """Confirm the cookie string");
      gScript.sendAsyncMessage('removeObserver');
      break;
  }
}

function finishTest() {
  SpecialPowers.clearUserPref("network.cookie.sameSite.laxByDefault");
  SimpleTest.finish();
}

function createXHR(url) {
  return new Promise(function (resolve, reject) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true); // async request
    xhr.onload = function () {
      if (this.status >= 200 && this.status < 300) {
        resolve(xhr.response);
      } else {
        reject({
          status: this.status,
          statusText: xhr.statusText
        });
      }
    };
    xhr.onerror = function () {
      reject({
        status: this.status,
        statusText: xhr.statusText
      });
    };
    xhr.send();
  });
}

/* Test XHR
 * 1. Create two XHR.
 * 2. One of the XHR create a cookie names "xhr1", and other one create a http-only cookie names "xhr2".
 * 3. Child process only set xhr1 to cookies hash table.
 * 4. Child process only can get the xhr1 cookie from cookies hash table.
 */
SpecialPowers.pushPrefEnv({
  // Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
  set: [["network.cookie.sameSite.laxByDefault", false]],
}).then(_ => createXHR('set_cookie_xhr.sjs?xhr1'))
  .then(_ => createXHR('set_cookie_xhr.sjs?xhr2'));

</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
</body>
</html>

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

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