summaryrefslogtreecommitdiffstats
path: root/dom/plugins/test/mochitest/test_CrashService_hang.html
blob: 6ecf7d419a3860b70505b9149551c153eb7f55a0 (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
<head>
  <title>nsICrashService plugin hang</title>
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="application/javascript" src="plugin-utils.js"></script>

<body>
  <script class="testbody" type="application/javascript">
  SimpleTest.waitForExplicitFinish();
  SimpleTest.requestFlakyTimeout(
    "crashAndGetCrashServiceRecord() polls for async crash recording");
  SimpleTest.requestCompleteLog();
  setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);

  window.frameLoaded = function frameLoaded_toCrash() {
    SimpleTest.expectChildProcessCrash();

    // the default timeout is annoying high for mochitest runs
    var timeoutPref = "dom.ipc.plugins.timeoutSecs";
    SpecialPowers.setIntPref(timeoutPref, 5);

    crashAndGetCrashServiceRecord("hang", function (cm, crash) {
      ok(crash.isOfType(cm.PROCESS_TYPE_PLUGIN, cm.CRASH_TYPE_HANG),
         "Record should be a plugin hang");
      SimpleTest.finish();
    });
  }
  </script>
  <iframe id="iframe1" src="crashing_subpage.html" width="600" height="600"></iframe>