diff options
Diffstat (limited to 'browser/base/content/test/plugins/browser_bug797677.js')
-rw-r--r-- | browser/base/content/test/plugins/browser_bug797677.js | 45 |
1 files changed, 45 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 0000000000..bcb35d161e --- /dev/null +++ b/browser/base/content/test/plugins/browser_bug797677.js @@ -0,0 +1,45 @@ +var gTestRoot = getRootDirectory(gTestPath).replace( + "chrome://mochitests/content/", + "http://127.0.0.1:8888/" +); +var gTestBrowser = null; +var gConsoleErrors = 0; + +add_task(async function() { + registerCleanupFunction(function() { + Services.console.unregisterListener(errorListener); + gBrowser.removeCurrentTab(); + window.focus(); + gTestBrowser = null; + }); + + gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser); + gTestBrowser = gBrowser.selectedBrowser; + + let errorListener = { + observe(aMessage) { + if (aMessage.message.includes("NS_ERROR_FAILURE")) { + gConsoleErrors++; + } + }, + }; + Services.console.registerListener(errorListener); + + await promiseTabLoadEvent( + gBrowser.selectedTab, + gTestRoot + "plugin_bug797677.html" + ); + + let pluginInfo = await promiseForPluginInfo("plugin"); + is( + pluginInfo.displayedType, + Ci.nsIObjectLoadingContent.TYPE_NULL, + "plugin should not have been found." + ); + + await SpecialPowers.spawn(gTestBrowser, [], function() { + let plugin = content.document.getElementById("plugin"); + ok(plugin, "plugin should be in the page"); + }); + is(gConsoleErrors, 0, "should have no console errors"); +}); |