remove unused methods in some XPCOM wrappers, fix some missing
IsXULRunner17 checks, various other fixes
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java
index 4ac867b..4591103 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java
@@ -252,7 +252,7 @@
 						arrayReturn = new Object[count[0]];
 						for (int i = 0; i < count[0]; i++) {
 							/* mozilla's representation of boolean changed from 4 bytes to 1 byte as of XULRunner 4.x */
-							if (nsISupports.IsXULRunner10) {
+							if (nsISupports.IsXULRunner10 || nsISupports.IsXULRunner17) {
 								byte[] byteValue = new byte[1];
 								C.memmove (byteValue, ptr[0] + i, 1);
 								arrayReturn[i] = new Boolean (byteValue[0] != 0);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/FilePicker_17.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/FilePicker_17.java
index 3ad5966..916c201 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/FilePicker_17.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/FilePicker_17.java
@@ -55,8 +55,7 @@
 		/* picking a directory */
 		int result = showDirectoryPicker ();
 		if (aFilePickerShownCallback != 0) {
-			nsIFilePickerShownCallback callback = new nsIFilePickerShownCallback (aFilePickerShownCallback);
-			callback.Done (result);
+			new nsIFilePickerShownCallback (aFilePickerShownCallback).Done (result);
 		}
 		return XPCOM.NS_OK;
 	}
@@ -83,8 +82,7 @@
 	masks = null;
 	int result = filename == null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK; 
 	if (aFilePickerShownCallback != 0) {
-		nsIFilePickerShownCallback callback = new nsIFilePickerShownCallback (aFilePickerShownCallback);
-		callback.Done (result);
+		new nsIFilePickerShownCallback (aFilePickerShownCallback).Done (result);
 	}
 	return XPCOM.NS_OK;
 }
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 f45e4f5..552c236 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
@@ -824,6 +824,7 @@
 	initWebBrowserWindows ();
 
 	if (!PerformedVersionCheck) {
+		/* IsPre_4 and IsPre_17 are already determined in initXPCOM() */
 		PerformedVersionCheck = true;
 
 		rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result);
@@ -866,8 +867,6 @@
 			new nsISupports (result[0]).Release ();
 		}
 		IsPre_1_9 = true;
-//		IsPre_4 = true;
-//		IsPre_17 = true;
 		result[0] = 0;
 
 		/*
@@ -881,7 +880,7 @@
 		*/
 		if (!IsPre_1_8) {
 			rc = interfaceRequestor.GetInterface (nsIDocShell.NS_IDOCSHELL_1_8_IID, result);
-			if (rc == XPCOM.NS_OK && result[0] != 0) { /* 1.8 */
+			if (rc == XPCOM.NS_OK && result[0] != 0) { /* 1.8.x */
 				new nsISupports (result[0]).Release ();
 				result[0] = 0;
 
@@ -897,25 +896,8 @@
 					}
 					downloadFactory_1_8.Release ();
 				}
-			} else { /* >= 1.9 */
+			} else { /* >= 1.9.x */
 				IsPre_1_9 = false;
-				/* IsPre_4 and IsPre_17 already set in initXPCOM() */
-//				result[0] = 0;
-//				rc = interfaceRequestor.GetInterface(nsIDocShell.NS_IDOCSHELL_17_IID, result);
-//				if (rc == XPCOM.NS_OK && result[0] != 0) { /* = 17.0.1 */
-//					IsPre_17 = false;
-//					new nsISupports (result[0]).Release();
-//				} else {
-//					if (result[0] != 0) {
-//						new nsISupports (result[0]).Release();
-//						result[0] = 0;
-//					}
-//					rc = interfaceRequestor.GetInterface(nsIDocShell.NS_IDOCSHELL_10_IID, result);
-//					if (rc == XPCOM.NS_OK && result[0] != 0) { /* = 10.0 */
-//						IsPre_4 = false;
-//						new nsISupports (result[0]).Release();
-//					}
-//				}
 			}
 		}
 		result[0] = 0;
@@ -1018,10 +1000,9 @@
 										rc = domDocument.GetDocumentElement (result);
 										domDocument.Release ();
 										if (rc == XPCOM.NS_OK && result[0] != 0) {
-											nsIDOMElement domElement = new nsIDOMElement (result[0]);
+											rc = focusManager.SetFocus (result[0], nsIFocusManager.FLAG_BYKEY);
+											new nsISupports(result[0]).Release ();
 											result[0] = 0;
-											rc = focusManager.SetFocus (domElement.getAddress (), nsIFocusManager.FLAG_BYKEY);
-											domElement.Release ();
 										}
 									}
 								}
@@ -1136,7 +1117,7 @@
 		public long /*int*/ method6 (long /*int*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
 		public long /*int*/ method7 (long /*int*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
 	};
-	
+
 	webBrowserChrome = new XPCOMObject (new int[] {2, 0, 0, 2, 1, 1, 1, 1, 0, 2, 0, 1, 1}) {
 		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
@@ -1161,7 +1142,21 @@
 		public long /*int*/ method4 (long /*int*/[] args) {return FocusPrevElement ();}
 	};
 		
-	embeddingSiteWindow = new XPCOMObject (new int[] {2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1, 0}) {
+	embeddingSiteWindow = new XPCOMObject (new int[] {2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1}) {
+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+		public long /*int*/ method3 (long /*int*/[] args) {return SetDimensions ((int)/*64*/args[0], (int)/*64*/args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4]);}
+		public long /*int*/ method4 (long /*int*/[] args) {return GetDimensions ((int)/*64*/args[0], args[1], args[2], args[3], args[4]);}
+		public long /*int*/ method5 (long /*int*/[] args) {return SetFocus ();}
+		public long /*int*/ method6 (long /*int*/[] args) {return GetVisibility (args[0]);}
+		public long /*int*/ method7 (long /*int*/[] args) {return SetVisibility ((int)/*64*/args[0]);}
+		public long /*int*/ method8 (long /*int*/[] args) {return GetTitle (args[0]);}
+		public long /*int*/ method9 (long /*int*/[] args) {return SetTitle (args[0]);}
+		public long /*int*/ method10 (long /*int*/[] args) {return GetSiteWindow (args[0]);}
+	};
+	
+	embeddingSiteWindow_17 = new XPCOMObject (new int[] {2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1, 0}) {
 		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
@@ -1175,21 +1170,7 @@
 		public long /*int*/ method10 (long /*int*/[] args) {return GetSiteWindow (args[0]);}
 		public long /*int*/ method11 (long /*int*/[] args) {return Blur ();}
 	};
-	
-	embeddingSiteWindow_17 = new XPCOMObject (new int[] {2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1}) {
-		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-		public long /*int*/ method3 (long /*int*/[] args) {return SetDimensions ((int)/*64*/args[0], (int)/*64*/args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4]);}
-		public long /*int*/ method4 (long /*int*/[] args) {return GetDimensions ((int)/*64*/args[0], args[1], args[2], args[3], args[4]);}
-		public long /*int*/ method5 (long /*int*/[] args) {return SetFocus ();}
-		public long /*int*/ method6 (long /*int*/[] args) {return GetVisibility (args[0]);}
-		public long /*int*/ method7 (long /*int*/[] args) {return SetVisibility ((int)/*64*/args[0]);}
-		public long /*int*/ method8 (long /*int*/[] args) {return GetTitle (args[0]);}
-		public long /*int*/ method9 (long /*int*/[] args) {return SetTitle (args[0]);}
-		public long /*int*/ method10 (long /*int*/[] args) {return GetSiteWindow (args[0]);}
-	};
-	
+
 	interfaceRequestor = new XPCOMObject (new int[] {2, 0, 0, 2} ){
 		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
@@ -1332,7 +1313,6 @@
 	* exposed as of mozilla 1.9.
 	*/
 	long /*int*/[] result = new long /*int*/[1];
-	//if (IsPre_17) //TODO: temporarily disable execute() code for xulr17
 	if (!IsPre_1_9) {
 		int rc = XPCOM.NS_GetServiceManager (result);
 		if (rc != XPCOM.NS_OK) error (rc);
@@ -1607,7 +1587,7 @@
 	nsIProperties properties = new nsIProperties (result[0]);
 	result[0] = 0;
 	buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_GRE_DIR, true);
-	rc = properties.Get (buffer, nsIFile.NS_IFILE_17_IID, result);
+	rc = properties.Get (buffer, IsPre_17 ? nsIFile.NS_IFILE_IID : nsIFile.NS_IFILE_17_IID, result);
 	if (rc != XPCOM.NS_OK) error (rc);
 	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
 	properties.Release ();
@@ -1867,7 +1847,9 @@
 	
 	nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]);
 	result[0] = 0;
-//	componentRegistrar.AutoRegister (0);	 /* detect the External component */ 
+	if (IsPre_17) {
+		componentRegistrar.AutoRegister (0);	 /* detect the External component */
+	}
 
 	PromptService2Factory factory = new PromptService2Factory ();
 	factory.AddRef ();
