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


Quelle  test_navigator_buildID.html   Sprache: HTML

 
 products/Sources/formale Sprachen/C/Firefox/dom/tests/mochitest/bugs/test_navigator_buildID.html


<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=583181
-->

<head>
  <title>Test for Bug 583181</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="/tests/SimpleTest/ChromeTask.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body onload="onLoad()">
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=583181">Mozilla Bug 583181</a>
<p id="display"></p>
<div id="content" style="display: none">

</div>
<pre id="test">
<script class="testbody" type="text/javascript">
"use strict";

SimpleTest.waitForExplicitFinish();

const LEGACY_BUILD_ID = 20181001000000;

//
// Access navigator.buildID from unprivileged web content.
//
var isOK = false;
try {
  var contentBuildID = navigator.buildID;
  isOK = true;
} catch (ex) {
}
ok(isOK, "navigator.buildID should never throw");
is(typeof(contentBuildID), "string""navigator.buildID should be a string");
is(+contentBuildID, LEGACY_BUILD_ID,
   "navigator.buildID should be spoofed in content");

async function onLoad() {
  //
  // Access navigator.buildID from chrome.
  //
  let chromeBuildID = await ChromeTask.spawn(null, () => {
    const browser = Services.wm.getMostRecentBrowserWindow();
    return browser.navigator.buildID;
  });

  ok(+chromeBuildID > LEGACY_BUILD_ID,
     `navigator.buildID should be exposed in chrome - got "${chromeBuildID}"`);

  //
  // Access navigator.buildID from mozilla.org.
  //
  let mozillaBuildID = await getMozillaBuildID();

  ok(+mozillaBuildID > LEGACY_BUILD_ID,
     `navigator.buildID should be exposed on mozilla.org ` +
     `- got "${mozillaBuildID}"`);
  is(chromeBuildID, mozillaBuildID,
     "navigator.buildID should be the same in chrome and on mozilla.org");

  //
  // Access navigator.buildID from mozilla.org when resisting fingerprinting.
  //
  await SpecialPowers.pushPrefEnv(
    {"set": [["privacy.resistFingerprinting", true]]});

  let resistBuildID = await getMozillaBuildID();

  is(+resistBuildID, LEGACY_BUILD_ID,
     "navigator.buildID should be spoofed on mozilla.org when " +
     "resisting fingerprinting");

  SimpleTest.finish();
}

async function getMozillaBuildID() {
  let iframe = document.getElementById("mozillaIFrame");

  await new Promise(resolve => {
    iframe.addEventListener("load", resolve, { once: true });
    SpecialPowers.spawn(iframe, [], () => this.content.location.reload());
  });

  return SpecialPowers.spawn(
    iframe, [], () => this.content.wrappedJSObject.navigator.buildID);
}
</script>
</pre>
<iframe id="mozillaIFrame" src="https://www.mozilla.org/" />
</body>
</html>

Messung V0.5
C=83 H=80 G=81

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






                                                                                                                                                                                                                                                                                                                                                                                                     


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