diff options
Diffstat (limited to 'browser/base/content/test/plugins/browser_bug797677.js')
-rw-r--r-- | browser/base/content/test/plugins/browser_bug797677.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/browser/base/content/test/plugins/browser_bug797677.js b/browser/base/content/test/plugins/browser_bug797677.js new file mode 100644 index 000000000..1ae9f5047 --- /dev/null +++ b/browser/base/content/test/plugins/browser_bug797677.js @@ -0,0 +1,43 @@ +var gTestRoot = getRootDirectory(gTestPath).replace("chrome://mochitests/content/", "http://127.0.0.1:8888/"); +var gTestBrowser = null; +var gConsoleErrors = 0; + +var Cc = Components.classes; +var Ci = Components.interfaces; + +add_task(function* () { + registerCleanupFunction(function () { + clearAllPluginPermissions(); + setTestPluginEnabledState(Ci.nsIPluginTag.STATE_ENABLED, "Test Plug-in"); + setTestPluginEnabledState(Ci.nsIPluginTag.STATE_ENABLED, "Second Test Plug-in"); + consoleService.unregisterListener(errorListener); + gBrowser.removeCurrentTab(); + window.focus(); + gTestBrowser = null; + }); + + gBrowser.selectedTab = gBrowser.addTab(); + gTestBrowser = gBrowser.selectedBrowser; + + let consoleService = Cc["@mozilla.org/consoleservice;1"] + .getService(Ci.nsIConsoleService); + let errorListener = { + observe: function(aMessage) { + if (aMessage.message.includes("NS_ERROR_FAILURE")) + gConsoleErrors++; + } + }; + consoleService.registerListener(errorListener); + + yield promiseTabLoadEvent(gBrowser.selectedTab, gTestRoot + "plugin_bug797677.html"); + + let pluginInfo = yield promiseForPluginInfo("plugin"); + is(pluginInfo.pluginFallbackType, Ci.nsIObjectLoadingContent.PLUGIN_UNSUPPORTED, "plugin should not have been found."); + + // simple cpows + yield ContentTask.spawn(gTestBrowser, null, function() { + let plugin = content.document.getElementById("plugin"); + ok(plugin, "plugin should be in the page"); + }); + is(gConsoleErrors, 0, "should have no console errors"); +}); |