@@ -2041,7 +2023,6 @@
 }
 
 void initXPCOM (String mozillaPath, boolean isXULRunner) {
-	System.out.println("in xpcom");
 	long /*int*/[] result = new long /*int*/[1];
 
 	nsEmbedString pathString = new nsEmbedString (mozillaPath);
@@ -2077,22 +2058,21 @@
 		XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
 		rc = XPCOM.XPCOMGlueLoadXULFunctions (ptr);
 		if (rc == XPCOM.NS_OK) { /* > 3.x */
-			IsPre_4 = false;
-			IsPre_17 = false;
-			nsISupports.IsXULRunner10 = true;
 			result[0] = 0;
 			rc = localFile.QueryInterface(nsIFile.NS_IFILE_17_IID, result);
-			if (rc == XPCOM.NS_OK) { /* = 17.0.1 */
+			if (rc == XPCOM.NS_OK) { /* 17.x */
 				nsISupports.IsXULRunner17 = true;
-			} else { /* = 10.0 */
-				IsPre_17 = true;
+			} else { /* 10.x */
 				rc = localFile.QueryInterface (nsILocalFile.NS_ILOCALFILE_IID, result);
 				if (rc != XPCOM.NS_OK) {
 					browser.dispose ();
 					error (rc);
 				}
+				IsPre_17 = true;
+				nsISupports.IsXULRunner10 = true;
 			}
 			if (result[0] != 0) new nsISupports (result[0]).Release();
+			result[0] = 0;
 		} else {
 			/*
 			 * XRE_InitEmbedding2 was not found, so fall back to XRE_InitEmbedding, which is
@@ -2103,10 +2083,7 @@
 			functionLoad.functionName = C.malloc (bytes.length);
 			C.memmove (functionLoad.functionName, bytes, bytes.length);
 			rc = XPCOM.XPCOMGlueLoadXULFunctions (ptr);
-			if (rc == XPCOM.NS_OK) {
-				IsPre_4 = true;
-				nsISupports.IsXULRunner10 = false;
-			}
+			IsPre_4 = IsPre_17 = true;
 		}
 
 		C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
@@ -2846,10 +2823,18 @@
 				if (rc == XPCOM.NS_OK) {
 					rc = seekableStream.Seek (nsISeekableStream.NS_SEEK_SET, 0);
 					if (rc == XPCOM.NS_OK) {
-						long[] available = new long[1]; // TODO: add xulr17 check
-						rc = inputStream.Available (available);
+						long available;
+						if (IsPre_17) {
+							int[] _retval = new int[1];
+							rc = inputStream.Available (_retval);
+							available = _retval[0];
+						} else {
+							long[] _retval = new long[1];
+							rc = inputStream.Available (_retval);
+							available = _retval[0];
+						}
 						if (rc == XPCOM.NS_OK) {
-							int length = (int) available[0];
+							int length = (int)available;
 							byte[] bytes = new byte[length];
 							int[] retVal = new int[1];
 							rc = inputStream.Read (bytes, length, retVal);
@@ -3140,7 +3125,7 @@
 		InputStream inputStream = new InputStream (data);
 		inputStream.AddRef ();
 
-		rc = interfaceRequestor.GetInterface (IsPre_17 ? nsIDocShell.NS_IDOCSHELL_IID : nsIDocShell.NS_IDOCSHELL_17_IID, result);
+		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]);
@@ -3976,11 +3961,11 @@
 	return XPCOM.NS_OK;
 }
 
-int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation, int aFlags) {
-	return OnLocationChange(aWebProgress, aRequest, aLocation);
+int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
+	return OnLocationChange(aWebProgress, aRequest, aLocation, 0);
 }
 
-int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
+int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation, int aFlags) {
 	/*
 	* Feature in Mozilla.  When a page is loaded via setText before a previous
 	* setText page load has completed, the expected OnStateChange STATE_STOP for the
@@ -4106,7 +4091,7 @@
 int GetChromeFlags (long /*int*/ aChromeFlags) {
 	int[] ret = new int[1];
 	ret[0] = chromeFlags;
-	XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */ //TODO: its uint32 in xulr17
+	XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */
 	return XPCOM.NS_OK;
 }
 
@@ -4208,7 +4193,7 @@
 }
 
 int GetDimensions (int flags, long /*int*/ x, long /*int*/ y, long /*int*/ cx, long /*int*/ cy) {
-	if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) != 0) { //TODO:x,y,cx,cy are not print32 but only int32 in xulr17
+	if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) != 0) {
 		Point location = browser.getShell ().getLocation ();
 		if (x != 0) C.memmove (x, new int[] {location.x}, 4); /* PRInt32 */
 		if (y != 0) C.memmove (y, new int[] {location.y}, 4); /* PRInt32 */
@@ -4335,7 +4320,7 @@
 int Blur () {
 	return XPCOM.NS_OK;
 }
- 
+
 /* nsIWebBrowserChromeFocus */
 
 int FocusNextElement () {
@@ -4760,11 +4745,10 @@
 		if (rc != XPCOM.NS_OK) error (rc);
 		rc = domKeyEvent.GetMetaKey (aMetaKey);
 		if (rc != XPCOM.NS_OK) error (rc);
-		domKeyEvent.Release ();
-
 		int[] aCharCode = new int[1]; /* PRUint32 */
 		rc = domKeyEvent.GetCharCode (aCharCode);
 		if (rc != XPCOM.NS_OK) error (rc);
+		domKeyEvent.Release ();
 		lastCharCode = aCharCode[0];
 		if (lastCharCode == 0) {
 			switch (lastKeyCode) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
index faf6c06..fe560cf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
@@ -189,7 +189,7 @@
 public static final native int nsDynamicFunctionLoad_sizeof ();
 
 public static void memmove(long /*int*/ dest, boolean[] src) {
-	if (nsISupports.IsXULRunner10) { // TODO change this reference
+	if (nsISupports.IsXULRunner10 || nsISupports.IsXULRunner17) { // TODO change this reference
 		memmove (dest, new byte[] {src[0] ? (byte)1 : 0}, 1);
 	} else {
 		memmove (dest, new int[] {src[0] ? 1 : 0}, 4);
@@ -197,7 +197,7 @@
 }
 
 public static void memmove(boolean[] dest, long /*int*/ src) {
-	if (nsISupports.IsXULRunner10) { // TODO change this reference
+	if (nsISupports.IsXULRunner10 || nsISupports.IsXULRunner17) { // TODO change this reference
 		byte[] result = new byte[1];
 		memmove (result, src, 1);
 		dest[0] = result[0] != 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
index 87934a1..a34cb84 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
@@ -37,12 +37,6 @@
 	public static final nsID NS_IAPPSHELL_IID =
 		new nsID(NS_IAPPSHELL_IID_STR);
 	
-	public static final String NS_IAPPSHELL_IID_17_STR =
-			"2d10ca53-f143-439a-bb2e-c1fbc71f6a05";
-
-	public static final nsID NS_IAPPSHELL_17_IID =
-			new nsID(NS_IAPPSHELL_IID_17_STR);
-
 	public nsIAppShell(long /*int*/ address) {
 		super(address);
 	}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
index a03a05b..47d8765 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
@@ -59,89 +59,19 @@
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
 	}
 
-	public int SetPosition(int x, int y) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), x, y);
-	}
-
-	public int GetPosition(int[] x, int[] y) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), x, y);
-	}
-
-	public int SetSize(int cx, int cy, int fRepaint) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), cx, cy, fRepaint);
-	}
-
-	public int GetSize(int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), cx, cy);
-	}
-
 	public int SetPositionAndSize(int x, int y, int cx, int cy, int fRepaint) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), x, y, cx, cy, fRepaint);
 	}
 
-	public int GetPositionAndSize(int[] x, int[] y, int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), x, y, cx, cy);
-	}
-
-	public int Repaint(int force) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
-	}
-
-	public int GetParentWidget(long /*int*/[] aParentWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
-	}
-
-	public int SetParentWidget(long /*int*/ aParentWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
-	}
-
 	public int GetParentNativeWindow(long /*int*/[] aParentNativeWindow) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
 	}
 
-	public int SetParentNativeWindow(long /*int*/ aParentNativeWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
-	}
-
-	public int GetVisibility(int[] aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 16 : 15), getAddress(), aVisibility);
-	}
-
 	public int SetVisibility(int aVisibility) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 17 : 16), getAddress(), aVisibility);
 	}
 
-	public int GetEnabled(int[] aEnabled) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 18 : 17), getAddress(), aEnabled);
-	}
-
-	public int SetEnabled(int aEnabled) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 19 : 18), getAddress(), aEnabled);
-	}
-
-	public int GetBlurSuppression(int[] aBlurSuppression) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aBlurSuppression);
-	}
-
-	public int SetBlurSuppression(int aBlurSuppression) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
-	}
-
-	public int GetMainWidget(long /*int*/[] aMainWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 20 : (IsXULRunner10 ? 19 : 21)), getAddress(), aMainWidget);
-	}
-
 	public int SetFocus() {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 21 : (IsXULRunner10 ? 20 : 22)), getAddress());
 	}
-
-	public int GetTitle(long /*int*/[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 22 : (IsXULRunner10 ? 21 : 23)), getAddress(), aTitle);
-	}
-
-	public int SetTitle(char[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 23 : (IsXULRunner10 ? 22 : 24)), getAddress(), aTitle);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIChannel.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIChannel.java
index 9a6517d..5f6bfaf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIChannel.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIChannel.java
@@ -29,7 +29,7 @@
 
 public class nsIChannel extends nsIRequest {
 
-	static final int LAST_METHOD_ID = nsIRequest.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 16);
+	static final int LAST_METHOD_ID = nsIRequest.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 19 : 16);
 
 	public static final String NS_ICHANNEL_IID_STR =
 		"c63a055a-a676-4e71-bf3c-6cfa11082018";
@@ -112,17 +112,17 @@
 	}
 
 	public int GetContentDisposition(int[] aContentDisposition) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 17, getAddress(), aContentDisposition);
 	}
 
 	public int GetContentDispositionFilename(long /*int*/ aContentDispositionFilename) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 18, getAddress(), aContentDispositionFilename);
 	}
 
 	public int GetContentDispositionHeader(long /*int*/ aContentDispositionHeader) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 19, getAddress(), aContentDispositionHeader);
 	}
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
index c0c5a5f..2b1e81b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
@@ -29,16 +29,16 @@
 
 public class nsIComponentManager extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 6 : 4);
 
 	public static final String NS_ICOMPONENTMANAGER_IID_STR =
 		"a88e5a60-205a-4bb1-94e1-2628daf51eae";
 
 	public static final String NS_ICOMPONENTMANAGER_17_IID_STR =
-			"1d940426-5fe5-42c3-84ae-a300f2d9ebd5";
+		"1d940426-5fe5-42c3-84ae-a300f2d9ebd5";
 
 	public static final nsID NS_ICOMPONENTMANAGER_IID =
-			new nsID(NS_ICOMPONENTMANAGER_IID_STR);
+		new nsID(NS_ICOMPONENTMANAGER_IID_STR);
 		
 	public static final nsID NS_ICOMPONENTMANAGER_17_IID =
 		new nsID(NS_ICOMPONENTMANAGER_17_IID_STR);
@@ -47,14 +47,6 @@
 		super(address);
 	}
 
-	public int GetClassObject(nsID aClass, nsID aIID, long /*int*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
-	}
-
-	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, long /*int*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
-	}
-
 	public int CreateInstance(nsID aClass, long /*int*/ aDelegate, nsID aIID, long /*int*/[] result) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aDelegate, aIID, result);
 	}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
index 02b9af8..9f6cde1 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
@@ -53,303 +53,7 @@
 		super(address);
 	}
 
-	public int GetDoctype(long /*int*/[] aDoctype) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 1, getAddress(), aDoctype);
-	}
-
-	public int GetImplementation(long /*int*/[] aImplementation) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 2, getAddress(), aImplementation);
-	}
-
 	public int GetDocumentElement(long /*int*/[] aDocumentElement) {
 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 3, getAddress(), aDocumentElement);
 	}
