aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/eclipse/Makefile57
-rw-r--r--java/eclipse/distinfo1
-rw-r--r--java/eclipse/files/eclipse.in5
-rw-r--r--java/eclipse/files/patch-plugins-swt-amd64-build.xml45
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-gtk-build.sh6
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-gtk-make_freebsd.mak48
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-Browser.java186
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.java21
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM.properties25
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-XPCOM_PROFILE.properties25
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.cpp143
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom.h12
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_profile.h11
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.cpp21
-rw-r--r--java/eclipse/files/post-patch-plugins-swt-mozilla-xpcom_stats.h13
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,