From e5c7b9263708a11ed4c1fc54e5409a131505186e Mon Sep 17 00:00:00 2001 From: "Michael Mair-Keimberger (asterix)" Date: Thu, 4 Aug 2016 19:53:26 +0200 Subject: dev-java/swt: remove unused patches/files --- .../swt-3.3-callback-pointer-dereferencing.patch | 23 -- dev-java/swt/files/swt-3.4-manifest | 16 - .../swt/files/swt-3.4-xulrunner-1.9.1-amd64.patch | 325 --------------------- dev-java/swt/files/swt-3.4-xulrunner-1.9.1.patch | 325 --------------------- dev-java/swt/files/swt-3.6-manifest | 17 -- 5 files changed, 706 deletions(-) delete mode 100644 dev-java/swt/files/swt-3.3-callback-pointer-dereferencing.patch delete mode 100644 dev-java/swt/files/swt-3.4-manifest delete mode 100644 dev-java/swt/files/swt-3.4-xulrunner-1.9.1-amd64.patch delete mode 100644 dev-java/swt/files/swt-3.4-xulrunner-1.9.1.patch delete mode 100644 dev-java/swt/files/swt-3.6-manifest (limited to 'dev-java') diff --git a/dev-java/swt/files/swt-3.3-callback-pointer-dereferencing.patch b/dev-java/swt/files/swt-3.3-callback-pointer-dereferencing.patch deleted file mode 100644 index 92fbab779d1c..000000000000 --- a/dev-java/swt/files/swt-3.3-callback-pointer-dereferencing.patch +++ /dev/null @@ -1,23 +0,0 @@ -# patch from gcj-overlay, not sure if by geki himself -# removes QA warning about strict-aliasing ---- callback.c.orig 2006-12-12 17:25:26.000000000 +0100 -+++ callback.c 2006-12-12 18:11:34.000000000 +0100 -@@ -250,12 +250,16 @@ - - #ifdef JNI_VERSION_1_2 - if (IS_JNI_1_2) { -- (*jvm)->GetEnv(jvm, (void **)&env, JNI_VERSION_1_2); -+ /* http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html */ -+ /* jint GetEnv(JavaVM *vm, void **env, jint version); */ -+ (*jvm)->GetEnv(jvm, (void *)&env, JNI_VERSION_1_2); - } - #endif - - if (env == NULL) { -- (*jvm)->AttachCurrentThread(jvm, (void **)&env, NULL); -+ /* http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html */ -+ /* jint AttachCurrentThread(JavaVM *vm, JNIEnv **p_env, void *thr_args); */ -+ (*jvm)->AttachCurrentThread(jvm, (void *)&env, NULL); - if (IS_JNI_1_2) detach = 1; - } - diff --git a/dev-java/swt/files/swt-3.4-manifest b/dev-java/swt/files/swt-3.4-manifest deleted file mode 100644 index c11c42ab7199..000000000000 --- a/dev-java/swt/files/swt-3.4-manifest +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)" -Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true -Bundle-Version: 3.4.0 -Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH)) -Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true, - org.eclipse.swt.internal.cairo; x-internal:=true, - org.eclipse.swt.internal.cde; x-internal:=true, - org.eclipse.swt.internal.gnome; x-internal:=true, - org.eclipse.swt.internal.gtk; x-internal:=true, - org.eclipse.swt.internal.mozilla; x-internal:=true, - org.eclipse.swt.internal.opengl.glx; x-internal:=true diff --git a/dev-java/swt/files/swt-3.4-xulrunner-1.9.1-amd64.patch b/dev-java/swt/files/swt-3.4-xulrunner-1.9.1-amd64.patch deleted file mode 100644 index db2536bab3ac..000000000000 --- a/dev-java/swt/files/swt-3.4-xulrunner-1.9.1-amd64.patch +++ /dev/null @@ -1,325 +0,0 @@ -# Patch by Grant Gayed -# https://bugs.eclipse.org/bugs/show_bug.cgi?id=268651#c18 -# https://bugs.eclipse.org/bugs/attachment.cgi?id=130751 -Index: Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java -=================================================================== -RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java,v -retrieving revision 1.105.2.3 -diff -u -r1.105.2.3 Mozilla.java ---- src/org/eclipse/swt/browser/Mozilla.java 21 Aug 2008 16:02:30 -00001.105.2.3 -+++ src/org/eclipse/swt/browser/Mozilla.java 2 Apr 2009 19:15:06 -0000 -@@ -47,6 +47,7 @@ - Shell tip = null; - Listener listener; - Vector unhookedDOMWindows = new Vector (); -+ byte[] htmlBytes; - - static nsIAppShell AppShell; - static AppFileLocProvider LocationProvider; -@@ -1130,21 +1131,21 @@ - * Once the client does a proper navigate with either setUrl() or setText() then resume as - * normal. The Mozilla bug for this is https://bugzilla.mozilla.org/show_bug.cgi?id=415789. - */ -- awaitingNavigate = true; -- rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -- if (rc != XPCOM.NS_OK) { -- browser.dispose (); -- error (rc); -- } -- if (result[0] == 0) { -- browser.dispose (); -- error (XPCOM.NS_ERROR_NO_INTERFACE); -- } -- nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -- char[] uri = new char[ABOUT_BLANK.length () + 1]; -- ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0); -- rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -- webNavigation.Release (); -+// awaitingNavigate = true; -+// rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -+// if (rc != XPCOM.NS_OK) { -+// browser.dispose (); -+// error (rc); -+// } -+// if (result[0] == 0) { -+// browser.dispose (); -+// error (XPCOM.NS_ERROR_NO_INTERFACE); -+// } -+// nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -+// char[] uri = new char[ABOUT_BLANK.length () + 1]; -+// ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0); -+// rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -+// webNavigation.Release (); - } - } - result[0] = 0; -@@ -1223,6 +1224,7 @@ - } - - public boolean back () { -+ htmlBytes = null; - if (awaitingNavigate) return false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1425,6 +1427,7 @@ - } - - public boolean forward () { -+ htmlBytes = null; - if (awaitingNavigate) return false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1635,6 +1638,7 @@ - webBrowser.Release (); - webBrowser = null; - webBrowserObject = null; -+ htmlBytes = null; - - if (tip != null && !tip.isDisposed ()) tip.dispose (); - tip = null; -@@ -1696,6 +1700,7 @@ - } - - public void refresh () { -+ htmlBytes = null; - if (awaitingNavigate) return; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1817,11 +1822,45 @@ - } else { - result[0] = 0; - rc = interfaceRequestor.GetInterface (nsIDocShell.NS_IDOCSHELL_IID, result); -- if (rc != XPCOM.NS_OK) error (rc); -- if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -- nsIDocShell docShell = new nsIDocShell (result[0]); -- rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); -- docShell.Release (); -+ if (rc == XPCOM.NS_OK) { -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIDocShell docShell = new nsIDocShell (result[0]); -+ rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); -+ docShell.Release (); -+ } else { -+ result[0] = 0; -+ rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result); -+ if (rc == XPCOM.NS_OK) { -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ /* -+ * Setting mozilla's content through nsIWebBrowserStream does not cause a page -+ * load to occur, so the events that usually accompany a page change are not -+ * fired. To make this behave as expected, navigate to about:blank first and -+ * then set the html content once the page has loaded. -+ */ -+ new nsISupports (result[0]).Release (); -+ result[0] = 0; -+ -+ /* -+ * If htmlBytes is not null then the about:blank page is already being loaded, -+ * so no Navigate is required. Just set the html that is to be shown. -+ */ -+ boolean blankLoading = htmlBytes != null; -+ htmlBytes = data; -+ if (blankLoading) return true; -+ -+ /* navigate to about:blank */ -+ rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -+ result[0] = 0; -+ char[] uriChars = new char[ABOUT_BLANK.length () + 1]; -+ ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uriChars, 0); -+ rc = webNavigation.LoadURI (uriChars, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -+ webNavigation.Release (); -+ } -+ } - } - } - if (rc != XPCOM.NS_OK) error (rc); -@@ -1836,6 +1875,7 @@ - } - - public boolean setUrl (String url) { -+ htmlBytes = null; - awaitingNavigate = false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1852,6 +1892,7 @@ - } - - public void stop () { -+ htmlBytes = null; - if (awaitingNavigate) return; - - long /*int*/[] result = new long /*int*/[1]; -@@ -2174,6 +2215,108 @@ - unhookedDOMWindows.remove (ptrObject); - new nsISupports (ptrObject.value).Release (); - } -+ -+ /* -+ * If htmlBytes is not null then there is html from a previous setText() call -+ * waiting to be set into the about:blank page once it has completed loading. -+ */ -+ if (htmlBytes != null) { -+ nsIRequest req = new nsIRequest (aRequest); -+ long /*int*/ name = XPCOM.nsEmbedCString_new (); -+ rc = req.GetName (name); -+ if (rc != XPCOM.NS_OK) error (rc); -+ int length = XPCOM.nsEmbedCString_Length (name); -+ long /*int*/ buffer = XPCOM.nsEmbedCString_get (name); -+ byte[] dest = new byte[length]; -+ XPCOM.memmove (dest, buffer, length); -+ String url = new String (dest); -+ XPCOM.nsEmbedCString_delete (name); -+ -+ if (url.startsWith (ABOUT_BLANK)) { -+ /* -+ * Setting mozilla's content with nsIWebBrowserStream invalidates the -+ * DOM listeners that were hooked on it (about:blank), so remove them and -+ * add new ones after the content has been set. -+ */ -+ unhookDOMListeners (); -+ -+ rc = XPCOM.NS_GetServiceManager (result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ -+ nsIServiceManager serviceManager = new nsIServiceManager (result[0]); -+ result[0] = 0; -+ rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, nsIIOService.NS_IIOSERVICE_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ serviceManager.Release (); -+ -+ nsIIOService ioService = new nsIIOService (result[0]); -+ result[0] = 0; -+ /* -+ * Note. Mozilla ignores LINK tags used to load CSS stylesheets -+ * when the URI protocol for the nsInputStreamChannel -+ * is about:blank. The fix is to specify the file protocol. -+ */ -+ byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false); -+ long /*int*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length); -+ rc = ioService.NewURI (aSpec, null, 0, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ XPCOM.nsEmbedCString_delete (aSpec); -+ ioService.Release (); -+ -+ nsIURI uri = new nsIURI (result[0]); -+ result[0] = 0; -+ -+ rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ -+ nsIWebBrowserStream stream = new nsIWebBrowserStream (result[0]); -+ result[0] = 0; -+ -+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$ -+ long /*int*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length); -+ -+ rc = stream.OpenStream (uri.getAddress (), aContentType); -+ if (rc != XPCOM.NS_OK) error (rc); -+ long /*int*/ ptr = C.malloc (htmlBytes.length); -+ XPCOM.memmove (ptr, htmlBytes, htmlBytes.length); -+ int pageSize = 8192; -+ int pageCount = htmlBytes.length / pageSize + 1; -+ long /*int*/ current = ptr; -+ for (int i = 0; i < pageCount; i++) { -+ length = i == pageCount - 1 ? htmlBytes.length % pageSize : pageSize; -+ if (length > 0) { -+ rc = stream.AppendToStream (current, length); -+ if (rc != XPCOM.NS_OK) error (rc); -+ } -+ current += pageSize; -+ } -+ rc = stream.CloseStream (); -+ if (rc != XPCOM.NS_OK) error (rc); -+ C.free (ptr); -+ XPCOM.nsEmbedCString_delete (aContentType); -+ stream.Release (); -+ uri.Release (); -+ htmlBytes = null; -+ -+ rc = webBrowser.GetContentDOMWindow (result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ boolean isTop = result[0] == domWindow.getAddress (); -+ new nsISupports (result[0]).Release (); -+ result[0] = 0; -+ rc = domWindow.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); -+ result[0] = 0; -+ hookDOMListeners (target, isTop); -+ target.Release (); -+ } -+ } - domWindow.Release (); - - /* -Index: Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java -=================================================================== -RCS file: Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java -diff -N Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ src/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java 1 Jan 1970 00:00:00 -0000 -@@ -0,0 +1,55 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is Mozilla Communicator client code, released March 31, 1998. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by Netscape are Copyright (C) 1998-1999 -+ * Netscape Communications Corporation. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * IBM -+ * - Binding to permit interfacing between Mozilla and SWT -+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+package org.eclipse.swt.internal.mozilla; -+ -+public class nsIWebBrowserStream extends nsISupports { -+ -+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3; -+ -+ public static final String NS_IWEBBROWSERSTREAM_IID_STR = -+ "86d02f0e-219b-4cfc-9c88-bd98d2cce0b8"; -+ -+ public static final nsID NS_IWEBBROWSERSTREAM_IID = -+ new nsID(NS_IWEBBROWSERSTREAM_IID_STR); -+ -+ public nsIWebBrowserStream(long /*int*/ address) { -+ super(address); -+ } -+ -+ public int OpenStream(long /*int*/ aBaseURI, long /*int*/ aContentType) { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aBaseURI, aContentType); -+ } -+ -+ public int AppendToStream(long /*int*/ aData, int aLen) { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData, aLen); -+ } -+ -+ public int CloseStream() { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress()); -+ } -+} diff --git a/dev-java/swt/files/swt-3.4-xulrunner-1.9.1.patch b/dev-java/swt/files/swt-3.4-xulrunner-1.9.1.patch deleted file mode 100644 index 8e829943e325..000000000000 --- a/dev-java/swt/files/swt-3.4-xulrunner-1.9.1.patch +++ /dev/null @@ -1,325 +0,0 @@ -# Patch by Grant Gayed -# https://bugs.eclipse.org/bugs/show_bug.cgi?id=268651#c18 -# https://bugs.eclipse.org/bugs/attachment.cgi?id=130751 -Index: Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java -=================================================================== -RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java,v -retrieving revision 1.105.2.3 -diff -u -r1.105.2.3 Mozilla.java ---- src/org/eclipse/swt/browser/Mozilla.java 21 Aug 2008 16:02:30 -00001.105.2.3 -+++ src/org/eclipse/swt/browser/Mozilla.java 2 Apr 2009 19:15:06 -0000 -@@ -47,6 +47,7 @@ - Shell tip = null; - Listener listener; - Vector unhookedDOMWindows = new Vector (); -+ byte[] htmlBytes; - - static nsIAppShell AppShell; - static AppFileLocProvider LocationProvider; -@@ -1130,21 +1131,21 @@ - * Once the client does a proper navigate with either setUrl() or setText() then resume as - * normal. The Mozilla bug for this is https://bugzilla.mozilla.org/show_bug.cgi?id=415789. - */ -- awaitingNavigate = true; -- rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -- if (rc != XPCOM.NS_OK) { -- browser.dispose (); -- error (rc); -- } -- if (result[0] == 0) { -- browser.dispose (); -- error (XPCOM.NS_ERROR_NO_INTERFACE); -- } -- nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -- char[] uri = new char[ABOUT_BLANK.length () + 1]; -- ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0); -- rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -- webNavigation.Release (); -+// awaitingNavigate = true; -+// rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -+// if (rc != XPCOM.NS_OK) { -+// browser.dispose (); -+// error (rc); -+// } -+// if (result[0] == 0) { -+// browser.dispose (); -+// error (XPCOM.NS_ERROR_NO_INTERFACE); -+// } -+// nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -+// char[] uri = new char[ABOUT_BLANK.length () + 1]; -+// ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0); -+// rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -+// webNavigation.Release (); - } - } - result[0] = 0; -@@ -1223,6 +1224,7 @@ - } - - public boolean back () { -+ htmlBytes = null; - if (awaitingNavigate) return false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1425,6 +1427,7 @@ - } - - public boolean forward () { -+ htmlBytes = null; - if (awaitingNavigate) return false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1635,6 +1638,7 @@ - webBrowser.Release (); - webBrowser = null; - webBrowserObject = null; -+ htmlBytes = null; - - if (tip != null && !tip.isDisposed ()) tip.dispose (); - tip = null; -@@ -1696,6 +1700,7 @@ - } - - public void refresh () { -+ htmlBytes = null; - if (awaitingNavigate) return; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1817,11 +1822,45 @@ - } else { - result[0] = 0; - rc = interfaceRequestor.GetInterface (nsIDocShell.NS_IDOCSHELL_IID, result); -- if (rc != XPCOM.NS_OK) error (rc); -- if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -- nsIDocShell docShell = new nsIDocShell (result[0]); -- rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); -- docShell.Release (); -+ if (rc == XPCOM.NS_OK) { -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIDocShell docShell = new nsIDocShell (result[0]); -+ rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); -+ docShell.Release (); -+ } else { -+ result[0] = 0; -+ rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result); -+ if (rc == XPCOM.NS_OK) { -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ /* -+ * Setting mozilla's content through nsIWebBrowserStream does not cause a page -+ * load to occur, so the events that usually accompany a page change are not -+ * fired. To make this behave as expected, navigate to about:blank first and -+ * then set the html content once the page has loaded. -+ */ -+ new nsISupports (result[0]).Release (); -+ result[0] = 0; -+ -+ /* -+ * If htmlBytes is not null then the about:blank page is already being loaded, -+ * so no Navigate is required. Just set the html that is to be shown. -+ */ -+ boolean blankLoading = htmlBytes != null; -+ htmlBytes = data; -+ if (blankLoading) return true; -+ -+ /* navigate to about:blank */ -+ rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); -+ result[0] = 0; -+ char[] uriChars = new char[ABOUT_BLANK.length () + 1]; -+ ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uriChars, 0); -+ rc = webNavigation.LoadURI (uriChars, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); -+ webNavigation.Release (); -+ } -+ } - } - } - if (rc != XPCOM.NS_OK) error (rc); -@@ -1836,6 +1875,7 @@ - } - - public boolean setUrl (String url) { -+ htmlBytes = null; - awaitingNavigate = false; - - long /*int*/[] result = new long /*int*/[1]; -@@ -1852,6 +1892,7 @@ - } - - public void stop () { -+ htmlBytes = null; - if (awaitingNavigate) return; - - long /*int*/[] result = new long /*int*/[1]; -@@ -2174,6 +2215,108 @@ - unhookedDOMWindows.remove (ptrObject); - new nsISupports (ptrObject.value).Release (); - } -+ -+ /* -+ * If htmlBytes is not null then there is html from a previous setText() call -+ * waiting to be set into the about:blank page once it has completed loading. -+ */ -+ if (htmlBytes != null) { -+ nsIRequest req = new nsIRequest (aRequest); -+ int /*long*/ name = XPCOM.nsEmbedCString_new (); -+ rc = req.GetName (name); -+ if (rc != XPCOM.NS_OK) error (rc); -+ int length = XPCOM.nsEmbedCString_Length (name); -+ int /*long*/ buffer = XPCOM.nsEmbedCString_get (name); -+ byte[] dest = new byte[length]; -+ XPCOM.memmove (dest, buffer, length); -+ String url = new String (dest); -+ XPCOM.nsEmbedCString_delete (name); -+ -+ if (url.startsWith (ABOUT_BLANK)) { -+ /* -+ * Setting mozilla's content with nsIWebBrowserStream invalidates the -+ * DOM listeners that were hooked on it (about:blank), so remove them and -+ * add new ones after the content has been set. -+ */ -+ unhookDOMListeners (); -+ -+ rc = XPCOM.NS_GetServiceManager (result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ -+ nsIServiceManager serviceManager = new nsIServiceManager (result[0]); -+ result[0] = 0; -+ rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, nsIIOService.NS_IIOSERVICE_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ serviceManager.Release (); -+ -+ nsIIOService ioService = new nsIIOService (result[0]); -+ result[0] = 0; -+ /* -+ * Note. Mozilla ignores LINK tags used to load CSS stylesheets -+ * when the URI protocol for the nsInputStreamChannel -+ * is about:blank. The fix is to specify the file protocol. -+ */ -+ byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false); -+ int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length); -+ rc = ioService.NewURI (aSpec, null, 0, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ XPCOM.nsEmbedCString_delete (aSpec); -+ ioService.Release (); -+ -+ nsIURI uri = new nsIURI (result[0]); -+ result[0] = 0; -+ -+ rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); -+ -+ nsIWebBrowserStream stream = new nsIWebBrowserStream (result[0]); -+ result[0] = 0; -+ -+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$ -+ int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length); -+ -+ rc = stream.OpenStream (uri.getAddress (), aContentType); -+ if (rc != XPCOM.NS_OK) error (rc); -+ int /*long*/ ptr = C.malloc (htmlBytes.length); -+ XPCOM.memmove (ptr, htmlBytes, htmlBytes.length); -+ int pageSize = 8192; -+ int pageCount = htmlBytes.length / pageSize + 1; -+ int /*long*/ current = ptr; -+ for (int i = 0; i < pageCount; i++) { -+ length = i == pageCount - 1 ? htmlBytes.length % pageSize : pageSize; -+ if (length > 0) { -+ rc = stream.AppendToStream (current, length); -+ if (rc != XPCOM.NS_OK) error (rc); -+ } -+ current += pageSize; -+ } -+ rc = stream.CloseStream (); -+ if (rc != XPCOM.NS_OK) error (rc); -+ C.free (ptr); -+ XPCOM.nsEmbedCString_delete (aContentType); -+ stream.Release (); -+ uri.Release (); -+ htmlBytes = null; -+ -+ rc = webBrowser.GetContentDOMWindow (result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ boolean isTop = result[0] == domWindow.getAddress (); -+ new nsISupports (result[0]).Release (); -+ result[0] = 0; -+ rc = domWindow.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); -+ if (rc != XPCOM.NS_OK) error (rc); -+ if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE); -+ nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); -+ result[0] = 0; -+ hookDOMListeners (target, isTop); -+ target.Release (); -+ } -+ } - domWindow.Release (); - - /* -Index: Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java -=================================================================== -RCS file: Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java -diff -N Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ src/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java 1 Jan 1970 00:00:00 -0000 -@@ -0,0 +1,55 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is Mozilla Communicator client code, released March 31, 1998. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by Netscape are Copyright (C) 1998-1999 -+ * Netscape Communications Corporation. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * IBM -+ * - Binding to permit interfacing between Mozilla and SWT -+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+package org.eclipse.swt.internal.mozilla; -+ -+public class nsIWebBrowserStream extends nsISupports { -+ -+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3; -+ -+ public static final String NS_IWEBBROWSERSTREAM_IID_STR = -+ "86d02f0e-219b-4cfc-9c88-bd98d2cce0b8"; -+ -+ public static final nsID NS_IWEBBROWSERSTREAM_IID = -+ new nsID(NS_IWEBBROWSERSTREAM_IID_STR); -+ -+ public nsIWebBrowserStream(int /*long*/ address) { -+ super(address); -+ } -+ -+ public int OpenStream(int /*long*/ aBaseURI, int /*long*/ aContentType) { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aBaseURI, aContentType); -+ } -+ -+ public int AppendToStream(int /*long*/ aData, int aLen) { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData, aLen); -+ } -+ -+ public int CloseStream() { -+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress()); -+ } -+} diff --git a/dev-java/swt/files/swt-3.6-manifest b/dev-java/swt/files/swt-3.6-manifest deleted file mode 100644 index cf217b0d0602..000000000000 --- a/dev-java/swt/files/swt-3.6-manifest +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)" -Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true -Bundle-Version: 3.6 -Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH)) -Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true, - org.eclipse.swt.internal.cairo; x-internal:=true, - org.eclipse.swt.internal.cde; x-internal:=true, - org.eclipse.swt.internal.gnome; x-internal:=true, - org.eclipse.swt.internal.gtk; x-internal:=true, - org.eclipse.swt.internal.mozilla; x-internal:=true, - org.eclipse.swt.internal.opengl.glx; x-internal:=true - -- cgit v1.2.3