зеркало из https://github.com/mozilla/gecko-dev.git
Remove some code that is no longer necessary for the Java plugin on AIX. b=498148 r/sr=jst
This commit is contained in:
Родитель
b9c20b5769
Коммит
be6ccc14d9
|
@ -20,6 +20,7 @@
|
|||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Alex Musil
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
|
@ -35,14 +36,6 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
nsPluginsDirUNIX.cpp
|
||||
|
||||
UNIX implementation of the nsPluginsDir/nsPluginsFile classes.
|
||||
|
||||
by Alex Musil
|
||||
*/
|
||||
|
||||
#include "nsNPAPIPlugin.h"
|
||||
#include "nsNPAPIPluginInstance.h"
|
||||
#include "nsIMemory.h"
|
||||
|
@ -57,11 +50,6 @@
|
|||
#include "nsILocalFile.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
#include "nsIPrefService.h"
|
||||
#ifdef AIX
|
||||
#include "nsPluginLogging.h"
|
||||
#include "prprf.h"
|
||||
#define LOG(args) PLUGIN_LOG(PLUGIN_LOG_NORMAL, args)
|
||||
#endif
|
||||
|
||||
#define LOCAL_PLUGIN_DLL_SUFFIX ".so"
|
||||
#if defined(__hpux)
|
||||
|
@ -251,10 +239,6 @@ static void LoadExtraSharedLibs()
|
|||
}
|
||||
#endif //MOZ_WIDGET_GTK2
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* nsPluginsDir implementation */
|
||||
|
||||
PRBool nsPluginsDir::IsPluginFile(nsIFile* file)
|
||||
|
@ -277,85 +261,17 @@ PRBool nsPluginsDir::IsPluginFile(nsIFile* file)
|
|||
return PR_FALSE;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* nsPluginFile implementation */
|
||||
|
||||
nsPluginFile::nsPluginFile(nsIFile* file)
|
||||
: mPlugin(file)
|
||||
{
|
||||
// nada
|
||||
}
|
||||
|
||||
nsPluginFile::~nsPluginFile()
|
||||
{
|
||||
// nada
|
||||
}
|
||||
|
||||
#ifdef AIX
|
||||
/**
|
||||
* This code is necessary for Java 1.4.2 SR2 and later on AIX, as the
|
||||
* loadquery() function is no longer used to determine the path to the
|
||||
* installed JVM, so we need to manually set the LIBPATH variable to
|
||||
* include the proper directories needed to run the Java plug-in.
|
||||
*
|
||||
* See Bug 297807 for more information.
|
||||
*/
|
||||
static char *javaLibPath = NULL;
|
||||
|
||||
static void SetJavaLibPath(const nsCString& pluginPath)
|
||||
{
|
||||
// If javaLibPath is non-NULL, that means we have already set the LIBPATH
|
||||
// variable once this session, so we don't need to do it again.
|
||||
if (javaLibPath)
|
||||
return;
|
||||
|
||||
nsCAutoString javaDir, newLibPath;
|
||||
|
||||
PRInt32 pos = pluginPath.RFindChar('/');
|
||||
if (pos == kNotFound || pos == 0)
|
||||
return;
|
||||
|
||||
javaDir = Substring(pluginPath, 0, pos);
|
||||
LOG(("AIX: Java dir is %s\n", javaDir.get()));
|
||||
|
||||
// Add jre/bin to new LIBPATH
|
||||
newLibPath += javaDir;
|
||||
|
||||
// Check for existance of jre/bin/classic dir, and append it to
|
||||
// LIBPATH if found
|
||||
PRFileInfo info;
|
||||
javaDir.AppendLiteral("/classic");
|
||||
if (PR_GetFileInfo(javaDir.get(), &info) == PR_SUCCESS &&
|
||||
info.type == PR_FILE_DIRECTORY)
|
||||
{
|
||||
newLibPath.Append(':');
|
||||
newLibPath.Append(javaDir);
|
||||
}
|
||||
|
||||
// Get the current LIBPATH, and append it to the new LIBPATH
|
||||
const char *currentLibPath = PR_GetEnv("LIBPATH");
|
||||
LOG(("AIX: current LIBPATH=%s\n", currentLibPath));
|
||||
if (currentLibPath && *currentLibPath) {
|
||||
newLibPath.Append(':');
|
||||
newLibPath.Append(currentLibPath);
|
||||
}
|
||||
|
||||
// Set the LIBPATH to include the path to the JRE directories.
|
||||
// NOTE: We are leaking javaLibPath here, as it needs to remain in memory
|
||||
// for PR_SetEnv to work properly.
|
||||
javaLibPath = PR_smprintf("LIBPATH=%s", newLibPath.get());
|
||||
if (javaLibPath) {
|
||||
LOG(("AIX: new LIBPATH=%s\n", newLibPath.get()));
|
||||
PR_SetEnv(javaLibPath);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Loads the plugin into memory using NSPR's shared-library loading
|
||||
* mechanism. Handles platform differences in loading shared libraries.
|
||||
*/
|
||||
nsresult nsPluginFile::LoadPlugin(PRLibrary* &outLibrary)
|
||||
{
|
||||
PRLibSpec libSpec;
|
||||
|
@ -371,21 +287,10 @@ nsresult nsPluginFile::LoadPlugin(PRLibrary* &outLibrary)
|
|||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
#ifdef AIX
|
||||
nsCAutoString leafName;
|
||||
rv = mPlugin->GetNativeLeafName(leafName);
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
if (StringBeginsWith(leafName, NS_LITERAL_CSTRING("libjavaplugin_oji")))
|
||||
SetJavaLibPath(path);
|
||||
#endif
|
||||
|
||||
libSpec.value.pathname = path.get();
|
||||
|
||||
#if defined(MOZ_WIDGET_GTK2)
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Normally, Mozilla isn't linked against libXt and libXext
|
||||
// since it's a Gtk/Gdk application. On the other hand,
|
||||
// legacy plug-ins expect the libXt and libXext symbols
|
||||
|
@ -424,9 +329,6 @@ nsresult nsPluginFile::LoadPlugin(PRLibrary* &outLibrary)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains all of the information currently available for this plugin.
|
||||
*/
|
||||
nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
|
||||
{
|
||||
info.fVersion = nsnull;
|
||||
|
@ -477,7 +379,6 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
nsresult nsPluginFile::FreePluginInfo(nsPluginInfo& info)
|
||||
{
|
||||
if (info.fName != nsnull)
|
||||
|
|
Загрузка…
Ссылка в новой задаче