-
-	public int CreateElement(long /*int*/ tagName, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 4, getAddress(), tagName, _retval);
-	}
-
-	public int CreateDocumentFragment(long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 5, getAddress(), _retval);
-	}
-
-	public int CreateTextNode(long /*int*/ data, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 6, getAddress(), data, _retval);
-	}
-
-	public int CreateComment(long /*int*/ data, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 7, getAddress(), data, _retval);
-	}
-
-	public int CreateCDATASection(long /*int*/ data, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 8, getAddress(), data, _retval);
-	}
-
-	public int CreateProcessingInstruction(long /*int*/ target, long /*int*/ data, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 9, getAddress(), target, data, _retval);
-	}
-
-	public int CreateAttribute(long /*int*/ name, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 10, getAddress(), name, _retval);
-	}
-
-	public int CreateEntityReference(long /*int*/ name, long /*int*/[] _retval) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 11, getAddress(), name, _retval);
-	}
-
-	public int GetElementsByTagName(long /*int*/ tagname, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 12), getAddress(), tagname, _retval);
-	}
-
-	public int ImportNode(long /*int*/ importedNode, int deep, long /*int*/[] _retval) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 13, getAddress(), importedNode, deep, _retval);
-	}
-
-	public int ImportNode(long /*int*/ importedNode, int deep, int _argc, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 12, getAddress(), importedNode, deep, _argc, _retval);
-	}
-
-	public int CreateElementNS(long /*int*/ namespaceURI, long /*int*/ qualifiedName, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 14), getAddress(), namespaceURI, qualifiedName, _retval);
-	}
-
-	public int CreateAttributeNS(long /*int*/ namespaceURI, long /*int*/ qualifiedName, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 14 : 15), getAddress(), namespaceURI, qualifiedName, _retval);
-	}
-
-	public int GetElementsByTagNameNS(long /*int*/ namespaceURI, long /*int*/ localName, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 15 : 16), getAddress(), namespaceURI, localName, _retval);
-	}
-
-	public int GetElementById(long /*int*/ elementId, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 17), getAddress(), elementId, _retval);
-	}
-	
-	public int GetInputEncoding(long /*int*/ aInputEncoding) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 17, getAddress(), aInputEncoding);
-	}
-
-	public int GetDocumentURI(long /*int*/ aDocumentURI) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 18, getAddress(), aDocumentURI);
-	}
-
-	public int AdoptNode(long /*int*/ source, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 19, getAddress(), source, _retval);
-	}
-
-	public int CreateRange(long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 20, getAddress(), _retval);
-	}
-
-	public int CreateNodeIterator(long /*int*/ root, int whatToShow, long /*int*/ filter, int entityReferenceExpansion, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 21, getAddress(), root, whatToShow, filter, entityReferenceExpansion, _retval);
-	}
-
-	public int CreateTreeWalker(long /*int*/ root, int whatToShow, long /*int*/ filter, int entityReferenceExpansion, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 22, getAddress(), root, whatToShow, filter, entityReferenceExpansion, _retval);
-	}
-
-	public int CreateEvent(long /*int*/ eventType, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 23, getAddress(), eventType, _retval);
-	}
-
-	public int GetDefaultView(long /*int*/[] aDefaultView) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 24, getAddress(), aDefaultView);
-	}
-
-	public int GetCharacterSet(long /*int*/ aCharacterSet) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 25, getAddress(), aCharacterSet);
-	}
-
-	public int GetDir(long /*int*/ aDir) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 26, getAddress(), aDir);
-	}
-
-	public int SetDir(long /*int*/ aDir) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 27, getAddress(), aDir);
-	}
-
-	public int GetLocation(long /*int*/[] aLocation) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 28, getAddress(), aLocation);
-	}
-
-	public int GetTitle(long /*int*/ aTitle) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 29, getAddress(), aTitle);
-	}
-
-	public int SetTitle(long /*int*/ aTitle) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 30, getAddress(), aTitle);
-	}
-
-	public int GetReadyState(long /*int*/ aReadyState) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 31, getAddress(), aReadyState);
-	}
-
-	public int GetLastModified(long /*int*/ aLastModified) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 32, getAddress(), aLastModified);
-	}
-
-	public int GetReferrer(long /*int*/ aReferrer) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 33, getAddress(), aReferrer);
-	}
-
-	public int HasFocus(int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 34, getAddress(), _retval);
-	}
-
-	public int GetActiveElement(long /*int*/[] aActiveElement) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 35, getAddress(), aActiveElement);
-	}
-
-	public int GetElementsByClassName(long /*int*/ classes, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 36, getAddress(), classes, _retval);
-	}
-
-	public int GetStyleSheets(long /*int*/[] aStyleSheets) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 37, getAddress(), aStyleSheets);
-	}
-
-	public int GetPreferredStyleSheetSet(long /*int*/ aPreferredStyleSheetSet) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 38, getAddress(), aPreferredStyleSheetSet);
-	}
-
-	public int GetSelectedStyleSheetSet(long /*int*/ aSelectedStyleSheetSet) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 39, getAddress(), aSelectedStyleSheetSet);
-	}
-
-	public int SetSelectedStyleSheetSet(long /*int*/ aSelectedStyleSheetSet) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 40, getAddress(), aSelectedStyleSheetSet);
-	}
-
-	public int GetLastStyleSheetSet(long /*int*/ aLastStyleSheetSet) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 41, getAddress(), aLastStyleSheetSet);
-	}
-
-	public int GetStyleSheetSets(long /*int*/[] aStyleSheetSets) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 42, getAddress(), aStyleSheetSets);
-	}
-
-	public int EnableStyleSheetsForSet(long /*int*/ name) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 43, getAddress(), name);
-	}
-
-	public int ElementFromPoint(float x, float y, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 44, getAddress(), x, y, _retval);
-	}
-
-	public int GetContentType(long /*int*/ aContentType) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 45, getAddress(), aContentType);
-	}
-
-	public int GetMozSyntheticDocument(int[] aMozSyntheticDocument) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 46, getAddress(), aMozSyntheticDocument);
-	}
-
-	public int GetCurrentScript(long /*int*/[] aCurrentScript) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 47, getAddress(), aCurrentScript);
-	}
-
-	public int ReleaseCapture() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 48, getAddress());
-	}
-
-	public int MozSetImageElement(long /*int*/ aImageElementId, long /*int*/ aImageElement) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 49, getAddress(), aImageElementId, aImageElement);
-	}
-
-	public int GetMozFullScreenElement(long /*int*/[] aMozFullScreenElement) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 50, getAddress(), aMozFullScreenElement);
-	}
-
-	public int MozCancelFullScreen() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 51, getAddress());
-	}
-
-	public int GetMozFullScreen(int[] aMozFullScreen) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 52, getAddress(), aMozFullScreen);
-	}
-
-	public int GetMozFullScreenEnabled(int[] aMozFullScreenEnabled) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 53, getAddress(), aMozFullScreenEnabled);
-	}
-
-	public int GetOnreadystatechange(long /*int*/ cx, long /*int*/ aOnreadystatechange) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 56 : 54), getAddress(), cx, aOnreadystatechange);
-	}
-
-	public int SetOnreadystatechange(long /*int*/ cx, long /*int*/ aOnreadystatechange) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 57 : 55), getAddress(), cx, aOnreadystatechange);
-	}
-
-	public int GetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 58 : 56), getAddress(), cx, aOnmouseenter);
-	}
-
-	public int SetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 59 : 57), getAddress(), cx, aOnmouseenter);
-	}
-
-	public int GetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 60 : 58), getAddress(), cx, aOnmouseleave);
-	}
-
-	public int SetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 61 : 59), getAddress(), cx, aOnmouseleave);
-	}
-
-	public int GetMozHidden(int[] aMozHidden) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 62 : 60), getAddress(), aMozHidden);
-	}
-
-	public int GetMozVisibilityState(long /*int*/ aMozVisibilityState) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner17 ? 63 : 61), getAddress(), aMozVisibilityState);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
index f7bfcab..5fdb9d9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
@@ -61,49 +61,11 @@
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType);
 	}
 
-	public int GetTarget(long /*int*/[] aTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aTarget);
-	}
-
 	public int GetCurrentTarget(long /*int*/[] aCurrentTarget) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aCurrentTarget);
 	}
 
-	public int GetEventPhase(short[] aEventPhase) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aEventPhase);
-	}
-
-	public int GetBubbles(int[] aBubbles) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aBubbles);
-	}
-
-	public int GetCancelable(int[] aCancelable) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCancelable);
-	}
-
-	public int GetTimeStamp(long /*int*/ aTimeStamp) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTimeStamp);
-	}
-
-	public int StopPropagation() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-
 	public int PreventDefault() {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress());
 	}
-
-	public int InitEvent(long /*int*/ eventTypeArg, int canBubbleArg, int cancelableArg) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), eventTypeArg, canBubbleArg, cancelableArg);
-	}
-	
-	public int GetDefaultPrevented(int[] aDefaultPrevented) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDefaultPrevented);
-	}
-
-	public int StopImmediatePropagation() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress());
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
index 809f08e..569a09c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
@@ -54,20 +54,16 @@
 	}
 
 	public int AddEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (IsXULRunner10 || IsXULRunner17) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), type, listener, useCapture);
 	}
 
 	public int AddEventListener(long /*int*/ type, long /*int*/ listener, int useCapture, int wantsUntrusted, int _argc) {
-		if (!IsXULRunner10) return AddEventListener(type, listener, useCapture);
+		if (!(IsXULRunner10 || IsXULRunner17)) return AddEventListener(type, listener, useCapture);
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), type, listener, useCapture, wantsUntrusted, _argc);
 	}
 
 	public int RemoveEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 3 : 2), getAddress(), type, listener, useCapture);
 	}
-
-	public int DispatchEvent(long /*int*/ evt, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 5 : 3), getAddress(), evt, _retval);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
index 3428ff4..ebdf978 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
@@ -185,7 +185,6 @@
 	public static final int DOM_VK_CONTEXT_MENU = 93;
 	public static final int DOM_VK_SLEEP = 95;
 
-
 	public int GetCharCode(int[] aCharCode) {
 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 1, getAddress(), aCharCode);
 	}
@@ -209,8 +208,4 @@
 	public int GetMetaKey(int[] aMetaKey) {
 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 6, getAddress(), aMetaKey);
 	}
-
-	public int InitKeyEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, int keyCodeArg, int charCodeArg) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 7, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
index 27b9714..ac26765 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
@@ -29,7 +29,7 @@
 
 public class nsIDOMMouseEvent extends nsIDOMUIEvent {
 
-	static final int LAST_METHOD_ID = nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 18 :(IsXULRunner10 ? 14 : 11));
+	static final int LAST_METHOD_ID = nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 18 : (IsXULRunner10 ? 14 : 11));
 
 	public static final String NS_IDOMMOUSEEVENT_IID_STR =
 		"ff751edc-8b02-aae7-0010-8301838a3123";
@@ -61,14 +61,6 @@
 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 2, getAddress(), aScreenY);
 	}
 
-	public int GetClientX(int[] aClientX) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 5 : 3), getAddress(), aClientX);
-	}
-
-	public int GetClientY(int[] aClientY) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 6 : 4), getAddress(), aClientY);
-	}
-
 	public int GetCtrlKey(int[] aCtrlKey) {
 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 7 : 5), getAddress(), aCtrlKey);
 	}
@@ -93,10 +85,6 @@
 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 13 : 10), getAddress(), aRelatedTarget);
 	}
 
-	public int InitMouseEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, long /*int*/ relatedTargetArg) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 14 : 11), getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg);
-	}
-
 	/* the following constants are defined in Mozilla 10 */
 	public static final int MOZ_SOURCE_UNKNOWN = 0;
 	public static final int MOZ_SOURCE_MOUSE = 1;
@@ -105,20 +93,4 @@
 	public static final int MOZ_SOURCE_CURSOR = 4;
 	public static final int MOZ_SOURCE_TOUCH = 5;
 	public static final int MOZ_SOURCE_KEYBOARD = 6;
-
-	public int GetMozPressure(float[] aMozPressure) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 15 : 12), getAddress(), aMozPressure);
-	}
-
-	public int GetMozInputSource(short[] aMozInputSource) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 16 : 13), getAddress(), aMozInputSource);
-	}
-
-	public int InitNSMouseEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, long /*int*/ relatedTargetArg, float pressure, short inputSourceArg) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + (IsXULRunner17 ? 17 : 14), getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg, pressure, inputSourceArg);
-	}
-
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMNode.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
index f7e8f4a..d7f6186 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
@@ -66,172 +66,11 @@
 	public static final int DOCUMENT_FRAGMENT_NODE = 11;
 	public static final int NOTATION_NODE = 12;
 
-	public int GetNodeName(long /*int*/ aNodeName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNodeName);
-	}
-
-	public int GetNodeValue(long /*int*/ aNodeValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aNodeValue);
-	}
-
-	public int SetNodeValue(long /*int*/ aNodeValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aNodeValue);
-	}
-
-	public int GetNodeType(short[] aNodeType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNodeType);
-	}
-
-	public int GetParentNode(long /*int*/[] aParentNode) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParentNode);
-	}
-
-	public int GetParentElement(long /*int*/[] aParentElement) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParentElement);
-	}
-
-	public int GetChildNodes(long /*int*/[] aChildNodes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 7 : 6), getAddress(), aChildNodes);
-	}
-
-	public int GetFirstChild(long /*int*/[] aFirstChild) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 7), getAddress(), aFirstChild);
-	}
-
-	public int GetLastChild(long /*int*/[] aLastChild) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 8), getAddress(), aLastChild);
-	}
-
-	public int GetPreviousSibling(long /*int*/[] aPreviousSibling) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 10 : 9), getAddress(), aPreviousSibling);
-	}
-
-	public int GetNextSibling(long /*int*/[] aNextSibling) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 10), getAddress(), aNextSibling);
-	}
-
-	public int GetAttributes(long /*int*/[] aAttributes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 11), getAddress(), aAttributes);
-	}
-
-	public int GetOwnerDocument(long /*int*/[] aOwnerDocument) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 12), getAddress(), aOwnerDocument);
-	}
-
-	public int InsertBefore(long /*int*/ newChild, long /*int*/ refChild, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 14 : 13), getAddress(), newChild, refChild, _retval);
-	}
-
-	public int ReplaceChild(long /*int*/ newChild, long /*int*/ oldChild, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 15 : 14), getAddress(), newChild, oldChild, _retval);
-	}
-
-	public int RemoveChild(long /*int*/ oldChild, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 15), getAddress(), oldChild, _retval);
-	}
-
-	public int AppendChild(long /*int*/ newChild, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 16), getAddress(), newChild, _retval);
-	}
-
-	public int HasChildNodes(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 18 : 17), getAddress(), _retval);
-	}
-
-	public int CloneNode(int deep, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 18), getAddress(), deep, _retval);
-	}
-
-	public int Normalize() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 20 : 19), getAddress());
-	}
-
-	public int IsSupported(long /*int*/ feature, long /*int*/ version, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 20), getAddress(), feature, version, _retval);
-	}
-
-	public int GetNamespaceURI(long /*int*/ aNamespaceURI) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 22 : 21), getAddress(), aNamespaceURI);
-	}
-
-	public int GetPrefix(long /*int*/ aPrefix) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 23 : 22), getAddress(), aPrefix);
-	}
-
-	public int SetPrefix(long /*int*/ aPrefix) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aPrefix);
-	}
-
-	public int GetLocalName(long /*int*/ aLocalName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aLocalName);
-	}
-
-	public int HasAttributes(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), _retval);
-	}
-	
-	public int GetDOMBaseURI(long /*int*/ aBaseURI) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aBaseURI);
-	}
-
-	/* the following constants are defined in Mozilla 10 */
+	/* the following constants are available as of Mozilla 10 */
 	public static final int DOCUMENT_POSITION_DISCONNECTED = 1;
 	public static final int DOCUMENT_POSITION_PRECEDING = 2;
 	public static final int DOCUMENT_POSITION_FOLLOWING = 4;
 	public static final int DOCUMENT_POSITION_CONTAINS = 8;
 	public static final int DOCUMENT_POSITION_CONTAINED_BY = 16;
 	public static final int DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32;
