476 lines
19 KiB
Diff
476 lines
19 KiB
Diff
### 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);
|