diff --git a/modules/plugin/base/src/nsPluginHost.cpp b/modules/plugin/base/src/nsPluginHost.cpp index b2cd3667dc63..bef9e8e9c587 100644 --- a/modules/plugin/base/src/nsPluginHost.cpp +++ b/modules/plugin/base/src/nsPluginHost.cpp @@ -1708,6 +1708,11 @@ nsPluginHost::nsPluginHost() mDefaultPluginDisabled = tmp; } + rv = mPrefService->GetBoolPref("plugin.disable", &tmp); + if (NS_SUCCEEDED(rv)) { + mPluginsDisabled = tmp; + } + #ifdef WINCE mDefaultPluginDisabled = PR_TRUE; #endif @@ -3694,6 +3699,9 @@ NS_IMETHODIMP nsPluginHost::LoadPlugins() if (mPluginsLoaded) return NS_OK; + if (mPluginsDisabled) + return NS_OK; + PRBool pluginschanged; nsresult rv = FindPlugins(PR_TRUE, &pluginschanged); if (NS_FAILED(rv)) diff --git a/modules/plugin/base/src/nsPluginHost.h b/modules/plugin/base/src/nsPluginHost.h index 11bae40719e7..3ff4ababc92a 100644 --- a/modules/plugin/base/src/nsPluginHost.h +++ b/modules/plugin/base/src/nsPluginHost.h @@ -259,6 +259,9 @@ private: // set by pref plugin.default_plugin_disabled PRPackedBool mDefaultPluginDisabled; + // set by pref plugin.disable + PRPackedBool mPluginsDisabled; + nsPluginInstanceTagList mPluginInstanceTagList; nsTArray mUnusedLibraries;