summaryrefslogtreecommitdiffstats
path: root/dom/plugins/test/mochitest/test_pluginstream_referer.html
blob: e1b63fb959c33dacf5d38923f970bf673c23a55b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<head>
  <title>Do plugin stream requests send the Referer header correctly?</title>
  <script type="application/javascript"
	  src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="application/javascript" src="plugin-utils.js"></script>
  <link rel="stylesheet" type="text/css" 
        href="/tests/SimpleTest/test.css" />

<body onload="runTests()">
  <script class="testbody" type="application/javascript">
  SimpleTest.waitForExplicitFinish();
  setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);

  var pending = 3;
  function testDone() {
    --pending;
    if (0 == pending)
      SimpleTest.finish()
  }

  function runTests() {
    var p = document.getElementById('plugin1');
    var p2 = document.getElementById('plugin2');

    ok(p.streamTest('plugin-stream-referer.sjs', false, null, null,
                    function(r, t) {
                      is(r, 0, "GET plugin-stream-referer.sjs");
                      is(t, "Referer found: " + window.location,
                         "GET Referer correct");
                      testDone();
                    }, null, true), "referer GET");

    ok(p.streamTest('plugin-stream-referer.sjs', true, "Dummy Data", null,
                    function(r, t) {
                      is(r, 0, "POST plugin-stream-referer.sjs");
                      is(t, "No Referer found", "POST Referer absent");
                      testDone();
                    }, null, true), "referer POST");

    ok(p2.streamTest('plugin-stream-referer.sjs', false, null, null,
                     function(r, t) {
                       is(r, 0, "GET plugin-stream-referer.sjs (2)");
                       var expectedreferer = String(window.location).replace("test_pluginstream_referer.html", "loremipsum.xtest");
                       is(t, "Referer found: " + expectedreferer,
                          "GET Referer correct with plugin src");
                       testDone();
                     }, null, true), "referer GET (2)");
                            
  }
  </script>

  <p id="display"></p>

  <embed id="plugin1" type="application/x-test" width="200" height="200"></embed>
  <embed id="plugin2" type="application/x-test" src="loremipsum.xtest" width="200" height="200"></embed>