diff -r 000000000000 -r 6474c204b198 browser/base/content/test/plugins/browser_bug744745.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/base/content/test/plugins/browser_bug744745.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,43 @@ +/* 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 gTestBrowser = null; +var gNumPluginBindingsAttached = 0; + +Components.utils.import("resource://gre/modules/Services.jsm"); + +function test() { + waitForExplicitFinish(); + registerCleanupFunction(function() { + Services.prefs.clearUserPref("plugins.click_to_play"); + gTestBrowser.removeEventListener("PluginBindingAttached", pluginBindingAttached, true, true); + gBrowser.removeCurrentTab(); + window.focus(); + }); + + Services.prefs.setBoolPref("plugins.click_to_play", true); + setTestPluginEnabledState(Ci.nsIPluginTag.STATE_CLICKTOPLAY); + + gBrowser.selectedTab = gBrowser.addTab(); + gTestBrowser = gBrowser.selectedBrowser; + gTestBrowser.addEventListener("PluginBindingAttached", pluginBindingAttached, true, true); + var gHttpTestRoot = getRootDirectory(gTestPath).replace("chrome://mochitests/content/", "http://127.0.0.1:8888/"); + gTestBrowser.contentWindow.location = gHttpTestRoot + "plugin_bug744745.html"; +} + +function pluginBindingAttached() { + gNumPluginBindingsAttached++; + + if (gNumPluginBindingsAttached == 1) { + var doc = gTestBrowser.contentDocument; + var testplugin = doc.getElementById("test"); + ok(testplugin, "should have test plugin"); + var style = getComputedStyle(testplugin); + ok('opacity' in style, "style should have opacity set"); + is(style.opacity, 1, "opacity should be 1"); + finish(); + } else { + ok(false, "if we've gotten here, something is quite wrong"); + } +}