diff --git a/extensions/java/xpcom/XPCOMJavaProxy.java b/extensions/java/xpcom/XPCOMJavaProxy.java index f1ff446ebfc..fced1b898bd 100644 --- a/extensions/java/xpcom/XPCOMJavaProxy.java +++ b/extensions/java/xpcom/XPCOMJavaProxy.java @@ -83,7 +83,13 @@ public class XPCOMJavaProxy implements InvocationHandler { * @return Proxy of given XPCOM object */ protected static Object createProxy(Class aInterface, long aXPCOMInstance) { - return Proxy.newProxyInstance(aInterface.getClassLoader(), + // XXX We should really get the class loader from |aInterface|. However, + // that class loader doesn't know about |XPCOMJavaProxyBase|. So for + // now, we get the class loader that loaded |XPCOMJavaProxy|. When + // we get rid of the "XPCOMJavaProxyBase.java" class, we can revert + // to the old method below. +// return Proxy.newProxyInstance(aInterface.getClassLoader(), + return Proxy.newProxyInstance(XPCOMJavaProxy.class.getClassLoader(), new Class[] { aInterface, XPCOMJavaProxyBase.class }, new XPCOMJavaProxy(aXPCOMInstance)); } diff --git a/extensions/java/xpcom/XPCOMJavaProxyBase.java b/extensions/java/xpcom/XPCOMJavaProxyBase.java index e2a823cdc0e..e69de29bb2d 100644 --- a/extensions/java/xpcom/XPCOMJavaProxyBase.java +++ b/extensions/java/xpcom/XPCOMJavaProxyBase.java @@ -1,53 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Java XPCOM Bindings. - * - * The Initial Developer of the Original Code is - * IBM Corporation. - * Portions created by the Initial Developer are Copyright (C) 2004 - * IBM Corporation. All Rights Reserved. - * - * Contributor(s): - * Javier Pedemonte (jhpedemonte@gmail.com) - * - * 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 - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -package org.mozilla.xpcom; - - -/** - * This interface forms the foundation of any XPCOMJavaProxy that is created. - * It allows us to handle any JVM calls to finalize when the Proxy - * is garbage collected. - */ -public interface XPCOMJavaProxyBase { - - /** - * @see java.lang.Object#finalize() - */ - void finalize() throws Throwable; - -} diff --git a/extensions/java/xpcom/interfaces/Makefile.in b/extensions/java/xpcom/interfaces/Makefile.in index f40739b143e..0bce05d8df6 100644 --- a/extensions/java/xpcom/interfaces/Makefile.in +++ b/extensions/java/xpcom/interfaces/Makefile.in @@ -54,7 +54,6 @@ JAVA_SRCS = \ $(srcdir)/IAppFileLocProvider.java \ $(srcdir)/INIParser.java \ $(srcdir)/VersionComparator.java \ - $(srcdir)/../XPCOMJavaProxyBase.java \ $(NULL) GEN_JAVA_SRCS = \ diff --git a/extensions/java/xpcom/src/Makefile.in b/extensions/java/xpcom/src/Makefile.in index 260cd4c4075..c99eec04491 100755 --- a/extensions/java/xpcom/src/Makefile.in +++ b/extensions/java/xpcom/src/Makefile.in @@ -71,6 +71,7 @@ JARFILE_SRC = $(patsubst %.jar,%-src.jar,$(JARFILE)) JAVA_SRCS = \ $(srcdir)/../XPCOMJavaProxy.java \ + $(srcdir)/../XPCOMJavaProxyBase.java \ $(srcdir)/GREImpl.java \ $(srcdir)/XPCOMImpl.java \ $(NULL)