Fri, 16 Jan 2015 04:50:19 +0100
Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=584480
5 -->
6 <head>
7 <title>Test for Bug 584480</title>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
10 <script type="text/javascript" src="manifest.js"></script>
11 </head>
12 <body>
13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=584480">Mozilla Bug </a>
14 <p id="display"></p>
15 <div id="content" style="display: none">
17 </div>
18 <pre id="test">
19 <script type="application/javascript">
20 var media = [];
22 function checkComplete() {
23 for (var i=0; i<media.length; ++i) {
24 if (!media[i]._complete) {
25 return;
26 }
27 }
29 SimpleTest.finish();
30 }
32 function removeNode(v) {
33 v.removeEventListener("error", loadError, false);
34 v.removeEventListener("loadedmetadata", loadedMetadata, false);
35 v.remove();
36 v.src = "";
37 }
39 function loadError(evt) {
40 // If no referer is sent then the sjs returns an error
41 ok(false, "check referer is sent with media request");
42 evt.target._complete = true;
43 checkComplete();
44 removeNode(evt.target);
45 }
47 function loadedMetadata(evt) {
48 // If a referer is sent then the sjs returns a valid media
49 ok(true, "check referer is sent with media request");
50 evt.target._complete = true;
51 checkComplete();
52 removeNode(evt.target);
53 }
55 // Create all media objects.
56 for (var i=0; i<gSmallTests.length; ++i) {
57 var test = gSmallTests[i];
58 var type;
59 if (/^video/.test(test.type)) {
60 type = "video"
61 } else {
62 type = "audio";
63 }
64 var v = document.createElement(type);
65 if (!v.canPlayType(test.type)) {
66 continue;
67 }
68 // ensure metadata is loaded for default preload is none on b2g
69 v.preload = "metadata";
70 v._complete = false;
71 v.addEventListener("error", loadError, false);
72 v.addEventListener("loadedmetadata", loadedMetadata, false);
73 v.src = 'referer.sjs?name=' + test.name + '&type=' + test.type;
74 document.body.appendChild(v); // Will start load.
75 media.push(v);
76 }
78 if (media.length == 0) {
79 todo(false, "No types supported");
80 } else {
81 SimpleTest.waitForExplicitFinish();
82 }
83 </script>
84 </pre>
86 </body>
87 </html>