content/media/test/test_networkState.html

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4   <title>Media test: networkState</title>
     5   <script type="text/javascript" src="/MochiKit/Base.js"></script>
     6   <script type="text/javascript" src="/MochiKit/DOM.js"></script>
     7   <script type="text/javascript" src="/MochiKit/Style.js"></script>
     8   <script type="text/javascript" src="/MochiKit/Signal.js"></script>
     9   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    11   <script type="text/javascript" src="manifest.js"></script>
    12 </head>
    13 <body onunload="mediaTestCleanup();">
    14 <video id='v1'></video><audio id='a1'></audio>
    15 <pre id="test">
    16 <script class="testbody" type="text/javascript">
    17 "use strict";
    18 var v1 = document.getElementById('v1');
    19 var a1 = document.getElementById('a1');
    20 var passed = "truthy";
    22 try {
    23   v1.networkState = 0;
    24 } catch (e) {
    25   passed = !passed;
    26 }
    27 try {
    28   a1.networkState = 0;
    29 } catch (e) {
    30   passed = !passed;
    31 }
    32 ok(passed === true,
    33    "Setting networkState throws in strict mode (readonly attribute)");
    34 </script>
    36 <script class="testbody" type="text/javascript">
    37 var v1 = document.getElementById('v1');
    38 var a1 = document.getElementById('a1');
    39 var passed = false;
    41 var oldv1ns = v1.networkState, olda1ns = a1.networkState;
    42 try {
    43   v1.networkState = 0;
    44   a1.networkState = 0;
    45   passed = v1.networkState === oldv1ns && a1.networkState === olda1ns;
    46 } catch (e) { }
    47 ok(passed, "Should not be able to modify networkState (readonly attribute)");
    48 </script>
    49 </pre>
    50 </body>
    51 </html>

mercurial