-
-	public int CompareDocumentPosition(long /*int*/ other, short[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), other, _retval);
-	}
-
-	public int GetTextContent(long /*int*/ aTextContent) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aTextContent);
-	}
-
-	public int SetTextContent(long /*int*/ aTextContent) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aTextContent);
-	}
-
-	public int LookupPrefix(long /*int*/ namespaceURI, long /*int*/ _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), namespaceURI, _retval);
-	}
-
-	public int IsDefaultNamespace(long /*int*/ namespaceURI, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), namespaceURI, _retval);
-	}
-
-	public int LookupNamespaceURI(long /*int*/ prefix, long /*int*/ _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), prefix, _retval);
-	}
-
-	public int IsEqualNode(long /*int*/ arg, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), arg, _retval);
-	}
-
-	public int SetUserData(long /*int*/ key, long /*int*/ data, long /*int*/ handler, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), key, data, handler, _retval);
-	}
-
-	public int GetUserData(long /*int*/ key, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), key, _retval);
-	}
-
-	public int Contains(long /*int*/ aOther, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), aOther, _retval);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
index 2dbb51a..2f4536d 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
@@ -29,87 +29,35 @@
 
 public class nsIDOMUIEvent extends nsIDOMEvent {
 
-	static final int LAST_METHOD_ID = nsIDOMEvent.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 3);
+	static final int LAST_METHOD_ID = nsIDOMEvent.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 13 : 3);
 
 	public static final String NS_IDOMUIEVENT_IID_STR =
 		"a6cf90c3-15b3-11d2-932e-00805f8add32";
 
 	public static final String NS_IDOMUIEVENT_10_IID_STR =
 		"af3f130e-0c22-4613-a150-780a46c22e3a";
-	
+
+	public static final String NS_IDOMUIEVENT_17_IID_STR =
+		"415453e6-132a-4902-9a99-cc480f0311b6";
+
 	public static final nsID NS_IDOMUIEVENT_IID =
 		new nsID(NS_IDOMUIEVENT_IID_STR);
 
 	public static final nsID NS_IDOMUIEVENT_10_IID =
 		new nsID(NS_IDOMUIEVENT_10_IID_STR);
 
+	public static final nsID NS_IDOMUIEVENT_17_IID =
+		new nsID(NS_IDOMUIEVENT_17_IID_STR);
+
 	public nsIDOMUIEvent(long /*int*/ address) {
 		super(address);
 	}
 
-	public int GetView(long /*int*/[] aView) {
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
-	}
-
 	public int GetDetail(int[] aDetail) {
 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 2, getAddress(), aDetail);
 	}
 
-	public int InitUIEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg) {
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 3, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg);
-	}
-	
 	/* the following constants are defined in Mozilla 10 */
 	public static final int SCROLL_PAGE_UP = -32768;
 	public static final int SCROLL_PAGE_DOWN = 32768;
-
-	public int GetLayerX(int[] aLayerX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 4, getAddress(), aLayerX);
-	}
-
-	public int GetLayerY(int[] aLayerY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 5, getAddress(), aLayerY);
-	}
-
-	public int GetPageX(int[] aPageX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 6, getAddress(), aPageX);
-	}
-
-	public int GetPageY(int[] aPageY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 7, getAddress(), aPageY);
-	}
-
-	public int GetWhich(int[] aWhich) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 8, getAddress(), aWhich);
-	}
-
-	public int GetRangeParent(long /*int*/[] aRangeParent) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 9, getAddress(), aRangeParent);
-	}
-
-	public int GetRangeOffset(int[] aRangeOffset) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 10, getAddress(), aRangeOffset);
-	}
-
-	public int GetCancelBubble(int[] aCancelBubble) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 11, getAddress(), aCancelBubble);
-	}
-
-	public int SetCancelBubble(int aCancelBubble) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 12, getAddress(), aCancelBubble);
-	}
-
-	public int GetIsChar(int[] aIsChar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 13, getAddress(), aIsChar);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
index 9d8ec5a..28700db 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
@@ -39,13 +39,13 @@
 
 	public static final String NS_IDOMWINDOW_17_IID_STR =
 		"a1af6cd9-c6e7-4037-99f8-dbca1b03e345";
-		
+
 	public static final nsID NS_IDOMWINDOW_IID =
 		new nsID(NS_IDOMWINDOW_IID_STR);
 
 	public static final nsID NS_IDOMWINDOW_10_IID =
 		new nsID(NS_IDOMWINDOW_10_IID_STR);
-	
+
 	public static final nsID NS_IDOMWINDOW_17_IID =
 		new nsID(NS_IDOMWINDOW_17_IID_STR);
 
@@ -53,28 +53,8 @@
 		super(address);
 	}
 
-	public int GetWindow(long /*int*/[] aWindow) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWindow);
-	}
-
-	public int GetSelf(long /*int*/[] aSelf) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSelf);
-	}
-
 	public int GetDocument(long /*int*/[] aDocument) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 3 : 1), getAddress(), aDocument);
-	}
-
-	public int GetParent(long /*int*/[] aParent) {
-		if (IsXULRunner17) return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 24 : 2), getAddress(), aParent);
-	}
-	
-	public int GetRealParent(long /*int*/[] aParent) {
-		if (!IsXULRunner17) return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aParent);
+		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 3 : 1), getAddress(), aDocument);
 	}
 
 	public int GetTop(long /*int*/[] aTop) {
@@ -87,609 +67,7 @@
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aTop);
 	}
 	
-	public int GetScrollbars(long /*int*/[] aScrollbars) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 4), getAddress(), aScrollbars);
-	}
-
 	public int GetFrames(long /*int*/[] aFrames) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 65 : (IsXULRunner10 ? 62 : 5)), getAddress(), aFrames);
 	}
