michael@0: Components.utils.import("resource://gre/modules/Services.jsm"); michael@0: michael@0: function run_test() { michael@0: let pluginDefaultState = Services.prefs.getIntPref("plugin.default.state"); michael@0: // if this fails, we just have to switch around the values we're testing michael@0: do_check_neq(pluginDefaultState, Ci.nsIPluginTag.STATE_DISABLED); michael@0: let nonDefaultState = (pluginDefaultState != Ci.nsIPluginTag.STATE_ENABLED ? michael@0: Ci.nsIPluginTag.STATE_ENABLED : michael@0: Ci.nsIPluginTag.STATE_CLICKTOPLAY); michael@0: let ph = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost); michael@0: let testPlugin = get_test_plugintag(); michael@0: // the test plugin should have the default enabledState michael@0: do_check_eq(testPlugin.enabledState, pluginDefaultState); michael@0: michael@0: let secondTestPlugin = get_test_plugintag("Second Test Plug-in"); michael@0: // set an enabledState for the second test plugin michael@0: secondTestPlugin.enabledState = Ci.nsIPluginTag.STATE_DISABLED; michael@0: // change what the default enabledState is michael@0: Services.prefs.setIntPref("plugin.default.state", nonDefaultState); michael@0: // the test plugin should follow the default (it has no individual pref yet) michael@0: do_check_eq(testPlugin.enabledState, nonDefaultState); michael@0: // the second test plugin should retain its preferred state michael@0: do_check_eq(secondTestPlugin.enabledState, Ci.nsIPluginTag.STATE_DISABLED); michael@0: michael@0: // clean up michael@0: testPlugin.enabledState = pluginDefaultState; michael@0: secondTestPlugin.enabledState = pluginDefaultState; michael@0: Services.prefs.clearUserPref("plugin.default.state"); michael@0: Services.prefs.clearUserPref("plugin.importedState"); michael@0: }