dom/plugins/test/mochitest/test_CrashService_hang.html
author Karl Tomlinson <karlt+@karlt.net>
Mon, 16 Jan 2017 18:57:03 +1300
changeset 461230 82877d7c58b02b39284d0939bf960dfa64c607f4
parent 309314 744faf917eebb624f26febc118451ed3467d2e84
child 462751 ec799efea60cbc4462ef8cc155b6bdb2a9789e91
permissions -rw-r--r--
bug 1331320 document requestFlakyTimeout for crashAndGetCrashServiceRecord() r?glandium MozReview-Commit-ID: 4l2qxJfRbkq

<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>