ensure XULRunner 17 does not run on Linux
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/carbon/org/eclipse/swt/browser/MozillaDelegate.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/carbon/org/eclipse/swt/browser/MozillaDelegate.java
index c800635..1ae38cd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/carbon/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/carbon/org/eclipse/swt/browser/MozillaDelegate.java
@@ -95,6 +95,10 @@
return false;
}
+static boolean supportsXULRunner17 () {
+ return false;
+}
+
static byte[] wcsToMbcs (String codePage, String string, boolean terminate) {
char[] chars = new char [string.length()];
string.getChars (0, chars.length, chars, 0);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/cocoa/org/eclipse/swt/browser/MozillaDelegate.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/cocoa/org/eclipse/swt/browser/MozillaDelegate.java
index 64baf3e..6b8d6b1 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/cocoa/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/cocoa/org/eclipse/swt/browser/MozillaDelegate.java
@@ -98,6 +98,10 @@
return false;
}
+static boolean supportsXULRunner17 () {
+ return true;
+}
+
static byte[] wcsToMbcs (String codePage, String string, boolean terminate) {
// char[] chars = new char [string.length()];
// string.getChars (0, chars.length, chars, 0);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
index 51e978f..f2430fc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
@@ -2103,6 +2103,12 @@
browser.dispose ();
error (XPCOM.NS_ERROR_NULL_POINTER);
}
+
+ if (nsISupports.IsXULRunner17 && !MozillaDelegate.supportsXULRunner17 ()) {
+ browser.dispose ();
+ SWT.error (SWT.ERROR_NO_HANDLES, null, " [XULRunner 17 is not supported on this platform]"); //$NON-NLS-1$
+ }
+
if (IsPre_4) {
rc = XPCOM.Call (functionPtr, localFile.getAddress (), localFile.getAddress (), LocationProvider.getAddress (), 0, 0);
} else {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/MozillaDelegate.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/MozillaDelegate.java
index 4c13d73..a4f74c6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/MozillaDelegate.java
@@ -156,6 +156,10 @@
return true;
}
+static boolean supportsXULRunner17 () {
+ return false;
+}
+
static byte[] wcsToMbcs (String codePage, String string, boolean terminate) {
return Converter.wcsToMbcs (codePage, string, terminate);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/motif/org/eclipse/swt/browser/MozillaDelegate.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/motif/org/eclipse/swt/browser/MozillaDelegate.java
index 4188e40..85fabfb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/motif/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/motif/org/eclipse/swt/browser/MozillaDelegate.java
@@ -121,6 +121,10 @@
return true;
}
+static boolean supportsXULRunner17 () {
+ return false;
+}
+
static byte[] wcsToMbcs (String codePage, String string, boolean terminate) {
return Converter.wcsToMbcs (codePage, string, terminate);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/win32/org/eclipse/swt/browser/MozillaDelegate.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/win32/org/eclipse/swt/browser/MozillaDelegate.java
index f73f1d2..e1a6cdd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/win32/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/win32/org/eclipse/swt/browser/MozillaDelegate.java
@@ -89,6 +89,10 @@
return false;
}
+static boolean supportsXULRunner17 () {
+ return true;
+}
+
static byte[] wcsToMbcs (String codePage, String string, boolean terminate) {
int byteCount;
char[] chars = new char[string.length()];