summaryrefslogtreecommitdiffstats
path: root/dom/plugins/test/mochitest/test_streamatclose.html
blob: f308d7d7960e1a1dc78732395f3f5a802693f76d (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
<html>
<head>
  <title>Stream open at NPP_Destroy</title>
  <script type="text/javascript"
	  src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="text/javascript" src="plugin-utils.js"></script>
  <link rel="stylesheet" type="text/css"
	href="/tests/SimpleTest/test.css">

<body onload="startTest()">
  <script type="text/javascript">
  SimpleTest.waitForExplicitFinish();
  SimpleTest.requestFlakyTimeout("untriaged");
  setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);

  var urlnotified = false;

  var p = null;

  function startTest() {
    p = document.getElementById('embedtest');
    ok(p.streamTest("neverending.sjs", false, null, null,
                    function(r, t) {
                      is(r, 2, "Stream should have failed");
                      urlnotified = true;
                    }, null, true), "neverending.sjs started successfully");

    setTimeout(removePlugin, 500);
  }

  function removePlugin() {
    document.body.removeChild(p); // Fires NPP_Destroy immediately
    SimpleTest.executeSoon(done);
  }

  function done() {
    ok(urlnotified, "NPP_URLNotify should be called if streams are active at NPP_Destroy");
    SimpleTest.finish();
  }

  </script>

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

  <embed id="embedtest"
   style="width: 400px; height: 100px;" type="application/x-test"></embed>