summaryrefslogtreecommitdiffstats
path: root/dom/plugins/test/mochitest/test_CrashService_hang.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/plugins/test/mochitest/test_CrashService_hang.html')
-rw-r--r--dom/plugins/test/mochitest/test_CrashService_hang.html28
1 files changed, 28 insertions, 0 deletions
diff --git a/dom/plugins/test/mochitest/test_CrashService_hang.html b/dom/plugins/test/mochitest/test_CrashService_hang.html
new file mode 100644
index 000000000..6ecf7d419
--- /dev/null
+++ b/dom/plugins/test/mochitest/test_CrashService_hang.html
@@ -0,0 +1,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>