mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-14 15:37:55 +00:00
48 lines
1.7 KiB
JavaScript
48 lines
1.7 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
var rootDir = getRootDirectory(gTestPath);
|
|
const gHttpTestRoot = rootDir.replace("chrome://mochitests/content/", "http://127.0.0.1:8888/");
|
|
const Cc = Components.classes;
|
|
const Ci = Components.interfaces;
|
|
var gTestBrowser = null;
|
|
var gConsoleErrors = 0;
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
var newTab = gBrowser.addTab();
|
|
gBrowser.selectedTab = newTab;
|
|
gTestBrowser = gBrowser.selectedBrowser;
|
|
gTestBrowser.addEventListener("PluginBindingAttached", pluginBindingAttached, true, true);
|
|
var consoleService = Cc["@mozilla.org/consoleservice;1"]
|
|
.getService(Ci.nsIConsoleService);
|
|
var errorListener = {
|
|
observe: function(aMessage) {
|
|
if (aMessage.message.contains("NS_ERROR"))
|
|
gConsoleErrors++;
|
|
}
|
|
};
|
|
consoleService.registerListener(errorListener);
|
|
registerCleanupFunction(function() {
|
|
gTestBrowser.removeEventListener("PluginBindingAttached", pluginBindingAttached, true);
|
|
consoleService.unregisterListener(errorListener);
|
|
gBrowser.removeCurrentTab();
|
|
window.focus();
|
|
});
|
|
gTestBrowser.contentWindow.location = gHttpTestRoot + "plugin_bug797677.html";
|
|
}
|
|
|
|
function pluginBindingAttached() {
|
|
// Let browser-plugins.js handle the PluginNotFound event, then run the test
|
|
executeSoon(runTest);
|
|
}
|
|
|
|
function runTest() {
|
|
var doc = gTestBrowser.contentDocument;
|
|
var plugin = doc.getElementById("plugin");
|
|
ok(plugin, "plugin should be in the page");
|
|
is(gConsoleErrors, 0, "should have no console errors");
|
|
finish();
|
|
}
|