-
-	public int GetName(long /*int*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 6), getAddress(), aName);
-	}
-
-	public int SetName(long /*int*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 5 : 7), getAddress(), aName);
-	}
-
-	public int GetLocation(long /*int*/[] aLocation) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLocation);
-	}
-
-	public int GetHistory(long /*int*/[] aHistory) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aHistory);
-	}
-
-	public int GetLocationbar(long /*int*/[] aLocationbar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aLocationbar);
-	}
-
-	public int GetMenubar(long /*int*/[] aMenubar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aMenubar);
-	}
-
-	public int GetPersonalbar(long /*int*/[] aPersonalbar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPersonalbar);
-	}
-
-	public int GetTextZoom(float[] aTextZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 66 : (IsXULRunner10 ? 63 : 8)), getAddress(), aTextZoom);
-	}
-
-	public int SetTextZoom(float aTextZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 67 : (IsXULRunner10 ? 64 : 9)), getAddress(), aTextZoom);
-	}
-
-	public int GetScrollX(int[] aScrollX) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 48 : (IsXULRunner10 ? 45 : 10)), getAddress(), aScrollX);
-	}
-
-	public int GetScrollY(int[] aScrollY) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 50 : (IsXULRunner10 ? 47 : 11)), getAddress(), aScrollY);
-	}
-
-	public int ScrollTo(int xScroll, int yScroll) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 53 : (IsXULRunner10 ? 50 : 12)), getAddress(), xScroll, yScroll);
-	}
-
-	public int ScrollBy(int xScrollDif, int yScrollDif) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 54 : (IsXULRunner10 ? 51 : 13)), getAddress(), xScrollDif, yScrollDif);
-	}
-
-	public int GetSelection(long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 41 : (IsXULRunner10 ? 38 : 14)), getAddress(), _retval);
-	}
-
-	public int ScrollByLines(int numLines) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 68 : (IsXULRunner10 ? 65 : 15)), getAddress(), numLines);
-	}
-
-	public int ScrollByPages(int numPages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 69 : (IsXULRunner10 ? 66 : 16)), getAddress(), numPages);
-	}
-
-	public int SizeToContent() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 70 : (IsXULRunner10 ? 67 : 17)), getAddress());
-	}
-
-	public int GetStatusbar(long /*int*/[] aStatusbar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aStatusbar);
-	}
-
-	public int GetToolbar(long /*int*/[] aToolbar) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aToolbar);
-	}
-
-	public int GetStatus(long /*int*/ aStatus) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aStatus);
-	}
-
-	public int SetStatus(long /*int*/ aStatus) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aStatus);
-	}
-
-	public int Close() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress());
-	}
-
-	public int Stop() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress());
-	}
-
-	public int Focus() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress());
-	}
-
-	public int Blur() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress());
-	}
-
-	public int GetLength(int[] aLength) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aLength);
-	}
-
-	public int GetOpener(long /*int*/[] aOpener) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 25 : 22), getAddress(), aOpener);
-	}
-
-	public int SetOpener(long /*int*/ aOpener) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 26 :23), getAddress(), aOpener);
-	}
-
-	public int GetFrameElement(long /*int*/[] aFrameElement) {
-		if (!IsXULRunner10 || IsXULRunner17) return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aFrameElement);
-	}
-
-	public int GetNavigator(long /*int*/[] aNavigator) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 29 : 26), getAddress(), aNavigator);
-	}
-
-	public int GetApplicationCache(long /*int*/[] aApplicationCache) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 30 : 27), getAddress(), aApplicationCache);
-	}
-
-	public int Alert(long /*int*/ text) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 31 : 28), getAddress(), text);
-	}
-
-	public int Confirm(long /*int*/ text, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 32 : 29), getAddress(), text, _retval);
-	}
-
-	public int Prompt(long /*int*/ aMessage, long /*int*/ aInitial, long /*int*/ _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 33 : 30), getAddress(), aMessage, aInitial, _retval);
-	}
-
-	public int Print() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 34 : 31), getAddress());
-	}
-
-	public int ShowModalDialog(long /*int*/ aURI, long /*int*/ aArgs, long /*int*/ aOptions, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 35 : 32), getAddress(), aURI, aArgs, aOptions, _retval);
-	}
-
-	public int PostMessageMoz(long /*int*/ message, long /*int*/ targetOrigin, long /*int*/ cx) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 36 : 33), getAddress(), message, targetOrigin, cx);
-	}
-
-	public int Atob(long /*int*/ aAsciiString, long /*int*/ _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 37 : 34), getAddress(), aAsciiString, _retval);
-	}
-
-	public int Btoa(long /*int*/ aBase64Data, long /*int*/ _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 38 : 35), getAddress(), aBase64Data, _retval);
-	}
-
-	public int GetSessionStorage(long /*int*/[] aSessionStorage) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 39 : 36), getAddress(), aSessionStorage);
-	}
-
-	public int GetLocalStorage(long /*int*/[] aLocalStorage) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 40 : 37), getAddress(), aLocalStorage);
-	}
-
-	public int MatchMedia(long /*int*/ media_query_list, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 42 : 39), getAddress(), media_query_list, _retval);
-	}
-
-	public int GetScreen(long /*int*/[] aScreen) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 43 : 40), getAddress(), aScreen);
-	}
-
-	public int GetInnerWidth(int[] aInnerWidth) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 44 : 41), getAddress(), aInnerWidth);
-	}
-
-	public int SetInnerWidth(int aInnerWidth) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 45 : 42), getAddress(), aInnerWidth);
-	}
-
-	public int GetInnerHeight(int[] aInnerHeight) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 46 : 43), getAddress(), aInnerHeight);
-	}
-
-	public int SetInnerHeight(int aInnerHeight) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 47 : 44), getAddress(), aInnerHeight);
-	}
-
-	public int GetPageXOffset(int[] aPageXOffset) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 48 : 46), getAddress(), aPageXOffset);
-	}
-
-	public int GetPageYOffset(int[] aPageYOffset) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 49 : 48), getAddress(), aPageYOffset);
-	}
-
-	public int Scroll(int xScroll, int yScroll) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 52 : 49), getAddress(), xScroll, yScroll);
-	}
-
-	public int GetScreenX(int[] aScreenX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 55 : 52), getAddress(), aScreenX);
-	}
-
-	public int SetScreenX(int aScreenX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 56 : 53), getAddress(), aScreenX);
-	}
-
-	public int GetScreenY(int[] aScreenY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 57 : 54), getAddress(), aScreenY);
-	}
-
-	public int SetScreenY(int aScreenY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 58 : 55), getAddress(), aScreenY);
-	}
-
-	public int GetOuterWidth(int[] aOuterWidth) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 59 : 56), getAddress(), aOuterWidth);
-	}
-
-	public int SetOuterWidth(int aOuterWidth) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 60 : 57), getAddress(), aOuterWidth);
-	}
-
-	public int GetOuterHeight(int[] aOuterHeight) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 61 : 58), getAddress(), aOuterHeight);
-	}
-
-	public int SetOuterHeight(int aOuterHeight) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 62 : 59), getAddress(), aOuterHeight);
-	}
-
-	public int GetComputedStyle(long /*int*/ elt, long /*int*/ pseudoElt, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 63 : 60), getAddress(), elt, pseudoElt, _retval);
-	}
-
-	public int GetWindowRoot(long /*int*/[] aWindowRoot) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 64 : 61), getAddress(), aWindowRoot);
-	}
-
-	public int GetContent(long /*int*/[] aContent) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 71 : 68), getAddress(), aContent);
-	}
-
-	public int GetPrompter(long /*int*/[] aPrompter) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 72 : 69), getAddress(), aPrompter);
-	}
-
-	public int GetClosed(int[] aClosed) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 73 : 70), getAddress(), aClosed);
-	}
-
-	public int GetCrypto(long /*int*/[] aCrypto) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 74 : 71), getAddress(), aCrypto);
-	}
-
-	public int GetPkcs11(long /*int*/[] aPkcs11) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 75 : 72), getAddress(), aPkcs11);
-	}
-
-	public int GetControllers(long /*int*/[] aControllers) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 76 : 73), getAddress(), aControllers);
-	}
-
-	public int GetDefaultStatus(long /*int*/ aDefaultStatus) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 77 : 74), getAddress(), aDefaultStatus);
-	}
-
-	public int SetDefaultStatus(long /*int*/ aDefaultStatus) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 78 : 75), getAddress(), aDefaultStatus);
-	}
-
-	public int GetMozInnerScreenX(float[] aMozInnerScreenX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 79 : 76), getAddress(), aMozInnerScreenX);
-	}
-
-	public int GetMozInnerScreenY(float[] aMozInnerScreenY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 80 : 77), getAddress(), aMozInnerScreenY);
-	}
-
-	public int GetScrollMaxX(int[] aScrollMaxX) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 81 : 78), getAddress(), aScrollMaxX);
-	}
-
-	public int GetScrollMaxY(int[] aScrollMaxY) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 82 : 79), getAddress(), aScrollMaxY);
-	}
-
-	public int GetFullScreen(int[] aFullScreen) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 83 : 80), getAddress(), aFullScreen);
-	}
-
-	public int SetFullScreen(int aFullScreen) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 84 : 81), getAddress(), aFullScreen);
-	}
-
-	public int Back() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 85 : 82), getAddress());
-	}
-
-	public int Forward() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 86 : 83), getAddress());
-	}
-
-	public int Home() {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 87 : 84), getAddress());
-	}
-
-	public int MoveTo(int xPos, int yPos) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 88 : 85), getAddress(), xPos, yPos);
-	}
-
-	public int MoveBy(int xDif, int yDif) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 89 : 86), getAddress(), xDif, yDif);
-	}
-
-	public int ResizeTo(int width, int height) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 90 : 87), getAddress(), width, height);
-	}
-
-	public int ResizeBy(int widthDif, int heightDif) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 91 : 88), getAddress(), widthDif, heightDif);
-	}
-
-	public int Open(long /*int*/ url, long /*int*/ name, long /*int*/ options, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 92 : 89), getAddress(), url, name, options, _retval);
-	}
-
-	public int OpenDialog(long /*int*/ url, long /*int*/ name, long /*int*/ options, long /*int*/ aExtraArgument, long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 93 : 90), getAddress(), url, name, options, aExtraArgument, _retval);
-	}
-
-	public int UpdateCommands(long /*int*/ action) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 94 : 91), getAddress(), action);
-	}
-
-	public int Find(long /*int*/ str, int caseSensitive, int backwards, int wrapAround, int wholeWord, int searchInFrames, int showDialog, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 95 : 92), getAddress(), str, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog, _retval);
-	}
-
-	public int GetMozPaintCount(long /*int*/ aMozPaintCount) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 96 : 93), getAddress(), aMozPaintCount);
-	}
-
-	public int MozRequestAnimationFrame(long /*int*/ aListener) {
-		if (!IsXULRunner10 || IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 97 : 94), getAddress(), aListener);
-	}
-
-	public int GetMozAnimationStartTime(long[] aMozAnimationStartTime) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 100 : 95), getAddress(), aMozAnimationStartTime);
-	}
-
-	public int GetURL(long /*int*/[] aURL) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 101 : 96), getAddress(), aURL);
-	}
-
-	public int GetGlobalStorage(long /*int*/[] aGlobalStorage) {
-		if (!IsXULRunner10 || IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 97, getAddress(), aGlobalStorage);
-	}
-
-	public int GetOnafterprint(long /*int*/ cx, long /*int*/ aOnafterprint) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 102 : 98), getAddress(), cx, aOnafterprint);
-	}
-
-	public int SetOnafterprint(long /*int*/ cx, long /*int*/ aOnafterprint) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 103 : 99), getAddress(), cx, aOnafterprint);
-	}
-
-	public int GetOnbeforeprint(long /*int*/ cx, long /*int*/ aOnbeforeprint) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 104 : 100), getAddress(), cx, aOnbeforeprint);
-	}
-
-	public int SetOnbeforeprint(long /*int*/ cx, long /*int*/ aOnbeforeprint) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 105 : 101), getAddress(), cx, aOnbeforeprint);
-	}
-
-	public int GetOnbeforeunload(long /*int*/ cx, long /*int*/ aOnbeforeunload) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 106 : 102), getAddress(), cx, aOnbeforeunload);
-	}
-
-	public int SetOnbeforeunload(long /*int*/ cx, long /*int*/ aOnbeforeunload) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 107 : 103), getAddress(), cx, aOnbeforeunload);
-	}
-
-	public int GetOnhashchange(long /*int*/ cx, long /*int*/ aOnhashchange) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 108 : 104), getAddress(), cx, aOnhashchange);
-	}
-
-	public int SetOnhashchange(long /*int*/ cx, long /*int*/ aOnhashchange) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 109 : 105), getAddress(), cx, aOnhashchange);
-	}
-
-	public int GetOnmessage(long /*int*/ cx, long /*int*/ aOnmessage) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 110 : 106), getAddress(), cx, aOnmessage);
-	}
-
-	public int SetOnmessage(long /*int*/ cx, long /*int*/ aOnmessage) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 111 : 107), getAddress(), cx, aOnmessage);
-	}
-
-	public int GetOnoffline(long /*int*/ cx, long /*int*/ aOnoffline) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 112 : 108), getAddress(), cx, aOnoffline);
-	}
-
-	public int SetOnoffline(long /*int*/ cx, long /*int*/ aOnoffline) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 113 : 109), getAddress(), cx, aOnoffline);
-	}
-
-	public int GetOnonline(long /*int*/ cx, long /*int*/ aOnonline) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 114 : 110), getAddress(), cx, aOnonline);
-	}
-
-	public int SetOnonline(long /*int*/ cx, long /*int*/ aOnonline) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 115 : 111), getAddress(), cx, aOnonline);
-	}
-
-	public int GetOnpopstate(long /*int*/ cx, long /*int*/ aOnpopstate) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 116 : 112), getAddress(), cx, aOnpopstate);
-	}
-
-	public int SetOnpopstate(long /*int*/ cx, long /*int*/ aOnpopstate) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 117 : 113), getAddress(), cx, aOnpopstate);
-	}
-
-	public int GetOnpagehide(long /*int*/ cx, long /*int*/ aOnpagehide) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 118 : 114), getAddress(), cx, aOnpagehide);
-	}
-
-	public int SetOnpagehide(long /*int*/ cx, long /*int*/ aOnpagehide) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 119 : 115), getAddress(), cx, aOnpagehide);
-	}
-
-	public int GetOnpageshow(long /*int*/ cx, long /*int*/ aOnpageshow) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 120 : 116), getAddress(), cx, aOnpageshow);
-	}
-
-	public int SetOnpageshow(long /*int*/ cx, long /*int*/ aOnpageshow) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 121 : 117), getAddress(), cx, aOnpageshow);
-	}
-
-	public int GetOnresize(long /*int*/ cx, long /*int*/ aOnresize) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 122 : 118), getAddress(), cx, aOnresize);
-	}
-
-	public int SetOnresize(long /*int*/ cx, long /*int*/ aOnresize) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 123 : 119), getAddress(), cx, aOnresize);
-	}
-
-	public int GetOnunload(long /*int*/ cx, long /*int*/ aOnunload) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 124 : 120), getAddress(), cx, aOnunload);
-	}
-
-	public int SetOnunload(long /*int*/ cx, long /*int*/ aOnunload) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 125 : 121), getAddress(), cx, aOnunload);
-	}
-
-	public int GetOndevicemotion(long /*int*/ cx, long /*int*/ aOndevicemotion) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 126 : 122), getAddress(), cx, aOndevicemotion);
-	}
-
-	public int SetOndevicemotion(long /*int*/ cx, long /*int*/ aOndevicemotion) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 127 : 123), getAddress(), cx, aOndevicemotion);
-	}
-
-	public int GetOndeviceorientation(long /*int*/ cx, long /*int*/ aOndeviceorientation) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 128 : 124), getAddress(), cx, aOndeviceorientation);
-	}
-
-	public int SetOndeviceorientation(long /*int*/ cx, long /*int*/ aOndeviceorientation) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 129 : 125), getAddress(), cx, aOndeviceorientation);
-	}
-
-	public int GetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 136 : 126), getAddress(), cx, aOnmouseenter);
-	}
-
-	public int SetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 137 : 127), getAddress(), cx, aOnmouseenter);
-	}
-
-	public int GetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 138 : 128), getAddress(), cx, aOnmouseleave);
-	}
-
-	public int SetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 139 : 129), getAddress(), cx, aOnmouseleave);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
index 6a15906..fe6a91f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
@@ -50,7 +50,7 @@
 		new nsID(NS_IDOCSHELL_10_IID_STR);
 	
 	public static final String NS_IDOCSHELL_17_IID_STR =
-			"9b283337-097d-4fa8-a2da-916318eaf828";
+		"9b283337-097d-4fa8-a2da-916318eaf828";
 
 	public static final nsID NS_IDOCSHELL_17_IID =
 		new nsID(NS_IDOCSHELL_17_IID_STR);
@@ -59,223 +59,7 @@
 		super(address);
 	}
 
-	public int LoadURI(long /*int*/ uri, long /*int*/ loadInfo, int aLoadFlags, int firstParty) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
-	}
-
 	public int LoadStream(long /*int*/ aStream, long /*int*/ aURI, long /*int*/ aContentType, long /*int*/ aContentCharset, long /*int*/ aLoadInfo) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
 	}
