Blob Blame Raw
### Eclipse Workspace Patch 1.0
#P org.eclipse.swt
Index: Eclipse_SWT_PI/gtk/library/make_linux.mak
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/gtk/library/make_linux.mak,v
retrieving revision 1.33.2.1
diff -u -r1.33.2.1 make_linux.mak
--- Eclipse_SWT_PI/gtk/library/make_linux.mak	26 Jul 2006 16:33:23 -0000	1.33.2.1
+++ Eclipse_SWT_PI/gtk/library/make_linux.mak	29 Sep 2006 13:21:51 -0000
@@ -202,7 +202,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 +220,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
@@ -264,4 +264,4 @@
 # Clean
 #
 clean:
-	rm -f *.o *.so
+	rm -f *.o *.so
\ No newline at end of file
Index: Eclipse_SWT_PI/gtk/library/build.sh
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/gtk/library/build.sh,v
retrieving revision 1.40
diff -u -r1.40 build.sh
--- Eclipse_SWT_PI/gtk/library/build.sh	22 Nov 2005 04:48:15 -0000	1.40
+++ Eclipse_SWT_PI/gtk/library/build.sh	29 Sep 2006 13:21:51 -0000
@@ -87,9 +87,9 @@
 fi
 
 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 firefox-xpcom && echo YES` = "xYES" ]; then
+		GECKO_INCLUDES=`pkg-config --cflags firefox-xpcom`
+		GECKO_LIBS=`pkg-config --libs firefox-xpcom`
 		export GECKO_INCLUDES
 		export GECKO_LIBS
 		MAKE_MOZILLA=make_mozilla
Index: Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 xpcom_stats.cpp
--- Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp	26 Jul 2006 16:33:23 -0000	1.15.2.1
+++ Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp	29 Sep 2006 13:21:49 -0000
@@ -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",
Index: Eclipse_SWT_Mozilla/common/library/xpcom_profile.h
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_profile.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 xpcom_profile.h
--- Eclipse_SWT_Mozilla/common/library/xpcom_profile.h	26 Jul 2006 16:33:23 -0000	1.1.2.1
+++ Eclipse_SWT_Mozilla/common/library/xpcom_profile.h	29 Sep 2006 13:21:48 -0000
@@ -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 */
Index: Eclipse_SWT_Mozilla/common/library/xpcom.h
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom.h,v
retrieving revision 1.6.2.1
diff -u -r1.6.2.1 xpcom.h
--- Eclipse_SWT_Mozilla/common/library/xpcom.h	26 Jul 2006 16:33:23 -0000	1.6.2.1
+++ Eclipse_SWT_Mozilla/common/library/xpcom.h	29 Sep 2006 13:21:48 -0000
@@ -32,7 +32,6 @@
 #define NDEBUG
 
 #include "nsXPCOM.h"
-#include "nsEmbedAPI.h"	
 #include "nsEmbedString.h"
 #include "nsIInputStream.h"
 #include "nsISupportsUtils.h"
Index: Eclipse_SWT_Mozilla/common/library/xpcom.cpp
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom.cpp,v
retrieving revision 1.29.2.1
diff -u -r1.29.2.1 xpcom.cpp
--- Eclipse_SWT_Mozilla/common/library/xpcom.cpp	26 Jul 2006 16:33:23 -0000	1.29.2.1
+++ Eclipse_SWT_Mozilla/common/library/xpcom.cpp	29 Sep 2006 13:21:48 -0000
@@ -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)
Index: Eclipse_SWT_Mozilla/common/library/xpcom_stats.h
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_stats.h,v
retrieving revision 1.14.2.1
diff -u -r1.14.2.1 xpcom_stats.h
--- Eclipse_SWT_Mozilla/common/library/xpcom_stats.h	26 Jul 2006 16:33:23 -0000	1.14.2.1
+++ Eclipse_SWT_Mozilla/common/library/xpcom_stats.h	29 Sep 2006 13:21:49 -0000
@@ -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,
Index: Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java,v
retrieving revision 1.61.2.2
diff -u -r1.61.2.2 Browser.java
--- Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java	24 Aug 2006 20:19:25 -0000	1.61.2.2
+++ Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java	29 Sep 2006 13:21:51 -0000
@@ -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,43 @@
 		 * - 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;
+//		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
+//								*/
+//							}
+//						}
+//					}
+//				}
+//			}
+//		}
 
 		int /*long*/[] retVal = new int /*long*/[1];
 		nsEmbedString pathString = new nsEmbedString(mozillaPath);
@@ -218,11 +281,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 +346,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 +368,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);
-				}
-			});
 		}
 
 		/*
@@ -1354,27 +1408,6 @@
 	tip = null;
 
 	BrowserCount--;
-	/*
-	* This code is intentionally commented.  It is not possible to reinitialize
-	* Mozilla once it has been terminated.  NS_InitEmbedding always fails after
-	* NS_TermEmbedding has been called.  The workaround is to call NS_InitEmbedding
-	* once and never call NS_TermEmbedding.
-	*/
-//	if (BrowserCount == 0) {
-//		if (AppShell != null) {
-//			// Shutdown the appshell service.
-//			rc = AppShell.Spindown();
-//			if (rc != XPCOM.NS_OK) error(rc);
-//			AppShell.Release();
-//			AppShell = null;
-//		}
-//		WindowCreator.Release();
-//		WindowCreator = null;
-//		PromptService.Release();
-//		PromptService = null;
-//		XPCOM.NS_TermEmbedding();
-//		mozilla = false;
-//	}
 }
 
 void Activate() {
Index: Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java,v
retrieving revision 1.48.2.1
diff -u -r1.48.2.1 XPCOM.java
--- Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java	26 Jul 2006 16:33:23 -0000	1.48.2.1
+++ Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java	29 Sep 2006 13:21:49 -0000
@@ -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,7 +104,6 @@
 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);