summaryrefslogtreecommitdiffstats
path: root/dom/plugins/test/mochitest/test_bug1245545.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/plugins/test/mochitest/test_bug1245545.html')
-rw-r--r--dom/plugins/test/mochitest/test_bug1245545.html52
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/plugins/test/mochitest/test_bug1245545.html b/dom/plugins/test/mochitest/test_bug1245545.html
new file mode 100644
index 000000000..23e3b21e0
--- /dev/null
+++ b/dom/plugins/test/mochitest/test_bug1245545.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta><charset="utf-8"/>
+ <title>Test Modifying Plugin click-to-play Flag</title>
+ <script type="text/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"/>
+ </head>
+ <body onload="startTest()">
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);
+ SpecialPowers.pushPrefEnv({ "set": [
+ ['dom.ipc.plugins.unloadTimeoutSecs', 0]
+ ] });
+
+ function startTest() {
+ let url = SimpleTest.getTestFileURL("file_bug1245545.js");
+ let script = SpecialPowers.loadChromeScript(url);
+ script.addMessageListener("check-plugin-unload", testChromeUnload);
+ var testPlugin = getTestPlugin();
+ ok(testPlugin, "Should have Test Plug-in");
+ is(testPlugin.loaded, true, "Test plugin should be loaded");
+ var pluginNode = document.getElementById("theplugin");
+ pluginNode.parentNode.removeChild(pluginNode);
+ // Poll for plugin to unload.
+ function testContentUnload() {
+ if (!testPlugin.loaded) {
+ ok(true, "Test plugin unloaded in client process");
+ // Start the chrome unload test
+ testChromeUnload(true);
+ } else {
+ setTimeout(testContentUnload, 0);
+ }
+ }
+
+ function testChromeUnload(isLoaded) {
+ if (!isLoaded) {
+ ok(true, "Test plugin unloaded in chrome process");
+ SimpleTest.finish();
+ } else {
+ var results = script.sendAsyncMessage("check-plugin-unload");
+ }
+ }
+ testContentUnload();
+ }
+ </script>
+ <object id="theplugin" type="application/x-test"></object>
+
+ </body>
+</html>