-
-	public int InternalLoad(long /*int*/ aURI, long /*int*/ aReferrer, long /*int*/ aOwner, int aInheritOwner, char[] aWindowTarget, long /*int*/ aPostDataStream, long /*int*/ aHeadersStream, int aLoadFlags, long /*int*/ aSHEntry, int firstParty, long /*int*/[] aDocShell, long /*int*/[] aRequest) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aInheritOwner, aWindowTarget, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
-	}
-
-	public int CreateLoadInfo(long /*int*/[] loadInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
-	}
-
-	public int PrepareForNewContentModel() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
-	}
-
-	public int SetCurrentURI(long /*int*/ aURI) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
-	}
-
-	public int FireUnloadNotification() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress());
-	}
-
-	public int GetPresContext(long /*int*/[] aPresContext) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
-	}
-
-	public int GetPresShell(long /*int*/[] aPresShell) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
-	}
-
-	public int GetEldestPresShell(long /*int*/[] aEldestPresShell) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
-	}
-
-	public int GetContentViewer(long /*int*/[] aContentViewer) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
-	}
-
-	public int GetChromeEventHandler(long /*int*/[] aChromeEventHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
-	}
-
-	public int SetChromeEventHandler(long /*int*/ aChromeEventHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
-	}
-
-	public int GetParentURIContentListener(long /*int*/[] aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentURIContentListener);
-	}
-
-	public int SetParentURIContentListener(long /*int*/ aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aParentURIContentListener);
-	}
-
-	public int GetDocumentCharsetInfo(long /*int*/[] aDocumentCharsetInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aDocumentCharsetInfo);
-	}
-
-	public int SetDocumentCharsetInfo(long /*int*/ aDocumentCharsetInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aDocumentCharsetInfo);
-	}
-
-	public int GetAllowPlugins(int[] aAllowPlugins) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aAllowPlugins);
-	}
-
-	public int SetAllowPlugins(int aAllowPlugins) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aAllowPlugins);
-	}
-
-	public int GetAllowJavascript(int[] aAllowJavascript) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aAllowJavascript);
-	}
-
-	public int SetAllowJavascript(int aAllowJavascript) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aAllowJavascript);
-	}
-
-	public int GetAllowMetaRedirects(int[] aAllowMetaRedirects) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aAllowMetaRedirects);
-	}
-
-	public int SetAllowMetaRedirects(int aAllowMetaRedirects) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aAllowMetaRedirects);
-	}
-
-	public int GetAllowSubframes(int[] aAllowSubframes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aAllowSubframes);
-	}
-
-	public int SetAllowSubframes(int aAllowSubframes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aAllowSubframes);
-	}
-
-	public int GetAllowImages(int[] aAllowImages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aAllowImages);
-	}
-
-	public int SetAllowImages(int aAllowImages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aAllowImages);
-	}
-
-	public static final int ENUMERATE_FORWARDS = 0;
-
-	public static final int ENUMERATE_BACKWARDS = 1;
-
-	public int GetDocShellEnumerator(int aItemType, int aDirection, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aItemType, aDirection, _retval);
-	}
-
-	public static final int APP_TYPE_UNKNOWN = 0;
-
-	public static final int APP_TYPE_MAIL = 1;
-
-	public int GetAppType(int[] aAppType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aAppType);
-	}
-
-	public int SetAppType(int aAppType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aAppType);
-	}
-
-	public int GetAllowAuth(int[] aAllowAuth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), aAllowAuth);
-	}
-
-	public int SetAllowAuth(int aAllowAuth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), aAllowAuth);
-	}
-
-	public int GetZoom(float[] aZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), aZoom);
-	}
-
-	public int SetZoom(float aZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), aZoom);
-	}
-
-	public int GetMarginWidth(int[] aMarginWidth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), aMarginWidth);
-	}
-
-	public int SetMarginWidth(int aMarginWidth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), aMarginWidth);
-	}
-
-	public int GetMarginHeight(int[] aMarginHeight) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 37, getAddress(), aMarginHeight);
-	}
-
-	public int SetMarginHeight(int aMarginHeight) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 38, getAddress(), aMarginHeight);
-	}
-
-	public int GetHasFocus(int[] aHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 39, getAddress(), aHasFocus);
-	}
-
-	public int SetHasFocus(int aHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), aHasFocus);
-	}
-
-	public int GetCanvasHasFocus(int[] aCanvasHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), aCanvasHasFocus);
-	}
-
-	public int SetCanvasHasFocus(int aCanvasHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), aCanvasHasFocus);
-	}
-
-	public int TabToTreeOwner(int forward, int[] tookFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), forward, tookFocus);
-	}
-
-	public static final int BUSY_FLAGS_NONE = 0;
-	public static final int BUSY_FLAGS_BUSY = 1;
-	public static final int BUSY_FLAGS_BEFORE_PAGE_LOAD = 2;
-	public static final int BUSY_FLAGS_PAGE_LOADING = 4;
-	public static final int LOAD_CMD_NORMAL = 1;
-	public static final int LOAD_CMD_RELOAD = 2;
-	public static final int LOAD_CMD_HISTORY = 4;
-
-	public int GetBusyFlags(int[] aBusyFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aBusyFlags);
-	}
-
-	public int GetLoadType(int[] aLoadType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aLoadType);
-	}
-
-	public int SetLoadType(int aLoadType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 46, getAddress(), aLoadType);
-	}
-
-	public int IsBeingDestroyed(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 47, getAddress(), _retval);
-	}
-
-	public int GetIsExecutingOnLoadHandler(int[] aIsExecutingOnLoadHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aIsExecutingOnLoadHandler);
-	}
-
-	public int GetLayoutHistoryState(long /*int*/[] aLayoutHistoryState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aLayoutHistoryState);
-	}
-
-	public int SetLayoutHistoryState(long /*int*/ aLayoutHistoryState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aLayoutHistoryState);
-	}
-
-	public int GetShouldSaveLayoutState(int[] aShouldSaveLayoutState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 51, getAddress(), aShouldSaveLayoutState);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
index 923f1c7..bf8f08c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
@@ -29,7 +29,7 @@
 
 public class nsIEmbeddingSiteWindow extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 9 :8);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner17 ? 9 : 8);
 
 	public static final String NS_IEMBEDDINGSITEWINDOW_IID_STR =
 		"3e5432cd-9568-4bd1-8cbe-d50aba110743";
@@ -51,40 +51,7 @@
 	public static final int DIM_FLAGS_SIZE_INNER = 2;
 	public static final int DIM_FLAGS_SIZE_OUTER = 4;
 
-	public int SetDimensions(int flags, int x, int y, int cx, int cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), flags, x, y, cx, cy);
-	}
-
-	public int GetDimensions(int flags, int[] x, int[] y, int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), flags, x, y, cx, cy);
-	}
-
-	public int SetFocus() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int GetVisibility(int[] aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aVisibility);
-	}
-
-	public int SetVisibility(int aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aVisibility);
-	}
-
-	public int GetTitle(long /*int*/[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aTitle);
-	}
-
-	public int SetTitle(char[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTitle);
-	}
-
 	public int GetSiteWindow(long /*int*/[] aSiteWindow) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aSiteWindow);
 	}
-	
-	public int Blur() {
-		if (!IsXULRunner17) return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress());
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
index ade60ac..f652baf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
@@ -50,18 +50,6 @@
 	public static final int NORMAL_FILE_TYPE = 0;
 	public static final int DIRECTORY_TYPE = 1;
 
-	public int Append(long /*int*/ node) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), node);
-	}
-
-	public int AppendNative(long /*int*/ node) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), node);
-	}
-
-	public int Normalize() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
 	public int Create(int type, int permissions) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), type, permissions);
 	}
@@ -70,231 +58,7 @@
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLeafName);
 	}
 
-	public int SetLeafName(long /*int*/ aLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLeafName);
-	}
-
-	public int GetNativeLeafName(long /*int*/ aNativeLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNativeLeafName);
-	}
-
-	public int SetNativeLeafName(long /*int*/ aNativeLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNativeLeafName);
-	}
-
-	public int CopyTo(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToNative(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToFollowingLinks(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToFollowingLinksNative(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), newParentDir, newName);
-	}
-
-	public int MoveTo(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), newParentDir, newName);
-	}
-
-	public int MoveToNative(long /*int*/ newParentDir, long /*int*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), newParentDir, newName);
-	}
-
-	public int Remove(int recursive) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), recursive);
-	}
-
-	public int GetPermissions(int[] aPermissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aPermissions);
-	}
-
-	public int SetPermissions(int aPermissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aPermissions);
-	}
-
-	public int GetPermissionsOfLink(int[] aPermissionsOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPermissionsOfLink);
-	}
-
-	public int SetPermissionsOfLink(int aPermissionsOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aPermissionsOfLink);
-	}
-
-	public int GetLastModifiedTime(long[] aLastModifiedTime) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aLastModifiedTime);
-	}
-
-	public int SetLastModifiedTime(long aLastModifiedTime) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aLastModifiedTime);
-	}
-
-	public int GetLastModifiedTimeOfLink(long[] aLastModifiedTimeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aLastModifiedTimeOfLink);
-	}
-
-	public int SetLastModifiedTimeOfLink(long aLastModifiedTimeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aLastModifiedTimeOfLink);
-	}
-
-	public int GetFileSize(long[] aFileSize) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aFileSize);
-	}
-
-	public int SetFileSize(long aFileSize) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aFileSize);
-	}
-
-	public int GetFileSizeOfLink(long[] aFileSizeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aFileSizeOfLink);
-	}
-
-	public int GetTarget(long /*int*/ aTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aTarget);
-	}
-
-	public int GetNativeTarget(long /*int*/ aNativeTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aNativeTarget);
-	}
-
 	public int GetPath(long /*int*/ aPath) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aPath);
 	}
-
-	public int GetNativePath(long /*int*/ aNativePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aNativePath);
-	}
-
-	public int Exists(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), _retval);
-	}
-
-	public int IsWritable(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), _retval);
-	}
-
-	public int IsReadable(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), _retval);
-	}
-
-	public int IsExecutable(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), _retval);
-	}
-
-	public int IsHidden(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), _retval);
-	}
-
-	public int IsDirectory(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), _retval);
-	}
-
-	public int IsFile(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 37, getAddress(), _retval);
-	}
-
-	public int IsSymlink(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 38, getAddress(), _retval);
-	}
-
-	public int IsSpecial(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 39, getAddress(), _retval);
-	}
-
-	public int CreateUnique(int type, int permissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), type, permissions);
-	}
-
-	public int Clone(long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), _retval);
-	}
-
-	public int Equals(long /*int*/ inFile, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), inFile, _retval);
-	}
-
-	public int Contains(long /*int*/ inFile, int recur, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), inFile, recur, _retval);
-	}
-
-	public int GetParent(long /*int*/[] aParent) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aParent);
-	}
-
-	public int GetDirectoryEntries(long /*int*/[] aDirectoryEntries) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aDirectoryEntries);
-	}
-	
-	public int InitWithPath(long /*int*/ filePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 46, getAddress(), filePath);
-	}
-
-	public int InitWithNativePath(long /*int*/ filePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 47, getAddress(), filePath);
-	}
-
-	public int InitWithFile(long /*int*/ aFile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aFile);
-	}
-
-	public int GetFollowLinks(int[] aFollowLinks) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aFollowLinks);
-	}
-
-	public int SetFollowLinks(int aFollowLinks) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aFollowLinks);
-	}
-
-	public int OpenNSPRFileDesc(int flags, int mode, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 51, getAddress(), flags, mode, _retval);
-	}
-
-	public int OpenANSIFileDesc(byte[] mode, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 52, getAddress(), mode, _retval);
-	}
-
-	public int Load(long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 53, getAddress(), _retval);
-	}
-
-	public int GetDiskSpaceAvailable(long[] aDiskSpaceAvailable) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 54, getAddress(), aDiskSpaceAvailable);
-	}
-
-	public int AppendRelativePath(long /*int*/ relativeFilePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 55, getAddress(), relativeFilePath);
-	}
-
-	public int AppendRelativeNativePath(long /*int*/ relativeFilePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 56, getAddress(), relativeFilePath);
-	}
-
-	public int GetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 57, getAddress(), aPersistentDescriptor);
-	}
-
-	public int SetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 58, getAddress(), aPersistentDescriptor);
-	}
-
-	public int Reveal() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 59, getAddress());
-	}
-
-	public int Launch() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 60, getAddress());
-	}
-
-	public int GetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 61, getAddress(), fromFile, _retval);
-	}
-
-	public int SetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ relativeDesc) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 62, getAddress(), fromFile, relativeDesc);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
index a7b7bff..141696e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
@@ -45,7 +45,7 @@
 		new nsID(NS_IFILEPICKER_IID_STR);
 
 	public static final nsID NS_IFILEPICKER_1_8_IID =
-			new nsID(NS_IFILEPICKER_1_8_IID_STR);
+		new nsID(NS_IFILEPICKER_1_8_IID_STR);
 
 	public static final nsID NS_IFILEPICKER_10_IID =
 		new nsID(NS_IFILEPICKER_10_IID_STR);
@@ -68,7 +68,7 @@
 	public static final int filterXUL = 32;
 	public static final int filterApps = 64;
 
-	/* the following constants are defined as of mozilla 8 */
+	/* the following constants are available as of mozilla 10 */
 	public static final int filterAllowURLs = 128;
 	public static final int filterAudio = 256;
 	public static final int filterVideo = 512;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePickerShownCallback.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePickerShownCallback.java
