diff options
15 files changed, 587 insertions, 32 deletions
diff --git a/java/eclipse/Makefile b/java/eclipse/Makefile index a265f04d84ba..6709c294000a 100644 --- a/java/eclipse/Makefile +++ b/java/eclipse/Makefile @@ -7,7 +7,7 @@ PORTNAME= eclipse PORTVERSION= 3.2.1 -#PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= java devel MASTER_SITES= ${MASTER_SITE_ECLIPSE} MASTER_SITE_SUBDIR= R-${PORTVERSION}-200609210945 @@ -27,6 +27,10 @@ USE_GMAKE= yes USE_ZIP= yes USE_GCC= 3.4+ +.if !defined(WITHOUT_MOZILLA) +USE_GECKO= xulrunner firefox mozilla seamonkey +.endif + USE_JAVA= yes JAVA_VERSION= 1.5+ JAVA_OS= native @@ -39,26 +43,6 @@ ECLIPSE_OS= freebsd ECLIPSE_WS= gtk -.if !defined(WITHOUT_MOZILLA) -MAKE_MOZILLA= make_mozilla -.if defined(WITH_MOZILLA) && ${WITH_MOZILLA} != "mozilla" -BROWSER= ${WITH_MOZILLA} -BUILD_DEPENDS+= ${BROWSER}:${PORTSDIR}/www/${BROWSER} -.else -BUILD_DEPENDS+= mozilla:${PORTSDIR}/www/mozilla -BROWSER= mozilla -.endif -.else -BROWSER= -MAKE_MOZILLA= -.endif -.if defined(WITHOUT_CAIRO) -MAKE_CAIRO= -.else -LIB_DEPENDS= cairo.2:${PORTSDIR}/graphics/cairo -MAKE_CAIRO= make_cairo -.endif - .if defined(WITHOUT_GNOMEVFS) MAKE_GNOME= USE_GNOME= gtk20 pkgconfig desktopfileutils @@ -67,8 +51,23 @@ MAKE_GNOME= make_gnome USE_GNOME= gtk20 gnomevfs2 libgnome libgnomeui pkgconfig desktopfileutils .endif +.if defined(WITHOUT_CAIRO) +MAKE_CAIRO= +.else +LIB_DEPENDS= cairo.2:${PORTSDIR}/graphics/cairo +MAKE_CAIRO= make_cairo +.endif + .include <bsd.port.pre.mk> +.if !defined(WITHOUT_MOZILLA) +MAKE_MOZILLA= make_mozilla +BROWSER= ${GECKO} +.else +BROWSER= +MAKE_MOZILLA= +.endif + .if (${ARCH} == "amd64") ECLIPSE_ARCH= amd64 ECLIPSE_SWT= gtk64 @@ -91,12 +90,25 @@ PLIST_FILES= bin/eclipse share/applications/eclipse.desktop SWTCAIRO=${WRKSRC}/plugins/org.eclipse.swt/Eclipse SWT PI/cairo/library SWTGTK=${WRKSRC}/plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library +SWTMOZ=${WRKSRC}/plugins/org.eclipse.swt/Eclipse SWT Mozilla # Manually patch some files with spaces in the path post-patch: @${PATCH} ${PATCH_DIST_ARGS} "${SWTGTK}/build.sh" ${FILESDIR}/post-patch-plugins-swt-gtk-build.sh @${PATCH} ${PATCH_DIST_ARGS} "${SWTGTK}/make_freebsd.mak" ${FILESDIR}/post-patch-plugins-swt-gtk-make_freebsd.mak @${PATCH} ${PATCH_DIST_ARGS} "${SWTGTK}/os_custom.h" ${FILESDIR}/post-patch-plugins-swt-gtk-os_custom.h + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/gtk/org/eclipse/swt/browser/Browser.java" ${FILESDIR}/post-patch-plugins-swt-mozilla-Browser.java + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/org/eclipse/swt/internal/mozilla/XPCOM.java" ${FILESDIR}/post-patch-plugins-swt-mozilla-XPCOM.java + @${PATCH} ${PATCH_DIST_ARGS} "${WRKSRC}/plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties" ${FILESDIR}/post-patch-plugins-swt-mozilla-XPCOM.properties + @${PATCH} ${PATCH_DIST_ARGS} "${WRKSRC}/plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM_PROFILE.properties" ${FILESDIR}/post-patch-plugins-swt-mozilla-XPCOM_PROFILE.properties + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/library/xpcom.cpp" ${FILESDIR}/post-patch-plugins-swt-mozilla-xpcom.cpp + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/library/xpcom.h" ${FILESDIR}/post-patch-plugins-swt-mozilla-xpcom.h + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/library/xpcom_profile.h" ${FILESDIR}/post-patch-plugins-swt-mozilla-xpcom_profile.h + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/library/xpcom_stats.cpp" ${FILESDIR}/post-patch-plugins-swt-mozilla-xpcom_stats.cpp + @${PATCH} ${PATCH_DIST_ARGS} "${SWTMOZ}/common/library/xpcom_stats.h" ${FILESDIR}/post-patch-plugins-swt-mozilla-xpcom_stats.h + @${REINPLACE_CMD} -e 's|%%GECKO%%|${GECKO}|g' \ + "${WRKSRC}/plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh" \ + "${WRKSRC}/plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_freebsd.mak" do-build: @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} \ @@ -109,6 +121,7 @@ do-install: -e "s+%%ECLIPSE_HOME%%+${PORTDESTDIR}+g" \ -e "s+%%PREFIX%%+${PREFIX}+g" \ -e "s+%%X11BASE%%+${X11BASE}+g" \ + -e "s+%%LOCALBASE%%+${LOCALBASE}+g" \ -e "s+%%BROWSER%%+${BROWSER}+g" \ -e "s,%%JAVA_VERSION%%,${JAVA_VERSION},g" \ -e "s+%%JAVA_OS%%+${JAVA_OS}+g" \ @@ -118,6 +131,7 @@ do-install: -e "s+%%ECLIPSE_HOME%%+${PORTDESTDIR}+g" \ -e "s+%%PREFIX%%+${PREFIX}+g" \ ${FILESDIR}/eclipse.desktop > ${WRKSRC}/eclipse.desktop.tmp + ${MKDIR} ${PREFIX}/share/applications/ || ${TRUE} ${INSTALL_DATA} ${WRKSRC}/eclipse.desktop.tmp ${PREFIX}/share/applications/eclipse.desktop ${INSTALL_PROGRAM} ${WRKSRC}/launchertmp/eclipse ${PREFIX}/eclipse/eclipse @-update-desktop-database @@ -127,4 +141,5 @@ do-install: | ${SED} -ne 's,^,@dirrm ,p' >> ${TMPPLIST} @echo '@unexec ${PREFIX}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST} +.include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk" .include <bsd.port.post.mk> diff --git a/java/eclipse/distinfo b/java/eclipse/distinfo index f4aced74f712..c3c451174f3d 100644 --- a/java/eclipse/distinfo +++ b/java/eclipse/distinfo @@ -1,4 +1,3 @@ MD5 (eclipse/eclipse-sourceBuild-srcIncluded-3.2.1.zip) = 0fe89e9c7cf07a56c4fe8e2d7f5a394b SHA256 (eclipse/eclipse-sourceBuild-srcIncluded-3.2.1.zip) = 2d6a0628333d068b6ab678c42f925d71df1c003035543830a30e3ee80fb855c7 SIZE (eclipse/eclipse-sourceBuild-srcIncluded-3.2.1.zip) = 82433420 - diff --git a/java/eclipse/files/eclipse.in b/java/eclipse/files/eclipse.in index 588c8815dce5..a1c7576eb288 100644 --- a/java/eclipse/files/eclipse.in +++ b/java/eclipse/files/eclipse.in @@ -10,8 +10,9 @@ DEFAULT_JAVA_HOME=%%PREFIX%% ECLIPSE_HOME=%%ECLIPSE_HOME%% DEFAULT_JAVA_CMD=java -MOZILLA_FIVE_HOME=%%LOCALBASE%%/include/%%BROWSER%% -export MOZILLA_FIVE_HOME +MOZILLA_FIVE_HOME=%%LOCALBASE%%/lib/%%BROWSER%% +LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MOZILLA_FIVE_HOME +export MOZILLA_FIVE_HOME LD_LIBRARY_PATH #----------------------------------------------------------------------------- # Determine configuration settings diff --git a/java/eclipse/files/patch-plugins-swt-amd64-build.xml b/java/eclipse/files/patch-plugins-swt-amd64-build.xml new file mode 100644 index 000000000000..abd941e25dab --- /dev/null +++ b/java/eclipse/files/patch-plugins-swt-amd64-build.xml @@ -0,0 +1,45 @@ +--- plugins/org.eclipse.swt.gtk.freebsd.amd64/build.xml.orig Mon Dec 11 01:10:05 2006 ++++ plugins/org.eclipse.swt.gtk.freebsd.amd64/build.xml Mon Dec 11 01:20:33 2006 +@@ -39,18 +39,17 @@ + + <target name="properties" if="eclipse.running"> + <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> +- <!--compile the jar in org.eclipse.swt.tools--> + </target> + + <target name="build.update.jar" depends="init"> +- <delete dir="${temp.folder}"/> ++ <!-- <delete dir="${temp.folder}"/> + <mkdir dir="${temp.folder}"/> + <antcall target="build.jars"/> + <antcall target="gather.bin.parts"> + <param name="destination.temp.folder" value="${temp.folder}/"/> + </antcall> + <zip zipfile="${plugin.destination}/${full.name}.jar" basedir="${temp.folder}/${full.name}" filesonly="false"/> +- <delete dir="${temp.folder}"/> ++ <delete dir="${temp.folder}"/> --> + </target> + + <target name="@dot" depends="init" unless="@dot" description="Create jar: @dot."> +@@ -222,8 +221,11 @@ + </target> + + <target name="build.cfiles" depends="build.jars"> ++ <!-- compile the jar in org.eclipse.swt.tools --> ++ <ant antfile="build.xml" dir="${toolsplugindir}" inheritAll="false" target="build.jars" /> ++ + <!-- generate the C code from the (64 bit) SWT PI java classes --> +- <!-- assumes the swt.jar has already been built --> ++ <!-- assumes the swttools.jar has already been built --> + <java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.gtk.OS"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java> + <java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.accessibility.gtk.ATK"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java> + <java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.cairo.Cairo"/><arg value="${basedir}/src/Eclipse SWT PI/cairo/library/"/><arg value="${build.result.folder}/swt.jar"/></java> +@@ -325,6 +327,8 @@ + <delete file="${plugin.destination}/${full.name}.jar"/> + <delete file="${plugin.destination}/${full.name}.zip"/> + <delete dir="${temp.folder}"/> ++ <!-- delete swttools.jar so that it will be compiled in the build.jars target --> ++ <ant antfile="build.xml" dir="${toolsplugindir}" inheritAll="false" target="clean" /> + </target> + + <target name="refresh" depends="init" if="eclipse.running"> diff --git a/java/eclipse/files/post-patch-plugins-swt-gtk-build.sh b/java/eclipse/files/post-patch-plugins-swt-gtk-build.sh index 5242e07e782f..516e926da1e5 100644 --- a/java/eclipse/files/post-patch-plugins-swt-gtk-build.sh +++ b/java/eclipse/files/post-patch-plugins-swt-gtk-build.sh @@ -68,9 +68,9 @@ - echo " *** Mozilla embedding support will not be compiled." +if [ ${MAKE_MOZILLA} != "" ]; then + if [ -z "${GECKO_INCLUDES}" -a -z "${GECKO_LIBS}" ]; then -+ if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then -+ GECKO_INCLUDES=`pkg-config --cflags mozilla-xpcom` -+ GECKO_LIBS=`pkg-config --libs mozilla-xpcom` ++ if [ x`pkg-config --exists %%GECKO%%-xpcom && echo YES` = "xYES" ]; then ++ GECKO_INCLUDES=`pkg-config --cflags %%GECKO%%-xpcom` ++ GECKO_LIBS=`pkg-config --libs %%GECKO%%-xpcom` + export GECKO_INCLUDES + export GECKO_LIBS + MAKE_MOZILLA=make_mozilla diff --git a/java/eclipse/files/post-patch-plugins-swt-gtk-make_freebsd.mak b/java/eclipse/files/post-patch-plugins-swt-gtk-make_freebsd.mak index ed565f244462..b9e4b6e9bae7 100644 --- a/java/eclipse/files/post-patch-plugins-swt-gtk-make_freebsd.mak +++ b/java/eclipse/files/post-patch-plugins-swt-gtk-make_freebsd.mak @@ -1,5 +1,5 @@ ---- plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_freebsd.mak.orig Mon Oct 9 16:06:20 2006 -+++ plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_freebsd.mak Mon Oct 9 16:27:59 2006 +--- plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_freebsd.mak.orig Thu Dec 14 18:01:12 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_freebsd.mak Thu Dec 14 18:03:00 2006 @@ -48,7 +48,7 @@ # Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0) @@ -22,9 +22,9 @@ -I. \ -I$(JAVA_HOME)/include \ -I$(JAVA_HOME)/include/freebsd \ -+ -I$(LOCALBASE)/include/mozilla \ -+ -I$(LOCALBASE)/include/mozilla/profdirserviceprovider \ -+ -I$(LOCALBASE)/include/mozilla/string \ ++ -I$(LOCALBASE)/include/%%GECKO%% \ ++ -I$(LOCALBASE)/include/%%GECKO%%/profdirserviceprovider \ ++ -I$(LOCALBASE)/include/%%GECKO%%/string \ + -I$(LOCALBASE)/include/nspr \ ${SWT_PTR_CFLAGS} MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic @@ -48,3 +48,41 @@ # # SWT libs +@@ -202,7 +207,7 @@ + # + # Mozilla lib + # +-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB) ++make_mozilla:$(MOZILLA_LIB) + + $(MOZILLA_LIB): $(MOZILLA_OBJECTS) + $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS} +@@ -220,22 +225,22 @@ + $(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp + + $(PROFILE14_OBJECTS): xpcom_profile.cpp +- $(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp ++ $(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp + + $(PROFILE17_OBJECTS): xpcom_profile.cpp +- $(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp ++ $(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp + + $(PROFILE18_OBJECTS): xpcom_profile.cpp +- $(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp ++ $(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp + + $(PROFILE14_LIB): $(PROFILE14_OBJECTS) +- $(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS} ++ $(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS} ${GECKO_LIBS} + + $(PROFILE17_LIB): $(PROFILE17_OBJECTS) +- $(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS} ++ $(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS} ${GECKO_LIBS} + + $(PROFILE18_LIB): $(PROFILE18_OBJECTS) +- $(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS} ++ $(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS} ${GECKO_LIBS} + + # + # GLX lib diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-Browser.java b/java/eclipse/files/post-patch-plugins-swt-mozilla-Browser.java new file mode 100644 index 000000000000..f8d7c65b806c --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-Browser.java @@ -0,0 +1,186 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java.orig Wed Nov 29 14:32:45 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java Wed Nov 29 14:42:01 2006 +@@ -10,15 +10,75 @@ + *******************************************************************************/ + package org.eclipse.swt.browser; + +-import java.io.*; +-import java.util.*; +-import org.eclipse.swt.*; +-import org.eclipse.swt.widgets.*; +-import org.eclipse.swt.graphics.*; +-import org.eclipse.swt.internal.*; +-import org.eclipse.swt.internal.gtk.*; +-import org.eclipse.swt.internal.mozilla.*; +-import org.eclipse.swt.layout.*; ++import java.io.File; ++import java.io.UnsupportedEncodingException; ++import java.util.Locale; ++import java.util.StringTokenizer; ++ ++import org.eclipse.swt.SWT; ++import org.eclipse.swt.SWTError; ++import org.eclipse.swt.SWTException; ++import org.eclipse.swt.graphics.Point; ++import org.eclipse.swt.graphics.Rectangle; ++import org.eclipse.swt.internal.Callback; ++import org.eclipse.swt.internal.Converter; ++import org.eclipse.swt.internal.Library; ++import org.eclipse.swt.internal.gtk.GdkEvent; ++import org.eclipse.swt.internal.gtk.LONG; ++import org.eclipse.swt.internal.gtk.OS; ++import org.eclipse.swt.internal.mozilla.XPCOM; ++import org.eclipse.swt.internal.mozilla.XPCOMObject; ++import org.eclipse.swt.internal.mozilla.nsEmbedString; ++import org.eclipse.swt.internal.mozilla.nsIAppShell; ++import org.eclipse.swt.internal.mozilla.nsIBaseWindow; ++import org.eclipse.swt.internal.mozilla.nsICategoryManager; ++import org.eclipse.swt.internal.mozilla.nsIComponentManager; ++import org.eclipse.swt.internal.mozilla.nsIComponentRegistrar; ++import org.eclipse.swt.internal.mozilla.nsIContextMenuListener; ++import org.eclipse.swt.internal.mozilla.nsICookie; ++import org.eclipse.swt.internal.mozilla.nsICookieManager; ++import org.eclipse.swt.internal.mozilla.nsID; ++import org.eclipse.swt.internal.mozilla.nsIDOMEvent; ++import org.eclipse.swt.internal.mozilla.nsIDOMMouseEvent; ++import org.eclipse.swt.internal.mozilla.nsIDOMWindow; ++import org.eclipse.swt.internal.mozilla.nsIDirectoryService; ++import org.eclipse.swt.internal.mozilla.nsIDocShell; ++import org.eclipse.swt.internal.mozilla.nsIEmbeddingSiteWindow; ++import org.eclipse.swt.internal.mozilla.nsIFile; ++import org.eclipse.swt.internal.mozilla.nsIIOService; ++import org.eclipse.swt.internal.mozilla.nsIInterfaceRequestor; ++import org.eclipse.swt.internal.mozilla.nsILocalFile; ++import org.eclipse.swt.internal.mozilla.nsIPrefBranch; ++import org.eclipse.swt.internal.mozilla.nsIPrefLocalizedString; ++import org.eclipse.swt.internal.mozilla.nsIPrefService; ++import org.eclipse.swt.internal.mozilla.nsIProperties; ++import org.eclipse.swt.internal.mozilla.nsIRequest; ++import org.eclipse.swt.internal.mozilla.nsIServiceManager; ++import org.eclipse.swt.internal.mozilla.nsISimpleEnumerator; ++import org.eclipse.swt.internal.mozilla.nsISupports; ++import org.eclipse.swt.internal.mozilla.nsISupportsWeakReference; ++import org.eclipse.swt.internal.mozilla.nsITooltipListener; ++import org.eclipse.swt.internal.mozilla.nsIURI; ++import org.eclipse.swt.internal.mozilla.nsIURIContentListener; ++import org.eclipse.swt.internal.mozilla.nsIWeakReference; ++import org.eclipse.swt.internal.mozilla.nsIWebBrowser; ++import org.eclipse.swt.internal.mozilla.nsIWebBrowserChrome; ++import org.eclipse.swt.internal.mozilla.nsIWebBrowserChromeFocus; ++import org.eclipse.swt.internal.mozilla.nsIWebBrowserFocus; ++import org.eclipse.swt.internal.mozilla.nsIWebBrowserStream; ++import org.eclipse.swt.internal.mozilla.nsIWebNavigation; ++import org.eclipse.swt.internal.mozilla.nsIWebProgress; ++import org.eclipse.swt.internal.mozilla.nsIWebProgressListener; ++import org.eclipse.swt.internal.mozilla.nsIWindowWatcher; ++import org.eclipse.swt.layout.FillLayout; ++import org.eclipse.swt.widgets.Composite; ++import org.eclipse.swt.widgets.Display; ++import org.eclipse.swt.widgets.Event; ++import org.eclipse.swt.widgets.Label; ++import org.eclipse.swt.widgets.Listener; ++import org.eclipse.swt.widgets.Menu; ++import org.eclipse.swt.widgets.Shell; ++import org.eclipse.swt.widgets.Widget; + + /** + * Instances of this class implement the browser user interface +@@ -175,40 +235,9 @@ + * - mozilla17profile/mozilla17profile-gcc should succeed for mozilla 1.7.x and firefox + * - mozilla18profile/mozilla18profile-gcc should succeed for mozilla 1.8.x (seamonkey) + */ +- try { +- Library.loadLibrary ("swt-mozilla14-profile"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e1) { +- try { +- Library.loadLibrary ("swt-mozilla17-profile"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e2) { +- try { +- Library.loadLibrary ("swt-mozilla14-profile-gcc3"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e3) { +- try { +- Library.loadLibrary ("swt-mozilla17-profile-gcc3"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e4) { +- try { +- Library.loadLibrary ("swt-mozilla18-profile"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e5) { +- try { +- Library.loadLibrary ("swt-mozilla18-profile-gcc3"); //$NON-NLS-1$ +- usingProfile = true; +- } catch (UnsatisfiedLinkError e6) { +- /* +- * fail silently, the Browser will still work without profile support +- * but will abort any attempts to navigate to HTTPS pages +- */ +- } +- } +- } +- } +- } +- } ++ //Library.loadLibrary("swt-mozilla17-profile"); ++ // We build the profile stuff without the need for a separate DSO ++ usingProfile = true; + + int /*long*/[] retVal = new int /*long*/[1]; + nsEmbedString pathString = new nsEmbedString(mozillaPath); +@@ -218,11 +247,11 @@ + if (retVal[0] == 0) error(XPCOM.NS_ERROR_NULL_POINTER); + + nsILocalFile localFile = new nsILocalFile(retVal[0]); +- rc = XPCOM.NS_InitEmbedding(localFile.getAddress(), 0); ++ rc = XPCOM.NS_InitXPCOM3(0, localFile.getAddress(), 0, 0, 0); + localFile.Release(); + if (rc != XPCOM.NS_OK) { + dispose(); +- SWT.error(SWT.ERROR_NO_HANDLES, null, " [NS_InitEmbedding "+mozillaPath+" error "+rc+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ++ SWT.error(SWT.ERROR_NO_HANDLES, null, " [NS_InitXPCOM3 "+mozillaPath+" error "+rc+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + + rc = XPCOM.NS_GetComponentManager(result); +@@ -283,7 +312,7 @@ + rc = properties.Get(buffer, nsIFile.NS_IFILE_IID, result); + if (rc != XPCOM.NS_OK) error(rc); + if (result[0] == 0) error(XPCOM.NS_NOINTERFACE); +- properties.Release(); ++ // properties.Release() is now after the Set below + + nsIFile profileDir = new nsIFile(result[0]); + result[0] = 0; +@@ -305,24 +334,15 @@ + pathString.dispose(); // + + profileDir = new nsIFile(result[0]); +- result[0] = 0; +- +- rc = XPCOM_PROFILE.NS_NewProfileDirServiceProvider(true, result); ++ ++ // Set the profile dir property so that it's initialized for ++ // things like password manager and https ++ buffer = Converter.wcsToMbcs(null, XPCOM.NS_APP_USER_PROFILE_50_DIR, true); ++ rc = properties.Set(buffer, profileDir.getAddress()); + if (rc != XPCOM.NS_OK) error(rc); +- if (result[0] == 0) error(XPCOM.NS_NOINTERFACE); +- +- final int /*long*/ dirServiceProvider = result[0]; ++ properties.Release(); ++ + result[0] = 0; +- rc = XPCOM_PROFILE.ProfileDirServiceProvider_Register(dirServiceProvider); +- if (rc != XPCOM.NS_OK) error(rc); +- rc = XPCOM_PROFILE.ProfileDirServiceProvider_SetProfileDir(dirServiceProvider, profileDir.getAddress()); +- if (rc != XPCOM.NS_OK) error(rc); +- +- getDisplay().addListener(SWT.Dispose, new Listener() { +- public void handleEvent(Event e) { +- XPCOM_PROFILE.ProfileDirServiceProvider_Shutdown(dirServiceProvider); +- } +- }); + } + + /* diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.java b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.java new file mode 100644 index 000000000000..b18678a5aa28 --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.java @@ -0,0 +1,21 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java.orig Wed Nov 29 14:11:42 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java Wed Nov 29 14:14:30 2006 +@@ -89,6 +89,7 @@ + public static final int NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = 0x804e03f3; + public static final int NS_ERROR_FILE_NOT_FOUND = 0x80520012; + public static final String NS_APP_APPLICATION_REGISTRY_DIR = "AppRegD"; //$NON-NLS-1$ ++ public static final String NS_APP_USER_PROFILE_50_DIR = "ProfD"; //$NON-NLS-1$ + + public static final native void memmove(nsID dest, int /*long*/ src, int nbytes); + public static final native void memmove(int /*long*/ dest, nsID src, int nbytes); +@@ -103,9 +104,8 @@ + public static final native void memmove(byte[] dest, char[] src, int nbytes); + public static final native int NS_GetComponentManager(int /*long*/[] result); + public static final native int NS_GetServiceManager(int /*long*/[] result); +-public static final native int NS_InitEmbedding(int /*long*/ aMozBinDirectory, int /*long*/ aAppFileLocProvider); ++public static final native int NS_InitXPCOM3(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider, int /*long*/ staticComponents, int componentCount); + public static final native int NS_NewLocalFile(int /*long*/ path, boolean followLinks, int /*long*/[] result); +-public static final native int NS_TermEmbedding(); + public static final native int strlen_PRUnichar(int /*long*/ s); + public static final native int /*long*/ nsEmbedCString_new(); + public static final native int /*long*/ nsEmbedCString_new(byte[] aString, int length); diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.properties b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.properties new file mode 100644 index 000000000000..c662b2c6935b --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.properties @@ -0,0 +1,25 @@ +--- plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties.orig Wed Nov 29 14:17:21 2006 ++++ plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties Wed Nov 29 14:18:14 2006 +@@ -24,16 +24,17 @@ + XPCOM_NS_GetServiceManager= + XPCOM_NS_GetServiceManager_0=cast=(nsIServiceManager**) + +-XPCOM_NS_InitEmbedding= +-XPCOM_NS_InitEmbedding_0=cast=(nsILocalFile *) +-XPCOM_NS_InitEmbedding_1=cast=(nsIDirectoryServiceProvider *) ++XPCOM_NS_InitXPCOM3= ++XPCOM_NS_InitXPCOM3_0=cast=(nsIServiceManager**) ++XPCOM_NS_InitXPCOM3_1=cast=(nsIFile *) ++XPCOM_NS_InitXPCOM3_2=cast=(nsIDirectoryServiceProvider *) ++XPCOM_NS_InitXPCOM3_3=cast=(const nsStaticModuleInfo *) ++XPCOM_NS_InitXPCOM3_4=cast=(PRUint32) + + XPCOM_NS_NewLocalFile= + XPCOM_NS_NewLocalFile_0=cast=(nsAString *),flags=struct + XPCOM_NS_NewLocalFile_1= + XPCOM_NS_NewLocalFile_2=cast=(nsILocalFile**) +- +-XPCOM_NS_TermEmbedding= + + XPCOM_PR_Free= + XPCOM_PR_Free_0=cast=(void *) diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM_PROFILE.properties b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM_PROFILE.properties new file mode 100644 index 000000000000..448c9445bd2d --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM_PROFILE.properties @@ -0,0 +1,25 @@ +--- plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM_PROFILE.properties.orig Mon Dec 11 02:02:04 2006 ++++ plugins/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM_PROFILE.properties Mon Dec 11 02:03:34 2006 +@@ -24,16 +24,17 @@ + XPCOM_NS_GetServiceManager= + XPCOM_NS_GetServiceManager_0= + +-XPCOM_NS_InitEmbedding= +-XPCOM_NS_InitEmbedding_0= +-XPCOM_NS_InitEmbedding_1= ++XPCOM_NS_InitXPCOM3= ++XPCOM_NS_InitXPCOM3_0=cast=(nsIServiceManager**) ++XPCOM_NS_InitXPCOM3_1=cast=(nsIFile *) ++XPCOM_NS_InitXPCOM3_2=cast=(nsIDirectoryServiceProvider *) ++XPCOM_NS_InitXPCOM3_3=cast=(const nsStaticModuleInfo *) ++XPCOM_NS_InitXPCOM3_4=cast=(PRUint32) + + XPCOM_NS_NewLocalFile= + XPCOM_NS_NewLocalFile_0= + XPCOM_NS_NewLocalFile_1= + XPCOM_NS_NewLocalFile_2= +- +-XPCOM_NS_TermEmbedding= + + XPCOM_PR_Free= + XPCOM_PR_Free_0= diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.cpp b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.cpp new file mode 100644 index 000000000000..2c7342aec328 --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.cpp @@ -0,0 +1,143 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp.orig Thu Sep 21 10:57:23 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp Wed Nov 29 19:46:27 2006 +@@ -85,14 +85,16 @@ + } + #endif + +-#ifndef NO_NS_1InitEmbedding +-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitEmbedding) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_NS_1InitXPCOM3 ++JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitXPCOM3) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4) + { + jint rc = 0; +- XPCOM_NATIVE_ENTER(env, that, NS_1InitEmbedding_FUNC); +- rc = (jint)NS_InitEmbedding((nsILocalFile *)arg0, (nsIDirectoryServiceProvider *)arg1); +- XPCOM_NATIVE_EXIT(env, that, NS_1InitEmbedding_FUNC); ++ XPCOM_NATIVE_ENTER(env, that, NS_1GetComponentRegistrar_FUNC); ++ rc = (jint)NS_InitXPCOM3((nsIServiceManager **)arg0, (nsIFile *)arg1, ++ (nsIDirectoryServiceProvider *)arg2, (nsStaticModuleInfo *)arg3, ++ (PRUint32) arg4); ++ XPCOM_NATIVE_EXIT(env, that, NS_1GetComponentRegistrar_FUNC); + return rc; + } + #endif +@@ -113,18 +115,6 @@ + } + #endif + +-#ifndef NO_NS_1TermEmbedding +-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1TermEmbedding) +- (JNIEnv *env, jclass that) +-{ +- jint rc = 0; +- XPCOM_NATIVE_ENTER(env, that, NS_1TermEmbedding_FUNC); +- rc = (jint)NS_TermEmbedding(); +- XPCOM_NATIVE_EXIT(env, that, NS_1TermEmbedding_FUNC); +- return rc; +-} +-#endif +- + #ifndef NO_PR_1Free + JNIEXPORT void JNICALL XPCOM_NATIVE(PR_1Free) + (JNIEnv *env, jclass that, jint arg0) +@@ -141,7 +131,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, PR_1Malloc_FUNC); +- rc = (jint)PR_Malloc(arg0); ++ rc = (long)PR_Malloc(arg0); + XPCOM_NATIVE_EXIT(env, that, PR_1Malloc_FUNC); + return rc; + } +@@ -2091,7 +2081,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1get_FUNC); +- rc = (jint)((nsEmbedCString *)arg0)->get(); ++ rc = (long)((nsEmbedCString *)arg0)->get(); + XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1get_FUNC); + return rc; + } +@@ -2103,7 +2093,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___FUNC); +- rc = (jint)new nsEmbedCString(); ++ rc = (long)new nsEmbedCString(); + XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___FUNC); + return rc; + } +@@ -2117,7 +2107,7 @@ + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___3BI_FUNC); + if (arg0) if ((lparg0 = env->GetByteArrayElements(arg0, NULL)) == NULL) goto fail; +- rc = (jint)new nsEmbedCString((const char *)lparg0, arg1); ++ rc = (long)new nsEmbedCString((const char *)lparg0, arg1); + fail: + if (arg0 && lparg0) env->ReleaseByteArrayElements(arg0, lparg0, 0); + XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___3BI_FUNC); +@@ -2131,7 +2121,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1Length_FUNC); +- rc = (jint)((nsEmbedString *)arg0)->Length(); ++ rc = (long)((nsEmbedString *)arg0)->Length(); + XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1Length_FUNC); + return rc; + } +@@ -2153,7 +2143,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1get_FUNC); +- rc = (jint)((nsEmbedString *)arg0)->get(); ++ rc = (long)((nsEmbedString *)arg0)->get(); + XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1get_FUNC); + return rc; + } +@@ -2165,7 +2155,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___FUNC); +- rc = (jint)new nsEmbedString(); ++ rc = (long)new nsEmbedString(); + XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___FUNC); + return rc; + } +@@ -2179,7 +2169,7 @@ + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___3C_FUNC); + if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail; +- rc = (jint)new nsEmbedString(lparg0); ++ rc = (long)new nsEmbedString(lparg0); + fail: + if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0); + XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___3C_FUNC); +@@ -2193,7 +2183,7 @@ + { + jboolean rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsID_1Equals_FUNC); +- rc = (jboolean)((nsID *)arg0)->Equals(*(nsID *)arg1); ++ rc = (long)((nsID *)arg0)->Equals(*(nsID *)arg1); + XPCOM_NATIVE_EXIT(env, that, nsID_1Equals_FUNC); + return rc; + } +@@ -2207,7 +2197,7 @@ + jboolean rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsID_1Parse_FUNC); + if (arg1) if ((lparg1 = env->GetStringUTFChars(arg1, NULL)) == NULL) goto fail; +- rc = (jboolean)((nsID *)arg0)->Parse((const char *)lparg1); ++ rc = (long)((nsID *)arg0)->Parse((const char *)lparg1); + fail: + if (arg1 && lparg1) env->ReleaseStringUTFChars(arg1, lparg1); + XPCOM_NATIVE_EXIT(env, that, nsID_1Parse_FUNC); +@@ -2231,7 +2221,7 @@ + { + jint rc = 0; + XPCOM_NATIVE_ENTER(env, that, nsID_1new_FUNC); +- rc = (jint)new nsID(); ++ rc = (long)new nsID(); + XPCOM_NATIVE_EXIT(env, that, nsID_1new_FUNC); + return rc; + } diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.h b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.h new file mode 100644 index 000000000000..bd7827847566 --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.h @@ -0,0 +1,12 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h.orig Wed Nov 29 12:11:18 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h Wed Nov 29 12:12:03 2006 +@@ -31,8 +31,7 @@ + + #define NDEBUG + +-#include "nsXPCOM.h" +-#include "nsEmbedAPI.h" ++#include "nsXPCOM.h" + #include "nsEmbedString.h" + #include "nsIInputStream.h" + #include "nsISupportsUtils.h" diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_profile.h b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_profile.h new file mode 100644 index 000000000000..254ff2218492 --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_profile.h @@ -0,0 +1,11 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h.orig Wed Nov 29 12:08:43 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h Wed Nov 29 12:09:33 2006 +@@ -32,7 +32,7 @@ + #define NDEBUG + + #include "nsCOMPtr.h" +-#include "nsProfileDirServiceProvider.h" ++#include "profdirserviceprovider/nsProfileDirServiceProvider.h" + #include "xpcom_stats.h" + + #endif /* INC_xpcom_profile_H */ diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.cpp b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.cpp new file mode 100644 index 000000000000..f8f19cc3d7e4 --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.cpp @@ -0,0 +1,21 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp.orig Wed Nov 29 12:03:05 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp Wed Nov 29 12:05:26 2006 +@@ -31,15 +31,14 @@ + + #ifdef NATIVE_STATS + +-int XPCOM_nativeFunctionCount = 132; +-int XPCOM_nativeFunctionCallCount[132]; ++int XPCOM_nativeFunctionCount = 131; ++int XPCOM_nativeFunctionCallCount[131]; + char * XPCOM_nativeFunctionNames[] = { + "Call", + "NS_1GetComponentManager", + "NS_1GetServiceManager", +- "NS_1InitEmbedding", ++ "NS_1InitXPCOM3_FUNC", + "NS_1NewLocalFile", +- "NS_1TermEmbedding", + "PR_1Free", + "PR_1Malloc", + "VtblCall__II", diff --git a/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.h b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.h new file mode 100644 index 000000000000..eaa50b76ee8b --- /dev/null +++ b/java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.h @@ -0,0 +1,13 @@ +--- plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h.orig Wed Nov 29 13:51:40 2006 ++++ plugins/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h Wed Nov 29 13:52:23 2006 +@@ -41,9 +41,8 @@ + Call_FUNC, + NS_1GetComponentManager_FUNC, + NS_1GetServiceManager_FUNC, +- NS_1InitEmbedding_FUNC, ++ NS_1InitXPCOM3_FUNC, + NS_1NewLocalFile_FUNC, +- NS_1TermEmbedding_FUNC, + PR_1Free_FUNC, + PR_1Malloc_FUNC, + VtblCall__II_FUNC, |