eclipse/eclipse-swt-firefox.patch

398 lines
17 KiB
Diff

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 05:02:24 -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.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 05:02:25 -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_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 05:02:25 -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_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 05:02:25 -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",
"NS_1NewLocalFile",
- "NS_1TermEmbedding",
"PR_1Free",
"PR_1Malloc",
"VtblCall__II",
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 05:02:25 -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/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 05:02:27 -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,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);
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 05:02:33 -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
@@ -218,11 +278,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 +343,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 +365,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 +1405,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_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 05:02:35 -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_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 05:02:36 -0000
@@ -202,7 +202,7 @@
#
# Mozilla lib
#
-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB)
+make_mozilla:$(MOZILLA_LIB) $(PROFILE17_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