index c52b1f1..e5e4880 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePickerShownCallback.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePickerShownCallback.java
@@ -1,18 +1,45 @@
+/* ***** 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) 2012 IBM Corp.  All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
 package org.eclipse.swt.internal.mozilla;
 
 public class nsIFilePickerShownCallback extends nsISupports {
-	
+
 	public static final String NS_IFILEPICKER_IID_STR =
-			"0d79adad-b244-49A5-9997-2a8cad93fc44";
-	
+		"0d79adad-b244-49A5-9997-2a8cad93fc44";
+
 	public static final nsID NS_IFILEPICKER_IID =
-			new nsID (NS_IFILEPICKER_IID_STR);
-	
+		new nsID (NS_IFILEPICKER_IID_STR);
+
 	public nsIFilePickerShownCallback (long /*int*/ address) {
 		super (address);
 	}
-	
-	public int Done (int retval) {
-		return XPCOM.VtblCall (nsISupports.LAST_METHOD_ID + 1, getAddress(), retval);
+
+	public int Done (int aResult) {
+		return XPCOM.VtblCall (nsISupports.LAST_METHOD_ID + 1, getAddress(), aResult);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFocusManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
index c795bd7..a53bd9e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
@@ -29,7 +29,7 @@
 
 public class nsIFocusManager extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 18 : 17);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 18 : 17);
 
 	public static final String NS_IFOCUSMANAGER_IID_STR =
 			"cd6040a8-243f-412a-8a16-0bf2aa1083b9";
@@ -131,7 +131,7 @@
 	}
 	
 	public int FocusPlugin(long /*int*/ aPlugin) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPlugin);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
index b691eff..1380ba3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
@@ -47,10 +47,6 @@
 		super(address);
 	}
 
-	public int Close() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
 	public int Available(int[] _retval) {
 		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
@@ -64,12 +60,4 @@
 	public int Read(byte[] aBuf, int aCount, int[] _retval) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aBuf, aCount, _retval);
 	}
-
-	public int ReadSegments(long /*int*/ aWriter, long /*int*/ aClosure, int aCount, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWriter, aClosure, aCount, _retval);
-	}
-
-	public int IsNonBlocking(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
index 8b87b1c..af3317f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
@@ -46,89 +46,4 @@
 	public nsILocalFile(long /*int*/ address) {
 		super(address);
 	}
-
-	public int InitWithPath(long /*int*/ filePath) {
-		if (IsXULRunner17) return super.InitWithPath(filePath);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 1, getAddress(), filePath);
-	}
-
-	public int InitWithNativePath(long /*int*/ filePath) {
-		if (IsXULRunner17) return super.InitWithNativePath(filePath);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 2, getAddress(), filePath);
-	}
-
-	public int InitWithFile(long /*int*/ aFile) {
-		if (IsXULRunner17) return super.InitWithFile(aFile);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 3, getAddress(), aFile);
-	}
-
-	public int GetFollowLinks(int[] aFollowLinks) {
-		if (IsXULRunner17) return super.GetFollowLinks(aFollowLinks);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 4, getAddress(), aFollowLinks);
-	}
-
-	public int SetFollowLinks(int aFollowLinks) {
-		if (IsXULRunner17) return super.SetFollowLinks(aFollowLinks);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 5, getAddress(), aFollowLinks);
-	}
-
-	public int OpenNSPRFileDesc(int flags, int mode, long /*int*/[] _retval) {
-		if (IsXULRunner17) return super.OpenNSPRFileDesc(flags, mode, _retval);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 6, getAddress(), flags, mode, _retval);
-	}
-
-	public int OpenANSIFileDesc(byte[] mode, long /*int*/[] _retval) {
-		if (IsXULRunner17) return super.OpenANSIFileDesc(mode, _retval);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 7, getAddress(), mode, _retval);
-	}
-
-	public int Load(long /*int*/[] _retval) {
-		if (IsXULRunner17) return super.Load(_retval);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 8, getAddress(), _retval);
-	}
-
-	public int GetDiskSpaceAvailable(long[] aDiskSpaceAvailable) {
-		if (IsXULRunner17) return super.GetDiskSpaceAvailable(aDiskSpaceAvailable);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 9, getAddress(), aDiskSpaceAvailable);
-	}
-
-	public int AppendRelativePath(long /*int*/ relativeFilePath) {
-		if (IsXULRunner17) return super.AppendRelativePath(relativeFilePath);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 10, getAddress(), relativeFilePath);
-	}
-
-	public int AppendRelativeNativePath(long /*int*/ relativeFilePath) {
-		if (IsXULRunner17) return super.AppendRelativeNativePath(relativeFilePath);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 11, getAddress(), relativeFilePath);
-	}
-
-	public int GetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
-		if (IsXULRunner17) return super.GetPersistentDescriptor(aPersistentDescriptor);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 12, getAddress(), aPersistentDescriptor);
-	}
-
-	public int SetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
-		if (IsXULRunner17) return super.SetPersistentDescriptor(aPersistentDescriptor);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 13, getAddress(), aPersistentDescriptor);
-	}
-
-	public int Reveal() {
-		if (IsXULRunner17) return super.Reveal();
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 14, getAddress());
-	}
-
-	public int Launch() {
-		if (IsXULRunner17) return super.Launch();
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 15, getAddress());
-	}
-
-	public int GetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ _retval) {
-		if (IsXULRunner17) return super.GetRelativeDescriptor(fromFile, _retval);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 16, getAddress(), fromFile, _retval);
-	}
-
-	public int SetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ relativeDesc) {
-		if (IsXULRunner17) return super.SetRelativeDescriptor(fromFile, relativeDesc);
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 17, getAddress(), fromFile, relativeDesc);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
index 8a18e45..6a736fb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
@@ -58,30 +58,10 @@
 	public static final int PREF_INT = 64;
 	public static final int PREF_BOOL = 128;
 
-	public int GetRoot(long /*int*/[] aRoot) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aRoot);
-	}
-
-	public int GetPrefType(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aPrefName, _retval);
-	}
-
-	public int GetBoolPref(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aPrefName, _retval);
-	}
-
 	public int SetBoolPref(byte[] aPrefName, int aValue) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPrefName, aValue);
 	}
 
-	public int GetCharPref(byte[] aPrefName, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefName, _retval);
-	}
-
-	public int SetCharPref(byte[] aPrefName, byte[] aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPrefName, aValue);
-	}
-
 	public int GetIntPref(byte[] aPrefName, int[] _retval) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPrefName, _retval);
 	}
@@ -101,32 +81,4 @@
 	public int ClearUserPref(byte[] aPrefName) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aPrefName);
 	}
-
-	public int LockPref(byte[] aPrefName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aPrefName);
-	}
-
-	public int PrefHasUserValue(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aPrefName, _retval);
-	}
-
-	public int PrefIsLocked(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aPrefName, _retval);
-	}
-
-	public int UnlockPref(byte[] aPrefName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aPrefName);
-	}
-
-	public int DeleteBranch(byte[] aStartingAt) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aStartingAt);
-	}
-
-	public int GetChildList(byte[] aStartingAt, int[] aCount, long /*int*/[] aChildArray) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aStartingAt, aCount, aChildArray);
-	}
-
-	public int ResetBranch(byte[] aStartingAt) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aStartingAt);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrincipal.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
index c821fcb..286abb4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
@@ -58,114 +58,8 @@
 	public static final int ENABLE_WITH_USER_PERMISSION = 3;
 	public static final int ENABLE_GRANTED = 4;
 
-	public int GetPreferences(long /*int*/[] prefBranch, long /*int*/[] id, long /*int*/[] subjectName, long /*int*/[] grantedList, long /*int*/[] deniedList, int[] isTrusted) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 1, getAddress(), prefBranch, id, subjectName, grantedList, deniedList, isTrusted);
-	}
-
-	public int Equals(long /*int*/ other, int[] _retval) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 2, getAddress(), other, _retval);
-	}
-
-	public int EqualsIgnoringDomain(long /*int*/ other, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 3, getAddress(), other, _retval);
-	}
-
-	public int GetHashValue(int[] aHashValue) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 3), getAddress(), aHashValue);
-	}
-
 	public int GetJSPrincipals(long /*int*/ cx, long /*int*/[] _retval) {
 		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 5 : 4), getAddress(), cx, _retval);
 	}
-
-	public int GetSecurityPolicy(long /*int*/[] aSecurityPolicy) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 6 : 5), getAddress(), aSecurityPolicy);
-	}
-
-	public int SetSecurityPolicy(long /*int*/ aSecurityPolicy) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 7 : 6), getAddress(), aSecurityPolicy);
-	}
-
-	public int CanEnableCapability(byte[] capability, long /*int*/ _retval) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 7), getAddress(), capability, _retval);
-	}
-
-	public int SetCanEnableCapability(byte[] capability, short canEnable) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 8), getAddress(), capability, canEnable);
-	}
-
-	public int IsCapabilityEnabled(byte[] capability, long /*int*/ annotation, int[] _retval) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 8 : (IsXULRunner10 ? 10 : 9)), getAddress(), capability, annotation, _retval);
-	}
-
-	public int EnableCapability(byte[] capability, long /*int*/[] annotation) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 9 : (IsXULRunner10 ? 11 : 10)), getAddress(), capability, annotation);
-	}
-
-	public int RevertCapability(byte[] capability, long /*int*/[] annotation) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 11), getAddress(), capability, annotation);
-	}
-
-	public int DisableCapability(byte[] capability, long /*int*/[] annotation) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 12), getAddress(), capability, annotation);
-	}
-
-	public int GetURI(long /*int*/[] aURI) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 10 : (IsXULRunner10 ? 14 : 13)), getAddress(), aURI);
-	}
-
-	public int GetDomain(long /*int*/[] aDomain) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 11 : (IsXULRunner10 ? 15 : 14)), getAddress(), aDomain);
-	}
-
-	public int SetDomain(long /*int*/ aDomain) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 12 : (IsXULRunner10 ? 16 : 15)), getAddress(), aDomain);
-	}
-
-	public int GetOrigin(long /*int*/[] aOrigin) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 13 : (IsXULRunner10 ? 17 : 16)), getAddress(), aOrigin);
-	}
-
-	public int GetHasCertificate(int[] aHasCertificate) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 14 : (IsXULRunner10 ? 18 : 17)), getAddress(), aHasCertificate);
-	}
-
-	public int GetFingerprint(long /*int*/ aFingerprint) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 15 : (IsXULRunner10 ? 19 : 18)), getAddress(), aFingerprint);
-	}
-
-	public int GetPrettyName(long /*int*/ aPrettyName) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + ((IsXULRunner17 ? 16 : IsXULRunner10 ? 20 : 19)), getAddress(), aPrettyName);
-	}
-
-	public int Subsumes(long /*int*/ other, int[] _retval) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 17 : (IsXULRunner10 ? 21 : 20)), getAddress(), other, _retval);
-	}
-
-	public int CheckMayLoad(long /*int*/ uri, int report) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + ((IsXULRunner17 ? 19 : IsXULRunner10 ? 22 : 21)), getAddress(), uri, report);
-	}
-
-	public int GetSubjectName(long /*int*/ aSubjectName) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + ((IsXULRunner17 ? 20 : IsXULRunner10 ? 23 : 22)), getAddress(), aSubjectName);
-	}
-
-	public int GetCertificate(long /*int*/[] aCertificate) {
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + ((IsXULRunner17 ? 21 : IsXULRunner10 ? 24 : 23)), getAddress(), aCertificate);
-	}
-	
-	public int GetCsp(long /*int*/[] aCsp) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 22 : 25), getAddress(), aCsp);
-	}
-
-	public int SetCsp(long /*int*/ aCsp) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner17 ? 22 : 26), getAddress(), aCsp);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISSLStatus.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
index 0a8b3c3..3575674 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
@@ -29,7 +29,7 @@
 
 public class nsISSLStatus extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 7);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 8 : 7);
 
 	public static final String NS_ISSLSTATUS_IID_STR =
 		"cfede939-def1-49be-81ed-d401b3a07d1c";
@@ -76,7 +76,7 @@
 	}
 	
 	public int GetIsExtendedValidation(int[] aIsExtendedValidation) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aIsExtendedValidation);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
index b215155..93eea95 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
@@ -50,28 +50,15 @@
 		new nsID(NS_ISCRIPTSECURITYMANAGER_10_IID_STR);
 	
 	public static final String NS_ISCRIPTSECURITYMANAGER_17_IID_STR =
-			"45e12581-2c3f-4142-8e0d-4075e5a67d2d";
+		"45e12581-2c3f-4142-8e0d-4075e5a67d2d";
 
 	public static final nsID NS_ISCRIPTSECURITYMANAGER_17_IID =
