From 0cac7ec55d71dc68e562974f19a5210b20a30a2d Mon Sep 17 00:00:00 2001 From: "michaelp%netscape.com" Date: Wed, 30 Sep 1998 18:57:27 +0000 Subject: [PATCH] added support for deferred plugin enumeration. git-svn-id: svn://10.0.0.236/trunk@11576 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp | 6 ++++++ mozilla/modules/plugin/base/src/nsPluginHostImpl.h | 1 + mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp | 6 ++++++ mozilla/modules/plugin/nglsrc/nsPluginHostImpl.h | 1 + 4 files changed, 14 insertions(+) diff --git a/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp b/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp index cdbe499a67b..24120f41bc3 100644 --- a/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp @@ -686,6 +686,7 @@ printf("manager getvalue %d called\n", variable); nsresult nsPluginHostImpl :: ReloadPlugins(PRBool reloadPages) { + mPluginsLoaded = PR_FALSE; return LoadPlugins(); } @@ -1211,6 +1212,8 @@ printf("plugin %s added to list %s\n", plugintag->mName, (plugintag->mFlags & NS #endif #endif + mPluginsLoaded = PR_TRUE; + return NS_OK; } @@ -1220,6 +1223,9 @@ nsresult nsPluginHostImpl :: InstantiatePlugin(const char *aMimeType, nsIURL *aU nsPluginTag *plugins = nsnull; PRInt32 variants, cnt; + if (PR_FALSE == mPluginsLoaded) + LoadPlugins(); + if (nsnull != aMimeType) { plugins = mPlugins; diff --git a/mozilla/modules/plugin/base/src/nsPluginHostImpl.h b/mozilla/modules/plugin/base/src/nsPluginHostImpl.h index 661d829c649..876408c6771 100644 --- a/mozilla/modules/plugin/base/src/nsPluginHostImpl.h +++ b/mozilla/modules/plugin/base/src/nsPluginHostImpl.h @@ -169,6 +169,7 @@ private: char *mPluginPath; nsPluginTag *mPlugins; nsIMalloc *mMalloc; + PRBool mPluginsLoaded; }; #endif diff --git a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp index cdbe499a67b..24120f41bc3 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp @@ -686,6 +686,7 @@ printf("manager getvalue %d called\n", variable); nsresult nsPluginHostImpl :: ReloadPlugins(PRBool reloadPages) { + mPluginsLoaded = PR_FALSE; return LoadPlugins(); } @@ -1211,6 +1212,8 @@ printf("plugin %s added to list %s\n", plugintag->mName, (plugintag->mFlags & NS #endif #endif + mPluginsLoaded = PR_TRUE; + return NS_OK; } @@ -1220,6 +1223,9 @@ nsresult nsPluginHostImpl :: InstantiatePlugin(const char *aMimeType, nsIURL *aU nsPluginTag *plugins = nsnull; PRInt32 variants, cnt; + if (PR_FALSE == mPluginsLoaded) + LoadPlugins(); + if (nsnull != aMimeType) { plugins = mPlugins; diff --git a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.h b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.h index 661d829c649..876408c6771 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.h +++ b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.h @@ -169,6 +169,7 @@ private: char *mPluginPath; nsPluginTag *mPlugins; nsIMalloc *mMalloc; + PRBool mPluginsLoaded; }; #endif