Added logging to pluglet module

a = laa@sparc.spb.su
r = idk@eng.sun.com

Added workaround for 24194
a = idk@eng.sun.com


git-svn-id: svn://10.0.0.236/trunk@58067 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
idk%eng.sun.com
2000-01-18 02:53:58 +00:00
parent 46fcdc0f40
commit 5633d0bbfb
18 changed files with 259 additions and 22 deletions

View File

@@ -24,7 +24,7 @@
#include "PlugletPeer.h"
#include "Registry.h"
#include "PlugletViewFactory.h"
#include "PlugletLog.h"
jmethodID Pluglet::initializeMID = NULL;
jmethodID Pluglet::startMID = NULL;
@@ -54,11 +54,15 @@ Pluglet::~Pluglet() {
}
NS_METHOD Pluglet::HandleEvent(nsPluginEvent* event, PRBool* handled) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::HandleEvent; stub\n"));
//nb we do not need it under win32
return NS_OK;
}
NS_METHOD Pluglet::Initialize(nsIPluginInstancePeer* _peer) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::Initialize\n"));
JNIEnv *env = PlugletEngine::GetJNIEnv();
if (!printMID) {
jclass clazz = env->FindClass("org/mozilla/pluglet/Pluglet");
@@ -113,14 +117,16 @@ NS_METHOD Pluglet::Initialize(nsIPluginInstancePeer* _peer) {
}
NS_METHOD Pluglet::GetPeer(nsIPluginInstancePeer* *result) {
printf("--Pluglet::GetPeer\n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::GetPeer\n"));
peer->AddRef();
*result = peer;
return NS_OK;
}
NS_METHOD Pluglet::Start(void) {
printf("--Pluglet::Start\n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::Start\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,startMID);
if (env->ExceptionOccurred()) {
@@ -130,7 +136,8 @@ NS_METHOD Pluglet::Start(void) {
return NS_OK;
}
NS_METHOD Pluglet::Stop(void) {
printf("--Pluglet::Stop\n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::Stop\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,stopMID);
if (env->ExceptionOccurred()) {
@@ -140,6 +147,8 @@ NS_METHOD Pluglet::Stop(void) {
return NS_OK;
}
NS_METHOD Pluglet::Destroy(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::Destroy\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,destroyMID);
if (env->ExceptionOccurred()) {
@@ -150,7 +159,8 @@ NS_METHOD Pluglet::Destroy(void) {
}
NS_METHOD Pluglet::NewStream(nsIPluginStreamListener** listener) {
printf("--Pluglet::NewStream \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::NewStream\n"));
if(!listener) {
return NS_ERROR_FAILURE;
}
@@ -168,12 +178,14 @@ NS_METHOD Pluglet::NewStream(nsIPluginStreamListener** listener) {
}
NS_METHOD Pluglet::GetValue(nsPluginInstanceVariable variable, void *value) {
printf("--Pluglet::GetValue\n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::GetValue; stub\n"));
return NS_ERROR_FAILURE;
}
NS_METHOD Pluglet::SetWindow(nsPluginWindow* window) {
printf("--Pluglet::SetWindow \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::SetWindow\n"));
if (view->SetWindow(window) == PR_TRUE) {
JNIEnv *env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,setWindowMID,view->GetJObject());
@@ -186,6 +198,8 @@ NS_METHOD Pluglet::SetWindow(nsPluginWindow* window) {
}
NS_METHOD Pluglet::Print(nsPluginPrint* platformPrint) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("Pluglet::Print; stub\n"));
//nb
return NS_OK;
}

View File

@@ -25,6 +25,7 @@
#include "PlugletManager.h"
#include "nsIGenericFactory.h"
#include "nsIModule.h"
#include "PlugletLog.h"
#ifndef OJI_DISABLE
#include "ProxyJNI.h"
@@ -40,6 +41,7 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_CID(kPluginManagerCID, NS_PLUGINMANAGER_CID);
PRLogModuleInfo* PlugletLog::log = NULL;
#define PLUGLETENGINE_PROGID \
"component://netscape/blackwood/pluglet-engine"
@@ -91,6 +93,8 @@ NS_METHOD PlugletEngine::CreateInstance(nsISupports *aOuter,
NS_METHOD PlugletEngine::CreatePluginInstance(nsISupports *aOuter, REFNSIID aIID,
const char* aPluginMIMEType, void **aResult) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::CreatePluginInstance\n"));
if (!aResult) {
return NS_ERROR_FAILURE;
}
@@ -105,6 +109,8 @@ NS_METHOD PlugletEngine::CreatePluginInstance(nsISupports *aOuter, REFNSIID aIID
}
NS_METHOD PlugletEngine::GetMIMEDescription(const char* *result) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::GetMimeDescription\n"));
if (!result) {
return NS_ERROR_FAILURE;
}
@@ -113,6 +119,8 @@ NS_METHOD PlugletEngine::GetMIMEDescription(const char* *result) {
}
NS_METHOD PlugletEngine::GetValue(nsPluginVariable variable, void *value) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::GetValue; stub\n"));
//nb ????
return NS_OK;
}
@@ -143,6 +151,7 @@ char *ToString(jobject obj,JNIEnv *env) {
PlugletEngine::PlugletEngine() {
NS_INIT_REFCNT();
PlugletLog::log = PR_NewLogModule("pluglets");
dir = new PlugletsDir();
engine = this;
objectCount++;
@@ -165,6 +174,8 @@ PlugletEngine::~PlugletEngine(void) {
JavaVM *PlugletEngine::jvm = NULL;
void PlugletEngine::StartJVM(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::StartJVM\n"));
JNIEnv *env = NULL;
jint res;
JDK1_1InitArgs vm_args;
@@ -174,7 +185,8 @@ void PlugletEngine::StartJVM(void) {
/* Append USER_CLASSPATH to the default system class path */
sprintf(classpath, "%s%c%s",
vm_args.classpath, PATH_SEPARATOR, PR_GetEnv("CLASSPATH"));
printf("-- classpath %s\n",classpath);
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::StartJVM classpath=%s\n",classpath));
char **props = new char*[2];
props[0]="java.compiler=NONE";
props[1]=0;
@@ -183,9 +195,11 @@ void PlugletEngine::StartJVM(void) {
/* Create the Java VM */
res = JNI_CreateJavaVM(&jvm, &env, &vm_args);
if(res < 0 ) {
printf("--JNI_CreateJavaVM failed \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::StartJVM JNI_CreateJavaVM failed \n"));
} else {
printf("--PlugletEngine::StartJVM() jvm was started \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::StartJVM jvm was started \n"));
}
}
#endif /* OJI_DISABLE */
@@ -210,16 +224,18 @@ JNIEnv * PlugletEngine::GetJNIEnv(void) {
SetSecurityContext(res,securityContext);
#else /* OJI_DISABLE */
if (!jvm) {
printf(":) starting jvm\n");
StartJVM();
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::GetJNIEnv going to start our own jvm \n"));
StartJVM();
}
jvm->AttachCurrentThread(&res,NULL);
printf("--PluglgetEngine::GetJNIEnv after jvm->Attach \n");
#endif /* OJI_DISABLE */
return res;
}
jobject PlugletEngine::GetPlugletManager(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletEngine::GetPlugletManager\n"));
if (!pluginManager) {
nsresult res;
NS_WITH_SERVICE(nsIPluginManager,_pluginManager,kPluginManagerCID,&res);

View File

@@ -23,6 +23,7 @@
#include "PlugletLoader.h"
#include "Pluglet.h"
#include "string.h"
#include "PlugletLog.h"
jmethodID PlugletFactory::createPlugletMID = NULL;
jmethodID PlugletFactory::initializeMID = NULL;
@@ -30,6 +31,8 @@ jmethodID PlugletFactory::shutdownMID = NULL;
nsresult PlugletFactory::CreatePluginInstance(const char* aPluginMIMEType, void **aResult) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletFactory::CreatePluginInstance\n"));
if(!aResult
|| Initialize() != NS_OK) {
return NS_ERROR_FAILURE;
@@ -51,6 +54,8 @@ nsresult PlugletFactory::CreatePluginInstance(const char* aPluginMIMEType, void
}
nsresult PlugletFactory::Initialize(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletFactory::Initialize\n"));
JNIEnv *env = PlugletEngine::GetJNIEnv();
if(!env) {
return NS_ERROR_FAILURE;
@@ -93,6 +98,8 @@ nsresult PlugletFactory::Initialize(void) {
}
nsresult PlugletFactory::Shutdown(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletFactory::Shutdown\n"));
if(!jthis) {
return NS_ERROR_FAILURE;
@@ -110,6 +117,8 @@ nsresult PlugletFactory::Shutdown(void) {
}
nsresult PlugletFactory::GetMIMEDescription(const char* *result) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletFactory::GetMimeDescription\n"));
if(!result) {
return NS_ERROR_FAILURE;
}
@@ -140,6 +149,8 @@ PlugletFactory::~PlugletFactory(void) {
}
PlugletFactory * PlugletFactory::Load(const char * path) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletFactory::Load\n"));
char * mime = PlugletLoader::GetMIMEDescription(path);
PlugletFactory * result = NULL;
if (mime) {

View File

@@ -21,6 +21,8 @@
#include "string.h"
#include "PlugletEngine.h"
#include "PlugletLoader.h"
#include "PlugletLog.h"
jclass PlugletLoader::clazz = NULL;
jmethodID PlugletLoader::getMIMEDescriptionMID = NULL;
jmethodID PlugletLoader::getPlugletMID = NULL;
@@ -43,6 +45,8 @@ static char *ToString(jobject obj,JNIEnv *env) {
}
void PlugletLoader::Initialize(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletLoader::Initialize\n"));
//nb erors handling
JNIEnv * env = PlugletEngine::GetJNIEnv();
clazz = env->FindClass("org/mozilla/pluglet/PlugletLoader");
@@ -68,11 +72,15 @@ void PlugletLoader::Initialize(void) {
}
void PlugletLoader::Destroy(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletLoader::destroy\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->DeleteGlobalRef(clazz);
}
char * PlugletLoader::GetMIMEDescription(const char * path) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletLoader::GetMIMEDescription\n"));
if (!clazz) {
Initialize();
if (!clazz) {
@@ -103,6 +111,8 @@ char * PlugletLoader::GetMIMEDescription(const char * path) {
}
jobject PlugletLoader::GetPluglet(const char * path) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletLoader::GetPluglet\n"));
if (!clazz) {
Initialize();
if (!clazz) {

View File

@@ -0,0 +1,8 @@
#include "prlog.h"
struct PRLodMoguleInfo;
class PlugletLog {
public:
static PRLogModuleInfo* log;
};

View File

@@ -22,6 +22,7 @@
#include "PlugletEngine.h"
#include "PlugletStreamInfo.h"
#include "PlugletInputStream.h"
#include "PlugletLog.h"
jmethodID PlugletStreamListener::onStartBindingMID = NULL;
jmethodID PlugletStreamListener::onDataAvailableMID = NULL;
@@ -30,6 +31,8 @@ jmethodID PlugletStreamListener::onStopBindingMID = NULL;
jmethodID PlugletStreamListener::getStreamTypeMID = NULL;
void PlugletStreamListener::Initialize(void) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::Initialize\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
jclass clazz = env->FindClass("org/mozilla/pluglet/PlugletStreamListener");
onStartBindingMID = env->GetMethodID(clazz, "onStartBinding","(Lorg/mozilla/pluglet/mozilla/PlugletStreamInfo;)V");
@@ -52,6 +55,8 @@ PlugletStreamListener::~PlugletStreamListener(void) {
}
NS_METHOD PlugletStreamListener::OnStartBinding(nsIPluginStreamInfo* pluginInfo) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::OnStartBinding\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,onStartBindingMID,PlugletStreamInfo::GetJObject(pluginInfo));
if (env->ExceptionOccurred()) {
@@ -62,6 +67,8 @@ NS_METHOD PlugletStreamListener::OnStartBinding(nsIPluginStreamInfo* pluginInfo
}
NS_METHOD PlugletStreamListener::OnDataAvailable(nsIPluginStreamInfo* pluginInfo, nsIInputStream* input, PRUint32 length) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::OnDataAvailable\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,onDataAvailableMID,PlugletStreamInfo::GetJObject(pluginInfo),
PlugletInputStream::GetJObject(input),(jint)length);
@@ -73,6 +80,8 @@ NS_METHOD PlugletStreamListener::OnDataAvailable(nsIPluginStreamInfo* pluginInfo
}
NS_METHOD PlugletStreamListener::OnFileAvailable(nsIPluginStreamInfo* pluginInfo, const char* fileName) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::OnFileAvailable\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,onFileAvailableMID,PlugletStreamInfo::GetJObject(pluginInfo),
env->NewStringUTF(fileName));
@@ -84,6 +93,8 @@ NS_METHOD PlugletStreamListener::OnFileAvailable(nsIPluginStreamInfo* pluginInfo
}
NS_METHOD PlugletStreamListener::OnStopBinding(nsIPluginStreamInfo* pluginInfo, nsresult status) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::OnStopBinding\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
env->CallVoidMethod(jthis,onStopBindingMID,PlugletStreamInfo::GetJObject(pluginInfo),status);
if (env->ExceptionOccurred()) {
@@ -94,6 +105,8 @@ NS_METHOD PlugletStreamListener::OnStopBinding(nsIPluginStreamInfo* pluginInfo,
}
NS_METHOD PlugletStreamListener::GetStreamType(nsPluginStreamType *result) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletStreamListener::GetStreamType\n"));
JNIEnv * env = PlugletEngine::GetJNIEnv();
*result = (nsPluginStreamType)env->CallIntMethod(jthis,getStreamTypeMID);
if (env->ExceptionOccurred()) {

View File

@@ -37,15 +37,20 @@
#include "PlugletViewMotif.h"
#include "PlugletEngine.h"
#include "PlugletLog.h"
jclass PlugletViewMotif::clazz = NULL;
jmethodID PlugletViewMotif::initMID = NULL;
PlugletViewMotif::PlugletViewMotif() {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletViewMotif.Constructor this=%p\n",this));
frame = NULL;
WindowID = 0;
}
void PlugletViewMotif::Initialize() {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletViewMotif.Initialize\n"));
JNIEnv *env = PlugletEngine::GetJNIEnv();
clazz = env->FindClass("sun/awt/motif/MEmbeddedFrame");
if (!clazz) {
@@ -70,7 +75,8 @@ extern jobject awt_lock;
extern Display *awt_display;
PRBool PlugletViewMotif::SetWindow(nsPluginWindow* win) {
printf("--PlugletViewMotif::SetWindow \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletViewMotif.SetWindow this=%p\n",this));
JNIEnv *env = PlugletEngine::GetJNIEnv();
if(!clazz) {
Initialize();
@@ -81,7 +87,8 @@ PRBool PlugletViewMotif::SetWindow(nsPluginWindow* win) {
if (!win
|| !win->window) {
if (win && !win->window) {
printf("--PlugletViewMotif win->window = NULL. We have a bug in plugin module \n");
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletViewMotif.SetWindow win->window = NULL. We have a bug in plugin module. this=%p\n",this));
}
if (frame) {
env->DeleteGlobalRef(frame);
@@ -145,9 +152,7 @@ PRBool PlugletViewMotif::SetWindow(nsPluginWindow* win) {
}
}
printf("--before new frame\n");
frame = env->NewObject(clazz,initMID,(jlong)w);
printf("--after new frame\n");
if(frame) {
frame = env->NewGlobalRef(frame);
if (env->ExceptionOccurred()) {

View File

@@ -20,6 +20,7 @@
*/
#include"PlugletsDir.h"
#include "prenv.h"
#include "PlugletLog.h"
PlugletsDir::PlugletsDir(void) {
list = NULL;
@@ -35,6 +36,8 @@ PlugletsDir::~PlugletsDir(void) {
}
void PlugletsDir::LoadPluglets() {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletsDir::LoadPluglets\n"));
if (!list) {
list = new List();
char * path = PR_GetEnv("PLUGLET");