-			new nsID(NS_ISCRIPTSECURITYMANAGER_17_IID_STR);
+		new nsID(NS_ISCRIPTSECURITYMANAGER_17_IID_STR);
 
 	public nsIScriptSecurityManager(long /*int*/ address) {
 		super(address);
 	}
 
-//	public int CheckPropertyAccess(long /*int*/ aJSContext, long /*int*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
-//		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 1, getAddress(), aJSContext, aJSObject, aClassName, aProperty, aAction);
-//	}
-
-	public int CheckConnect(long /*int*/ aJSContext, long /*int*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
-		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 2, getAddress(), aJSContext, aTargetURI, aClassName, aProperty);
-	}
-
-	public int CheckLoadURIFromScript(long /*int*/ cx, long /*int*/ uri) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 2 : 3), getAddress(), cx, uri);
-	}
-
 	public static final int STANDARD = 0;
 	public static final int LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT = 1;
 	public static final int ALLOW_CHROME = 2;
@@ -79,108 +66,7 @@
 	public static final int DISALLOW_SCRIPT_OR_DATA = 4;
 	public static final int DISALLOW_SCRIPT = 8;
 
-	public int CheckLoadURIWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 3 : 4), getAddress(), aPrincipal, uri, flags);
-	}
-
-	public int CheckLoadURI(long /*int*/ from, long /*int*/ uri, int flags) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 5), getAddress(), from, uri, flags);
-	}
-
-	public int CheckLoadURIStrWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 4 : (IsXULRunner10 ? 5 : 6)), getAddress(), aPrincipal, uri, flags);
-	}
-
-	public int CheckLoadURIStr(long /*int*/ from, long /*int*/ uri, int flags) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 6 : 7), getAddress(), from, uri, flags);
-	}
-
-	public int CheckFunctionAccess(long /*int*/ cx, long /*int*/ funObj, long /*int*/ targetObj) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 5 : (IsXULRunner10 ? 7 : 8)), getAddress(), cx, funObj, targetObj);
-	}
-
-	public int CanExecuteScripts(long /*int*/ cx, long /*int*/ principal, int[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 6 : (IsXULRunner10 ? 8 : 9)), getAddress(), cx, principal, _retval);
-	}
-
-	public int GetSubjectPrincipal(long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 7 : (IsXULRunner10 ? 9 : 10)), getAddress(), _retval);
-	}
-
 	public int GetSystemPrincipal(long /*int*/[] _retval) {
 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 8 : (IsXULRunner10 ? 10 : 11)), getAddress(), _retval);
 	}
-
-//	public int GetCertificatePrincipal(long /*int*/ aCertFingerprint, long /*int*/ aSubjectName, long /*int*/ aPrettyName, long /*int*/ aCert, long /*int*/ aURI, long /*int*/[] _retval) {
-//		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 11 : 12), getAddress(), aCertFingerprint, aSubjectName, aPrettyName, aCert, aURI, _retval);
-//	}
-
-	public int GetCodebasePrincipal(long /*int*/ aURI, long /*int*/[] _retval) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 13), getAddress(), aURI, _retval);
-	}
-
-//	public int RequestCapability(long /*int*/ principal, byte[] capability, long /*int*/ _retval) {
-//		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 13 : 14), getAddress(), principal, capability, _retval);
-//	}
-
-	public int IsCapabilityEnabled(byte[] capability, int[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 16 : (IsXULRunner10 ? 14 : 15)), getAddress(), capability, _retval);
-	}
-	
-	public int EnableCapability(byte[] capability) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 17 : (IsXULRunner10 ? 15 : 16)), getAddress(), capability);
-	}
-	
-	public int RevertCapability(byte[] capability) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 17), getAddress(), capability);
-	}
-	
-	public int DisableCapability(byte[] capability) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 18), getAddress(), capability);
-	}
-
-//	public int SetCanEnableCapability(long /*int*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
-//		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 18 : 19), getAddress(), certificateFingerprint, capability, canEnable);
-//	}
-
-	public int GetObjectPrincipal(long /*int*/ cx, long /*int*/ obj, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 18 :(IsXULRunner10 ? 19 : 20)), getAddress(), cx, obj, _retval);
-	}
-	
-	public int SubjectPrincipalIsSystem(int[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 19 :(IsXULRunner10 ? 20 : 21)), getAddress(), _retval);
-	}
-	
-	public int CheckSameOrigin(long /*int*/ aJSContext, long /*int*/ aTargetURI) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 20 : (IsXULRunner10 ? 21 : 22)), getAddress(), aJSContext, aTargetURI);
-	}
-	
-	public int CheckSameOriginURI(long /*int*/ aSourceURI, long /*int*/ aTargetURI, int reportError) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 21 : (IsXULRunner10 ? 22 : 23)), getAddress(), aSourceURI, aTargetURI, reportError);
-	}
-	
-	public int GetPrincipalFromContext(long /*int*/ cx, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + ((IsXULRunner17 ? 22 :IsXULRunner10 ? 23 : 24)), getAddress(), cx, _retval);
-	}
-	
-	public int GetChannelPrincipal(long /*int*/ aChannel, long /*int*/[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 23 : (IsXULRunner10 ? 24 : 25)), getAddress(), aChannel, _retval);
-	}
-	
-	public int IsSystemPrincipal(long /*int*/ aPrincipal, int[] _retval) {
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner17 ? 24 : (IsXULRunner10 ? 25 : 26)), getAddress(), aPrincipal, _retval);
-	}
-	
-	public int PushContextPrincipal(long /*int*/ cx, long /*int*/ fp, long /*int*/ principal) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 26, getAddress(), cx, fp, principal);
-	}
-	
-	public int PopContextPrincipal(long /*int*/ cx) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 27, getAddress(), cx);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
index 28adbdb..6288c01 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
@@ -29,7 +29,7 @@
 
 public class nsIURI extends nsISupports {
 	
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 32 : 26);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 32 : 26);
 
 	public static final String NS_IURI_IID_STR =
 		"07a22cc0-0ce5-11d3-9331-00104ba0fd40";
@@ -152,32 +152,32 @@
 	}
 	
 	public int GetRef(long /*int*/ aRef) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aRef);
 	}
 
 	public int SetRef(long /*int*/ aRef) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aRef);
 	}
 
 	public int EqualsExceptRef(long /*int*/ other, int[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), other, _retval);
 	}
 
 	public int CloneIgnoringRef(long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), _retval);
 	}
 
 	public int GetSpecIgnoringRef(long /*int*/ aSpecIgnoringRef) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), aSpecIgnoringRef);
 	}
 
 	public int GetHasRef(int[] aHasRef) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), aHasRef);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java
index 36ea2a2..57f8021 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java
@@ -29,7 +29,7 @@
 
 public class nsIVariant extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 27 : 26);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 27 : 26);
 
 	public static final String NS_IVARIANT_IID_STR =
 		"6c9eb060-8c6a-11d5-90f3-0010a4e73d9a";
@@ -93,7 +93,7 @@
 
 	public int GetAsBool(int[] _retval) {
 		/* mozilla's representation of boolean changed from 4 bytes to 1 byte as of XULRunner 4.x */
-		if (nsISupports.IsXULRunner10) {
+		if (nsISupports.IsXULRunner10 || nsISupports.IsXULRunner17) {
 			byte[] byteValue = new byte[1];
 			int rc = XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), byteValue);
 			_retval[0] = (int)byteValue[0];
@@ -143,23 +143,23 @@
 	}
 
 	public int GetAsJSVal(long /*int*/[] _retval) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), _retval);
 	}
 
 	public int GetAsInterface(long /*int*/[] iid, long /*int*/[] iface) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 24 : 23), getAddress(), iid, iface);
+		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 24 : 23), getAddress(), iid, iface);
 	}
 
 	public int GetAsArray(short[] type, long /*int*/ iid, int[] count, long /*int*/[] ptr) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 25 : 24), getAddress(), type, iid, count, ptr);
+		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 25 : 24), getAddress(), type, iid, count, ptr);
 	}
 
 	public int GetAsStringWithSize(int[] size, long /*int*/[] str) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 26 : 25), getAddress(), size, str);
+		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 26 : 25), getAddress(), size, str);
 	}
 
 	public int GetAsWStringWithSize(int[] size, long /*int*/[] str) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 27 : 26), getAddress(), size, str);
+		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 27 : 26), getAddress(), size, str);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
index 02c79c1..e14fb82 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
@@ -29,7 +29,7 @@
 
 public class nsIWebBrowser extends nsISupports {
 
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 7);
+	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + ((IsXULRunner10 || IsXULRunner17) ? 9 : 7);
 
 	public static final String NS_IWEBBROWSER_IID_STR =
 		"69e5df00-7b8b-11d3-af61-00a024ffc08c";
@@ -76,12 +76,12 @@
 	}
 
 	public int GetIsActive(int[] aIsActive) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aIsActive);
 	}
 
 	public int SetIsActive(int aIsActive) {
-		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+		if (!(IsXULRunner10 || IsXULRunner17)) return XPCOM.NS_COMFALSE;
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aIsActive);
 	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
index be60ca5..6b600ae 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
@@ -51,18 +51,10 @@
 	public static final int STATUS_SCRIPT_DEFAULT = 2;
 	public static final int STATUS_LINK = 3;
 
-	public int SetStatus(int statusType, char[] status) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), statusType, status);
-	}
-
 	public int GetWebBrowser(long /*int*/[] aWebBrowser) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebBrowser);
 	}
 
-	public int SetWebBrowser(long /*int*/ aWebBrowser) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebBrowser);
-	}
-
 	public static final int CHROME_DEFAULT = 1;
 	public static final int CHROME_WINDOW_BORDERS = 2;
 	public static final int CHROME_WINDOW_CLOSE = 4;
@@ -88,31 +80,7 @@
 	public static final int CHROME_OPENAS_CHROME = -2147483648;
 	public static final int CHROME_ALL = 4094;
 
-	public int GetChromeFlags(int[] aChromeFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aChromeFlags);
-	}
-
 	public int SetChromeFlags(int aChromeFlags) {
 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aChromeFlags);
 	}
-
-	public int DestroyBrowserWindow() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
-	}
-
-	public int SizeBrowserTo(int aCX, int aCY) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aCX, aCY);
-	}
-
-	public int ShowAsModal() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-
-	public int IsWindowModal(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
-	}
-
-	public int ExitModalEventLoop(int aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aStatus);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
index befa495..75fce55 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
@@ -62,30 +62,4 @@
 	public static final int STATE_SECURE_HIGH = 262144;
 	public static final int STATE_SECURE_MED = 65536;
 	public static final int STATE_SECURE_LOW = 131072;
-
-	public int OnStateChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aStateFlags, aStatus);
-	}
-
-	public int OnProgressChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
-	}
-
-	public int OnLocationChange(long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ location) {
-		if (IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebProgress, aRequest, location);
-	}
-	
-	public int OnLocationChange(long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ location, int aFlags) {
-		if (!IsXULRunner17) return XPCOM.NS_COMFALSE;
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebProgress, aRequest, location, aFlags);
-	}
-
-	public int OnStatusChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, char[] aMessage) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWebProgress, aRequest, aStatus, aMessage);
-	}
-
-	public int OnSecurityChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aWebProgress, aRequest, state);
-	}
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
index 59b5008..18f229a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
@@ -91,7 +91,7 @@
 
 	public int SetAsBool(int aValue) {
 		/* mozilla's representation of boolean changed from 4 bytes to 1 byte as of XULRunner 4.x */
-		if (IsXULRunner10) {
+		if (IsXULRunner10 || IsXULRunner17) {
 			return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 13, getAddress(), (byte)aValue);
 		}
 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 13, getAddress(), aValue);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIXPConnect.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIXPConnect.java
index 85f0bb1..1fd3dc6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIXPConnect.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIXPConnect.java
@@ -38,10 +38,10 @@
 		new nsID(NS_IXPCONNECT_IID_STR);
 	
 	public static final String NS_IXPCONNECT_17_IID_STR =
-			"bd300b18-1c34-4589-8285-23a12cc580ea";
+		"bd300b18-1c34-4589-8285-23a12cc580ea";
 
 	public static final nsID NS_IXPCONNECT_17_IID =
-			new nsID(NS_IXPCONNECT_17_IID_STR);
+		new nsID(NS_IXPCONNECT_17_IID_STR);
 
 	public nsIXPConnect(long /*int*/ address) {
 		super(address);