Bug 353693 - nsJavaXPTCStub should use Java class' loader for loading Mozilla classes. r=apeller, a=mconnor. XULRunner only.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@213078 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2006-10-03 20:02:15 +00:00
parent 11f44d06fa
commit 38493d58c0
7 changed files with 96 additions and 19 deletions

View File

@@ -1135,7 +1135,7 @@ FinalizeParams(JNIEnv *env, const nsXPTParamInfo &aParamInfo, PRUint8 aType,
jobject java_obj = nsnull;
if (xpcom_obj) {
// Get matching Java object for given xpcom object
rv = GetNewOrUsedJavaObject(env, xpcom_obj, aIID, &java_obj);
rv = GetNewOrUsedJavaObject(env, xpcom_obj, aIID, nsnull, &java_obj);
if (NS_FAILED(rv))
break;
}
@@ -1626,7 +1626,7 @@ JAVAPROXY_NATIVE(callXPCOMMethod) (JNIEnv *env, jclass that, jobject aJavaProxy,
nsresult
CreateJavaProxy(JNIEnv* env, nsISupports* aXPCOMObject, const nsIID& aIID,
jobject* aResult)
jobject aObjectLoader, jobject* aResult)
{
NS_PRECONDITION(aResult != nsnull, "null ptr");
if (!aResult)
@@ -1656,9 +1656,9 @@ CreateJavaProxy(JNIEnv* env, nsISupports* aXPCOMObject, const nsIID& aIID,
jobject java_obj = nsnull;
// Create proper Java interface name
nsCAutoString class_name("org/mozilla/xpcom/");
nsCAutoString class_name("org.mozilla.xpcom.");
class_name.AppendASCII(iface_name);
jclass ifaceClass = env->FindClass(class_name.get());
jclass ifaceClass = FindClassInLoader(env, aObjectLoader, class_name.get());
if (ifaceClass) {
java_obj = env->CallStaticObjectMethod(xpcomJavaProxyClass,