Bug 713803 - Rationalize JNI access accross android widget. r=blassey

This commit is contained in:
Doug Turner
2012-01-28 22:38:02 -08:00
parent c7bda6e332
commit 2abf72a957
12 changed files with 726 additions and 395 deletions

View File

@@ -64,17 +64,20 @@ nsresult
PluginPRLibrary::NP_Initialize(NPNetscapeFuncs* bFuncs,
NPPluginFuncs* pFuncs, NPError* error)
{
JNIEnv* env = GetJNIForThread();
if (!env)
return NS_ERROR_FAILURE;
if (mNP_Initialize) {
*error = mNP_Initialize(bFuncs, pFuncs, GetJNIForThread());
*error = mNP_Initialize(bFuncs, pFuncs, env);
} else {
NP_InitializeFunc pfNP_Initialize = (NP_InitializeFunc)
PR_FindFunctionSymbol(mLibrary, "NP_Initialize");
if (!pfNP_Initialize)
return NS_ERROR_FAILURE;
*error = pfNP_Initialize(bFuncs, pFuncs, GetJNIForThread());
*error = pfNP_Initialize(bFuncs, pFuncs, env);
}
// Save pointers to functions that get called through PluginLibrary itself.
mNPP_New = pFuncs->newp;
mNPP_GetValue = pFuncs->getvalue;