From 1879d39ceaebda0d7ea1ee4973fa293b2cda5453 Mon Sep 17 00:00:00 2001 From: "edburns%acm.org" Date: Wed, 15 Nov 2006 01:11:42 +0000 Subject: [PATCH] Add new first argument to PlugletFactory.initialize(): the string that is the path to the jar from which the pluglet is loaded. SECTION: Changes M classes/org/mozilla/pluglet/PlugletFactory.java M classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java - Add new first argument to PlugletFactory.initialize(): the string that is the path to the jar from which the pluglet is loaded. M examples/MediaPlayer/JMPlayer.java M test/test.java - Account for new first argument M src/PlugletFactory.cpp - new JNI signature for initialize. git-svn-id: svn://10.0.0.236/trunk@215304 18797224-902f-48f8-a5cc-f745e15eee43 --- .../classes/org/mozilla/pluglet/PlugletFactory.java | 2 +- .../classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java | 2 +- mozilla/java/plugins/examples/MediaPlayer/JMPlayer.java | 2 +- mozilla/java/plugins/src/PlugletEngine.cpp | 2 +- mozilla/java/plugins/src/PlugletFactory.cpp | 7 +++++-- mozilla/java/plugins/test/test.java | 5 +++-- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactory.java b/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactory.java index 77b4e62f405..3345c9c2d3b 100644 --- a/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactory.java +++ b/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactory.java @@ -56,7 +56,7 @@ public interface PlugletFactory { * @param manager This is an instance of PlugletManager that is passed * to this method. */ - public void initialize(PlugletManager manager); + public void initialize(String plugletJarFileName, PlugletManager manager); /** * Called when the browser is done with a PlugletFactory instance. Normally * there is only one PlugletFactory instance. diff --git a/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java b/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java index 3962920e578..d369bc5a7b6 100644 --- a/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java +++ b/mozilla/java/plugins/classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java @@ -26,7 +26,7 @@ public class PlugletFactoryAdaptor implements PlugletFactory { public Pluglet createPluglet(String mimeType) { return null; } - public void initialize(PlugletManager manager) { + public void initialize(String plugletPath, PlugletManager manager) { } public void shutdown() { } diff --git a/mozilla/java/plugins/examples/MediaPlayer/JMPlayer.java b/mozilla/java/plugins/examples/MediaPlayer/JMPlayer.java index 2aae07e7785..3bb605d2e82 100644 --- a/mozilla/java/plugins/examples/MediaPlayer/JMPlayer.java +++ b/mozilla/java/plugins/examples/MediaPlayer/JMPlayer.java @@ -27,7 +27,7 @@ public class JMPlayer implements PlugletFactory { } return player; } - public void initialize(PlugletManager manager) { + public void initialize(String plugletPath, PlugletManager manager) { } public void shutdown() { } diff --git a/mozilla/java/plugins/src/PlugletEngine.cpp b/mozilla/java/plugins/src/PlugletEngine.cpp index 43713b82317..4a4a1cf8a38 100644 --- a/mozilla/java/plugins/src/PlugletEngine.cpp +++ b/mozilla/java/plugins/src/PlugletEngine.cpp @@ -202,7 +202,7 @@ void PlugletEngine::StartJVM() { options[3].optionString=""; //-Djava.compiler=NONE"; vm_args.version = JNI_VERSION_1_4; vm_args.options = options; - vm_args.nOptions = 1; // EDBURNS: Change for debugging + vm_args.nOptions = 3; // EDBURNS: Change to 4 for debugging vm_args.ignoreUnrecognized = JNI_FALSE; /* Create the Java VM */ res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); diff --git a/mozilla/java/plugins/src/PlugletFactory.cpp b/mozilla/java/plugins/src/PlugletFactory.cpp index 951c5074731..5aa48c95239 100644 --- a/mozilla/java/plugins/src/PlugletFactory.cpp +++ b/mozilla/java/plugins/src/PlugletFactory.cpp @@ -99,7 +99,8 @@ nsresult PlugletFactory::Initialize(void) { env->ExceptionDescribe(); return NS_ERROR_FAILURE; } - initializeMID = env->GetMethodID(clazz,"initialize","(Lorg/mozilla/pluglet/mozilla/PlugletManager;)V"); + initializeMID = env->GetMethodID(clazz,"initialize", + "(Ljava/lang/String;Lorg/mozilla/pluglet/mozilla/PlugletManager;)V"); if (!initializeMID) { env->ExceptionDescribe(); return NS_ERROR_FAILURE; @@ -116,7 +117,9 @@ nsresult PlugletFactory::Initialize(void) { if (NS_FAILED(rv)) { return rv; } - env->CallVoidMethod(jthis,initializeMID,plugletEngineObj); + jstring jpath = env->NewStringUTF(path); + env->CallVoidMethod(jthis,initializeMID, jpath, plugletEngineObj); + env->ReleaseStringUTFChars(jpath, path); if (env->ExceptionOccurred()) { env->ExceptionDescribe(); return NS_ERROR_FAILURE; diff --git a/mozilla/java/plugins/test/test.java b/mozilla/java/plugins/test/test.java index 921a59781ac..f60b79b5036 100644 --- a/mozilla/java/plugins/test/test.java +++ b/mozilla/java/plugins/test/test.java @@ -42,8 +42,9 @@ public class test implements PlugletFactory { * Initializes the pluglet and will be called before any new instances are * created. */ - public void initialize(PlugletManager manager) { - org.mozilla.util.DebugPluglet.print("--test.initialize\n"); + public void initialize(String plugletPath, PlugletManager manager) { + org.mozilla.util.DebugPluglet.print("--test.initialize(" + + plugletPath + ")\n"); } /** * Called when the browser is done with the pluglet factory, or when