changeset 348:9a4d7706df52

Test Update to fix linux XPCOM interface issues
author John Reimer <terminal.node@gmail.com>
date Fri, 31 Oct 2008 21:46:44 -0700
parents ff6dd48f5248
children 676785ef6d24
files dwt/browser/AppFileLocProvider.d dwt/browser/Download.d dwt/browser/DownloadFactory.d dwt/browser/DownloadFactory_1_8.d dwt/browser/Download_1_8.d dwt/browser/FilePicker.d dwt/browser/FilePickerFactory.d dwt/browser/FilePickerFactory_1_8.d dwt/browser/FilePicker_1_8.d dwt/browser/HelperAppLauncherDialog.d dwt/browser/HelperAppLauncherDialogFactory.d dwt/browser/InputStream.d dwt/browser/Mozilla.d dwt/browser/PromptService2.d dwt/browser/PromptService2Factory.d dwt/browser/SimpleEnumerator.d dwt/browser/WindowCreator2.d dwt/internal/mozilla/XPCOMInit.d dwt/internal/mozilla/gfxIImageFrame.d dwt/internal/mozilla/imgIContainer.d dwt/internal/mozilla/imgIContainerObserver.d dwt/internal/mozilla/nsEmbedString.d dwt/internal/mozilla/nsIAppShell.d dwt/internal/mozilla/nsIAtom.d dwt/internal/mozilla/nsIAuthInformation.d dwt/internal/mozilla/nsIAuthPrompt.d dwt/internal/mozilla/nsIAuthPromptCallback.d dwt/internal/mozilla/nsIBaseWindow.d dwt/internal/mozilla/nsIBinaryInputStream.d dwt/internal/mozilla/nsIBinaryOutputStream.d dwt/internal/mozilla/nsICancelable.d dwt/internal/mozilla/nsICategoryManager.d dwt/internal/mozilla/nsIChannel.d dwt/internal/mozilla/nsIChromeEventHandler.d dwt/internal/mozilla/nsICollection.d dwt/internal/mozilla/nsIComponentManager.d dwt/internal/mozilla/nsIComponentRegistrar.d dwt/internal/mozilla/nsIContentViewer.d dwt/internal/mozilla/nsIContextMenuListener.d dwt/internal/mozilla/nsIContextMenuListener2.d dwt/internal/mozilla/nsICookie.d dwt/internal/mozilla/nsICookie2.d dwt/internal/mozilla/nsICookieManager.d dwt/internal/mozilla/nsICookieManager2.d dwt/internal/mozilla/nsIDOMAbstractView.d dwt/internal/mozilla/nsIDOMAttr.d dwt/internal/mozilla/nsIDOMBarProp.d dwt/internal/mozilla/nsIDOMCDATASection.d dwt/internal/mozilla/nsIDOMCharacterData.d dwt/internal/mozilla/nsIDOMComment.d dwt/internal/mozilla/nsIDOMDOMImplementation.d dwt/internal/mozilla/nsIDOMDocument.d dwt/internal/mozilla/nsIDOMDocumentFragment.d dwt/internal/mozilla/nsIDOMDocumentType.d dwt/internal/mozilla/nsIDOMDocumentView.d dwt/internal/mozilla/nsIDOMElement.d dwt/internal/mozilla/nsIDOMEntityReference.d dwt/internal/mozilla/nsIDOMEvent.d dwt/internal/mozilla/nsIDOMEventGroup.d dwt/internal/mozilla/nsIDOMEventListener.d dwt/internal/mozilla/nsIDOMEventTarget.d dwt/internal/mozilla/nsIDOMKeyEvent.d dwt/internal/mozilla/nsIDOMMouseEvent.d dwt/internal/mozilla/nsIDOMNamedNodeMap.d dwt/internal/mozilla/nsIDOMNode.d dwt/internal/mozilla/nsIDOMNodeList.d dwt/internal/mozilla/nsIDOMProcessingInstruction.d dwt/internal/mozilla/nsIDOMRange.d dwt/internal/mozilla/nsIDOMSerializer.d dwt/internal/mozilla/nsIDOMSerializer_1_7.d dwt/internal/mozilla/nsIDOMStorage.d dwt/internal/mozilla/nsIDOMStorageItem.d dwt/internal/mozilla/nsIDOMText.d dwt/internal/mozilla/nsIDOMUIEvent.d dwt/internal/mozilla/nsIDOMWindow.d dwt/internal/mozilla/nsIDOMWindow2.d dwt/internal/mozilla/nsIDOMWindowCollection.d dwt/internal/mozilla/nsIDebug.d dwt/internal/mozilla/nsIDirectoryService.d dwt/internal/mozilla/nsIDocShell.d dwt/internal/mozilla/nsIDocShellLoadInfo.d dwt/internal/mozilla/nsIDocShellTreeItem.d dwt/internal/mozilla/nsIDocShellTreeOwner.d dwt/internal/mozilla/nsIDocumentCharsetInfo.d dwt/internal/mozilla/nsIDownload.d dwt/internal/mozilla/nsIDownload_1_8.d dwt/internal/mozilla/nsIEmbeddingSiteWindow.d dwt/internal/mozilla/nsIEmbeddingSiteWindow2.d dwt/internal/mozilla/nsIEnumerator.d dwt/internal/mozilla/nsIEventQueue.d dwt/internal/mozilla/nsIEventTarget.d dwt/internal/mozilla/nsIFactory.d dwt/internal/mozilla/nsIFile.d dwt/internal/mozilla/nsIFilePicker.d dwt/internal/mozilla/nsIFilePicker_1_8.d dwt/internal/mozilla/nsIFileURL.d dwt/internal/mozilla/nsIHelperAppLauncher.d dwt/internal/mozilla/nsIHelperAppLauncherDialog.d dwt/internal/mozilla/nsIHelperAppLauncher_1_8.d dwt/internal/mozilla/nsIHelperAppLauncher_1_9.d dwt/internal/mozilla/nsIHistoryEntry.d dwt/internal/mozilla/nsIIOService.d dwt/internal/mozilla/nsIIOService2.d dwt/internal/mozilla/nsIInputStream.d dwt/internal/mozilla/nsIInterfaceRequestor.d dwt/internal/mozilla/nsIJSContextStack.d dwt/internal/mozilla/nsILoadGroup.d dwt/internal/mozilla/nsILocalFile.d dwt/internal/mozilla/nsIMIMEInfo.d dwt/internal/mozilla/nsIMemory.d dwt/internal/mozilla/nsIModule.d dwt/internal/mozilla/nsIObjectInputStream.d dwt/internal/mozilla/nsIObjectOutputStream.d dwt/internal/mozilla/nsIObserver.d dwt/internal/mozilla/nsIObserverService.d dwt/internal/mozilla/nsIOutputStream.d dwt/internal/mozilla/nsIPrefBranch.d dwt/internal/mozilla/nsIPrefBranch2.d dwt/internal/mozilla/nsIPrefLocalizedString.d dwt/internal/mozilla/nsIPrefService.d dwt/internal/mozilla/nsIProgressDialog.d dwt/internal/mozilla/nsIProgressDialog_1_8.d dwt/internal/mozilla/nsIPrompt.d dwt/internal/mozilla/nsIPromptService.d dwt/internal/mozilla/nsIPromptService2.d dwt/internal/mozilla/nsIProperties.d dwt/internal/mozilla/nsIProtocolHandler.d dwt/internal/mozilla/nsIRequest.d dwt/internal/mozilla/nsIRequestObserver.d dwt/internal/mozilla/nsISHEntry.d dwt/internal/mozilla/nsISHistory.d dwt/internal/mozilla/nsISHistoryListener.d dwt/internal/mozilla/nsISecureBrowserUI.d dwt/internal/mozilla/nsISelection.d dwt/internal/mozilla/nsISerializable.d dwt/internal/mozilla/nsIServiceManager.d dwt/internal/mozilla/nsISimpleEnumerator.d dwt/internal/mozilla/nsIStreamListener.d dwt/internal/mozilla/nsIStringEnumerator.d dwt/internal/mozilla/nsISupports.d dwt/internal/mozilla/nsISupportsArray.d dwt/internal/mozilla/nsITooltipListener.d dwt/internal/mozilla/nsITraceRefcnt.d dwt/internal/mozilla/nsITransfer.d dwt/internal/mozilla/nsIURI.d dwt/internal/mozilla/nsIURIContentListener.d dwt/internal/mozilla/nsIURL.d dwt/internal/mozilla/nsIWeakReference.d dwt/internal/mozilla/nsIWebBrowser.d dwt/internal/mozilla/nsIWebBrowserChrome.d dwt/internal/mozilla/nsIWebBrowserChromeFocus.d dwt/internal/mozilla/nsIWebBrowserFocus.d dwt/internal/mozilla/nsIWebNavigation.d dwt/internal/mozilla/nsIWebNavigationInfo.d dwt/internal/mozilla/nsIWebProgress.d dwt/internal/mozilla/nsIWebProgressListener.d dwt/internal/mozilla/nsIWebProgressListener2.d dwt/internal/mozilla/nsIWindowCreator.d dwt/internal/mozilla/nsIWindowCreator2.d dwt/internal/mozilla/nsIWindowWatcher.d dwt/internal/mozilla/nsStringAPI.d dwt/internal/mozilla/nsXPCOMGlue.d
diffstat 162 files changed, 399 insertions(+), 485 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/browser/AppFileLocProvider.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/AppFileLocProvider.d	Fri Oct 31 21:46:44 2008 -0700
@@ -58,11 +58,13 @@
     mozillaPath = path ~ SEPARATOR_OS;
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
 
@@ -86,6 +88,7 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
 
+extern(System)
 nsrefcnt Release () {
     refCount--;
     if (refCount is 0) return 0;
@@ -108,7 +111,7 @@
 }
 
 /* nsIDirectoryServiceProvider2 */
-
+extern(System)
 nsresult GetFiles (char* prop, nsISimpleEnumerator* _retval) {
     String propertyName = fromStringz(prop);
     String[] propertyValues = null;
@@ -177,7 +180,7 @@
 }   
     
 /* nsIDirectoryServiceProvider implementation */
-
+extern(System)
 nsresult GetFile(char* prop, PRBool* persistent, nsIFile* _retval) {
     String propertyName = tango.stdc.stringz.fromStringz( prop );
     String propertyValue = null;
--- a/dwt/browser/Download.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/Download.d	Fri Oct 31 21:46:44 2008 -0700
@@ -60,11 +60,13 @@
 this () {
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
  
@@ -91,7 +93,8 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     if (refCount is 0) return 0; // nonsensical condition: will fix later -JJR
@@ -102,6 +105,8 @@
 
 /* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */
 /* EXCEPTION: not for D */
+
+extern(System)
 nsresult Init (nsIURI aSource, nsIURI aTarget, nsAString* aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, PRBool aPersist) {
     //nsIURI source = new nsIURI (aSource);
     scope auto aSpec = new nsEmbedCString;
@@ -201,50 +206,62 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetSource (nsIURI* aSource) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetTarget (nsIURI* aTarget) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetPersist (PRBool* aPersist) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetPercentComplete (PRInt32* aPercentComplete) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetDisplayName (PRUnichar** aDisplayName) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetDisplayName (PRUnichar* aDisplayName) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetStartTime (PRInt64* aStartTime) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetMIMEInfo (nsIMIMEInfo* aMIMEInfo) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetListener (nsIWebProgressListener* aListener) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetListener (nsIWebProgressListener aListener) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetObserver (nsIObserver* aObserver) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetObserver (nsIObserver aObserver) {
     if (aObserver !is null) {
         // nsISupports supports = new nsISupports (aObserver);
@@ -258,28 +275,35 @@
 }
 
 /* nsIProgressDialog */
+
+extern(System)
 nsresult Open (nsIDOMWindow aParent) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetCancelDownloadOnClose (PRBool* aCancelDownloadOnClose) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetCancelDownloadOnClose (PRBool aCancelDownloadOnClose) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetDialog (nsIDOMWindow* aDialog) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetDialog (nsIDOMWindow aDialog) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
 /* nsIWebProgressListener */
 
+extern(System)
 nsresult OnStateChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus) {
     if ((aStateFlags & nsIWebProgressListener.STATE_STOP) !is 0) {
         if (helperAppLauncher !is null) helperAppLauncher.Release ();
@@ -290,6 +314,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnProgressChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress) {
     int currentKBytes = aCurTotalProgress / 1024;
     int totalKBytes = aMaxTotalProgress / 1024;
@@ -303,14 +328,17 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnLocationChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation) {
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnStatusChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar* aMessage) {
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnSecurityChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 state) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/DownloadFactory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/DownloadFactory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -27,11 +27,13 @@
 
 this () {}
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     
@@ -49,7 +51,8 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
@@ -58,6 +61,7 @@
     
 /* nsIFactory */
 
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsID* iid, void** result) {
     if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
@@ -70,6 +74,7 @@
     return rv;
 }
 
+extern(System)
 nsresult LockFactory (int lock) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/DownloadFactory_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/DownloadFactory_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -32,11 +32,13 @@
     //createCOMInterfaces ();
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsIID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -56,7 +58,8 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
@@ -65,6 +68,7 @@
 
 /* nsIFactory */
 
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsIID* iid, void** result) {
     if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
@@ -77,6 +81,7 @@
     return rv;
 }
 
+extern(System)
 nsresult LockFactory (PRBool lock) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/Download_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/Download_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,7 +17,6 @@
 
 import dwt.DWT;
 
-// import dwt.internal.Compatibility;
 import XPCOM = dwt.internal.mozilla.XPCOM;
 
 import dwt.internal.mozilla.Common;
@@ -61,11 +60,13 @@
 this () {
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface ( nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
    
@@ -93,6 +94,7 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
 
+extern(System)
 nsrefcnt Release () {
     refCount--;
     if (refCount is 0) return 0;
@@ -102,6 +104,7 @@
 /* nsIDownload */
 
 /* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */
+extern(System)
 nsresult Init_32 (nsIURI aSource, nsIURI aTarget, nsAString* aDisplayName, nsIMIMEInfo aMIMEInfo, PRInt32 startTime1, PRInt32 startTime2, nsILocalFile aTempFile, nsICancelable aCancelable) {
     long startTime = (startTime2 << 32) + startTime1;
     return Init (aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable);
@@ -109,7 +112,7 @@
 
 // FIXME: I've hardcoded the string values in place of Compatibility.getMessage calls in 
 // the Init method; this will need fixing in future releases. -JJR
-
+extern(System)
 nsresult Init (nsIURI aSource, nsIURI aTarget, nsAString* aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, nsILocalFile aTempFile, nsICancelable aCancelable) {
     cancelable = aCancelable;
     // nsIURI source = new nsIURI (aSource);
@@ -185,81 +188,101 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetAmountTransferred (PRUint64* arg0) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetCancelable (nsICancelable* arg0) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetDisplayName (PRUnichar** aDisplayName) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetMIMEInfo (nsIMIMEInfo* aMIMEInfo) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetPercentComplete (PRInt32* aPercentComplete) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetSize (PRUint64* arg0) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetSource (nsIURI* aSource) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetStartTime (PRInt64* aStartTime) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetTarget (nsIURI* aTarget) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetTargetFile (nsILocalFile* arg0) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
 /* nsIProgressDialog */
+
+extern(System)
 nsresult GetCancelDownloadOnClose (PRBool* aCancelDownloadOnClose) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetDialog (nsIDOMWindow* aDialog) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetObserver (nsIObserver* aObserver) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult Open (nsIDOMWindow aParent) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetCancelDownloadOnClose (PRBool aCancelDownloadOnClose) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetDialog (nsIDOMWindow aDialog) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetObserver (nsIObserver aObserver) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
 /* nsIWebProgressListener */
 
+extern(System)
 nsresult OnLocationChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation) {
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnProgressChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress) {
     return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
 }
@@ -273,6 +296,7 @@
     return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
 }
 ++/
+extern(System)
 nsresult OnProgressChange64 (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt64 aCurSelfProgress, PRInt64 aMaxSelfProgress, PRInt64 aCurTotalProgress, PRInt64 aMaxTotalProgress) {
     long currentKBytes = aCurTotalProgress / 1024;
     long totalKBytes = aMaxTotalProgress / 1024;
@@ -287,10 +311,12 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnSecurityChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 state) {
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnStateChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus) {
     if ((aStateFlags & nsIWebProgressListener.STATE_STOP) !is 0) {
         cancelable = null;
@@ -300,6 +326,7 @@
     return XPCOM.NS_OK;
 }   
 
+extern(System)
 nsresult OnStatusChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar* aMessage) {
     return XPCOM.NS_OK;
 }       
--- a/dwt/browser/FilePicker.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/FilePicker.d	Fri Oct 31 21:46:44 2008 -0700
@@ -50,11 +50,13 @@
 this () {
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     
@@ -77,6 +79,7 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
     
+extern(System)
 nsrefcnt Release () {
     refCount--;
     if (refCount is 0) return 0;
@@ -88,12 +91,14 @@
  * answers a java string based on the type of string that is appropriate for the Mozilla
  * version being used.
  */
+extern(D)
 String parseAString (nsAString* string) {
     return null;
 }
 
 /* nsIFilePicker */
 
+extern(System)
 nsresult Init (nsIDOMWindow parent, nsAString* title, PRInt16 mode) {
     parentHandle = parent;
     this.mode = mode;
@@ -101,6 +106,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult Show (PRInt16* _retval) {
     if (mode is nsIFilePicker.modeGetFolder) {
         /* picking a directory */
@@ -147,14 +153,17 @@
     return directory is null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK;
 }
 
+extern(System)
 nsresult GetFiles (nsISimpleEnumerator* aFiles) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetFileURL ( nsIFileURL* aFileURL ) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetFile (nsILocalFile* aFile) {
     String filename = "";   //$NON-NLS-1$
     if (directory !is null) filename ~= directory ~ SEPARATOR;
@@ -166,6 +175,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetDisplayDirectory (nsILocalFile aDisplayDirectory) {
     if (aDisplayDirectory is null) return XPCOM.NS_OK;
     scope auto pathname = new nsEmbedCString();
@@ -175,6 +185,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetDisplayDirectory (nsILocalFile* aDisplayDirectory) {
     String directoryName = directory !is null ? directory : ""; //$NON-NLS-1$
     scope auto path = new nsEmbedString (Utf.toString16(directoryName));
@@ -184,39 +195,47 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetFilterIndex (PRInt32 aFilterIndex) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetFilterIndex (PRInt32* aFilterIndex) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetDefaultExtension (nsAString* aDefaultExtension) {
     /* note that the type of argument 1 changed as of Mozilla 1.8 */
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetDefaultExtension (nsAString* aDefaultExtension) {
     /* note that the type of argument 1 changed as of Mozilla 1.8 */
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetDefaultString (nsAString* aDefaultString) {
     defaultFilename = parseAString (aDefaultString);
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetDefaultString (nsAString* aDefaultString) {
     /* note that the type of argument 1 changed as of Mozilla 1.8 */
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult AppendFilter (nsAString* title, nsAString* filter) {
     /* note that the type of arguments 1 and 2 changed as of Mozilla 1.8 */
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult AppendFilters (PRInt32 filterMask) {
     String[] addFilters = null;
     switch (filterMask) {
--- a/dwt/browser/FilePickerFactory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/FilePickerFactory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -29,47 +29,15 @@
     //XPCOMObject factory;
     int refCount = 0;
 
-this () {
-//   createCOMInterfaces ();
-}
+this () { }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
-/+
-void createCOMInterfaces () {
-    /* Create each of the interfaces that this object implements */
-    supports = new XPCOMObject (new int[] {2, 0, 0}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-    };
-    
-    factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-        public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-        public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
-    };
-}
 
-void disposeCOMInterfaces () {
-    if (supports !is null) {
-        supports.dispose ();
-        supports = null;
-    }   
-    if (factory !is null) {
-        factory.dispose ();
-        factory = null; 
-    }
-}
-
-int /*long*/ getAddress () {
-    return factory.getAddress ();
-}
-+/
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -90,6 +58,7 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
 
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
@@ -98,6 +67,7 @@
     
 /* nsIFactory */
 
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsID* iid, void** result) { 
      if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
@@ -110,6 +80,7 @@
     return rv;
 }
 
+extern(System)
 nsresult LockFactory (PRBool lock) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/FilePickerFactory_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/FilePickerFactory_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -25,26 +25,7 @@
 
 class FilePickerFactory_1_8 : FilePickerFactory {
 
-/+
-void createCOMInterfaces () {
-    /* Create each of the interfaces that this object implements */
-    supports = new XPCOMObject (new int[] {2, 0, 0}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-    };
-    
-    factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-        public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-        public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
-    };
-}
-+/
-/* nsIFactory */
-
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsID* iid, void** result) { 
      if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
--- a/dwt/browser/FilePicker_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/FilePicker_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -20,6 +20,7 @@
 
 class FilePicker_1_8 : FilePicker {
 
+extern(D)
 String parseAString (nsAString* string) {
     if (string is null) return null;
     return nsAString.toString(string);
--- a/dwt/browser/HelperAppLauncherDialog.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/HelperAppLauncherDialog.d	Fri Oct 31 21:46:44 2008 -0700
@@ -42,11 +42,13 @@
 this() {
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     
@@ -64,7 +66,8 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     /*
@@ -80,6 +83,7 @@
 
 /* nsIHelperAppLauncherDialog */
 
+extern(System)
 nsresult Show(nsIHelperAppLauncher aLauncher, nsISupports aContext, PRUint32 aReason) {
     /*
     * The interface for nsIHelperAppLauncher changed in GRE versions 1.8 and 1.9.  Query for
@@ -110,6 +114,7 @@
     return aLauncher.SaveToDisk (null, 0);
 }
 
+extern(System)
 nsresult PromptForSaveToFile (nsIHelperAppLauncher aLauncher, nsISupports aWindowContext, PRUnichar* aDefaultFile, PRUnichar* aSuggestedFileExtension, nsILocalFile* _retval) {
     bool hasLauncher = false;
 
--- a/dwt/browser/HelperAppLauncherDialogFactory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/HelperAppLauncherDialogFactory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -33,43 +33,13 @@
 //    createCOMInterfaces ();
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
-/+
-void createCOMInterfaces () {
-    /* Create each of the interfaces that this object implements */
-    supports = new XPCOMObject (new int[] {2, 0, 0}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-    };
-    
-    factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-        public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-        public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
-    };
-}
 
-void disposeCOMInterfaces () {
-    if (supports !is null) {
-        supports.dispose ();
-        supports = null;
-    }   
-    if (factory !is null) {
-        factory.dispose ();
-        factory = null; 
-    }
-}
-
-int /*long*/ getAddress () {
-    return factory.getAddress ();
-}
-+/
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -89,15 +59,17 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
     return refCount;
 }
-    
+
 /* nsIFactory */
 
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsID* iid, void** result) { 
      if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
@@ -109,6 +81,8 @@
     }
     return rv;
 }
+
+extern(System)
 nsresult LockFactory (PRBool lock) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/InputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/InputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -32,39 +32,15 @@
 this (byte[] buffer) {
     this.buffer = buffer;
     index = 0;
-    //createCOMInterfaces ();
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
-/+
-void createCOMInterfaces () {
-    /* Create each of the interfaces that this object implements */
-    inputStream = new XPCOMObject (new int[] {2, 0, 0, 0, 1, 3, 4, 1}) {
-        public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
-        public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
-        public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-        public int /*long*/ method3 (int /*long*/[] args) {return Close ();}
-        public int /*long*/ method4 (int /*long*/[] args) {return Available (args[0]);}
-        public int /*long*/ method5 (int /*long*/[] args) {return Read (args[0], (int)/*64*/args[1], args[2]);}
-        public int /*long*/ method6 (int /*long*/[] args) {return ReadSegments (args[0], args[1], (int)/*64*/args[2], args[3]);}
-        public int /*long*/ method7 (int /*long*/[] args) {return IsNonBlocking (args[0]);}
-    };
-}
 
-void disposeCOMInterfaces () {
-    if (inputStream !is null) {
-        inputStream.dispose ();
-        inputStream = null; 
-    }
-}
-
-int /*long*/ getAddress () {
-    return inputStream.getAddress ();
-}
-+/
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -83,21 +59,24 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
     return refCount;
 }
-    
+
 /* nsIInputStream implementation */
 
+extern(System)
 nsresult Close () {
     buffer = null;
     index = 0;
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult Available (PRUint32* _retval) {
     PRUint32 available = buffer is null ? 0 : buffer.length - index;
     *_retval = available;
@@ -105,6 +84,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult Read(byte* aBuf, PRUint32 aCount, PRUint32* _retval) {
     int max = Math.min (aCount, buffer is null ? 0 : buffer.length - index);
     if (aBuf is null)
@@ -120,6 +100,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult ReadSegments (nsWriteSegmentFun aWriter, void* aClosure, PRUint32 aCount, PRUint32* _retval) {
     int max = Math.min (aCount, buffer is null ? 0 : buffer.length - index);
     PRUint32 cnt = max;
@@ -135,6 +116,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult IsNonBlocking (PRBool* _retval) {
     /* blocking */
     *_retval = 0;
--- a/dwt/browser/Mozilla.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/Mozilla.d	Fri Oct 31 21:46:44 2008 -0700
@@ -255,6 +255,7 @@
         };
     }
 
+extern(D)
 public void create (Composite parent, int style) {
     mozDelegate = new MozillaDelegate (super.browser);
     Display display = parent.getDisplay ();
@@ -1403,6 +1404,7 @@
     }
 }
 
+extern(D)
 public bool back () {
     if (awaitingNavigate) return false;
 
@@ -1418,6 +1420,7 @@
     return rc is XPCOM.NS_OK;
 }
 
+extern(D)
 public bool execute (String script) {
     if (awaitingNavigate) return false;
 
@@ -1437,10 +1440,12 @@
     return rc is XPCOM.NS_OK;
 }
 
+extern(D)
 static Browser findBrowser (void* handle) {
     return MozillaDelegate.findBrowser (cast(GtkWidget*)handle);
 }
 
+extern(D)
 public bool forward () {
     if (awaitingNavigate) return false;
 
@@ -1457,6 +1462,7 @@
     return rc is XPCOM.NS_OK;
 }
 
+extern(D)
 public String getText () {
     if (awaitingNavigate) return ""; //$NON-NLS-1$
 
@@ -1525,6 +1531,7 @@
     return chars.dup;
 }
 
+extern(D)
 public String getUrl () {
     if (awaitingNavigate) return ""; //$NON-NLS-1$
 
@@ -1563,6 +1570,7 @@
     return location;
 }
 
+extern(D)
 public Object getWebBrowser () {
     if ((browser.getStyle () & DWT.MOZILLA) is 0) return null;
     if (webBrowserObject !is null) return webBrowserObject;
@@ -1592,6 +1600,7 @@
    return null;
 }
 
+extern(D)
 public bool isBackEnabled () {
     if (awaitingNavigate) return false;
 
@@ -1608,6 +1617,7 @@
     return aCanGoBack !is 0;
 }
 
+extern(D)
 public bool isForwardEnabled () {
     if (awaitingNavigate) return false;
 
@@ -1624,10 +1634,12 @@
     return aCanGoForward !is 0;
 }
 
+extern(D)
 static String error (int code) {
     throw new DWTError ("XPCOM error " ~ Integer.toString(code)); //$NON-NLS-1$
 }
 
+extern(D)
 void onDispose (Display display) {
     int rc = webBrowser.RemoveWebBrowserListener (cast(nsIWeakReference)this, &nsIWebProgressListener.IID);
     if (rc !is XPCOM.NS_OK) error (rc);
@@ -1686,6 +1698,7 @@
     BrowserCount--;
 }
 
+extern(D)
 void Activate () {
     //int /*long*/[] result = new int /*long*/[1];
     nsIWebBrowserFocus webBrowserFocus;
@@ -1698,7 +1711,8 @@
     if (rc !is XPCOM.NS_OK) error (rc);
     webBrowserFocus.Release ();
 }
-    
+
+extern(D)
 void Deactivate () {
     //int /*long*/[] result = new int /*long*/[1];
     nsIWebBrowserFocus webBrowserFocus;
@@ -1712,6 +1726,7 @@
     webBrowserFocus.Release ();
 }
 
+extern(D)
 void onResize () {
     Rectangle rect = browser.getClientArea ();
     int width = Math.max (1, rect.width);
@@ -1730,6 +1745,7 @@
     baseWindow.Release ();
 }
 
+extern(D)
 public void refresh () {
     if (awaitingNavigate) return;
 
@@ -1756,6 +1772,7 @@
     if (rc !is XPCOM.NS_ERROR_INVALID_POINTER && rc !is XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc);
 }
 
+extern(D)
 public bool setText (String html) {
     /*
     *  Feature in Mozilla.  The focus memory of Mozilla must be 
@@ -1880,6 +1897,7 @@
     return true;
 }
 
+extern(D)
 public bool setUrl (String url) {
     awaitingNavigate = false;
 
@@ -1897,6 +1915,7 @@
     return rc is XPCOM.NS_OK;
 }
 
+extern(D)
 public void stop () {
     if (awaitingNavigate) return;
 
@@ -1912,6 +1931,7 @@
     webNavigation.Release ();
 }
 
+extern(D)
 void hookDOMListeners (nsIDOMEventTarget target, bool isTop) {
     scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16());
     target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0);
@@ -1959,6 +1979,7 @@
     //string.dispose ();
 }
 
+extern(D)
 void unhookDOMListeners () {
     //int /*long*/[] result = new int /*long*/[1];
     nsIDOMWindow window;
@@ -2014,6 +2035,7 @@
     window.Release ();
 }
 
+extern(D)
 void unhookDOMListeners (nsIDOMEventTarget target) {
     scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16());
     target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0);
@@ -2055,6 +2077,7 @@
 
 /* nsISupports */
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
 
@@ -2117,11 +2140,13 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsrefcnt Release () {
     refCount--;
     if (refCount is 0) return 0;
@@ -2129,13 +2154,15 @@
 }
 
 /* nsIWeakReference */  
-    
+
+extern(System)
 nsresult QueryReferent (nsID* riid, void** ppvObject) {
     return QueryInterface (riid, ppvObject);
 }
 
 /* nsIInterfaceRequestor */
 
+extern(System)
 nsresult GetInterface ( nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -2153,6 +2180,7 @@
     return QueryInterface (riid, ppvObject);
 }
 
+extern(System)
 nsresult GetWeakReference (nsIWeakReference* ppvObject) {
     *ppvObject = cast(nsIWeakReference)this;
     //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF);
@@ -2162,6 +2190,7 @@
 
 /* nsIWebProgressListener */
 
+extern(System)
 nsresult OnStateChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus) {
     if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) is 0) return XPCOM.NS_OK;
     if ((aStateFlags & nsIWebProgressListener.STATE_START) !is 0) {
@@ -2303,6 +2332,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnProgressChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress) {
     if (awaitingNavigate || super.progressListeners.length is 0) return XPCOM.NS_OK;
     ProgressEvent event = new ProgressEvent (browser);
@@ -2316,6 +2346,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnLocationChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation) {
     /*
     * Feature in Mozilla.  When a page is loaded via setText before a previous
@@ -2383,6 +2414,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnStatusChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar* aMessage) {
     if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK;
     StatusTextEvent event = new StatusTextEvent (browser);
@@ -2398,12 +2430,14 @@
     return XPCOM.NS_OK;
 }       
 
+extern(System)
 nsresult OnSecurityChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 state) {
     return XPCOM.NS_OK;
 }
 
 /* nsIWebBrowserChrome */
 
+extern(System)
 nsresult SetStatus (PRUint32 statusType, PRUnichar* status) {
     if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK;
     StatusTextEvent event = new StatusTextEvent (browser);
@@ -2420,6 +2454,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetWebBrowser (nsIWebBrowser* aWebBrowser) {
     //int /*long*/[] ret = new int /*long*/[1];   
     if (webBrowser !is null) {
@@ -2430,12 +2465,14 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) {
     if (webBrowser !is null) webBrowser.Release ();
     webBrowser = aWebBrowser !is null ? cast(nsIWebBrowser)cast(void*)aWebBrowser : null;                
     return XPCOM.NS_OK;
 }
-   
+
+extern(System)
 nsresult GetChromeFlags (PRUint32* aChromeFlags) {
     //int[] ret = new int[1];
     *aChromeFlags = chromeFlags;
@@ -2443,11 +2480,13 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetChromeFlags (PRUint32 aChromeFlags) {
     chromeFlags = aChromeFlags;
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult DestroyBrowserWindow () {
     WindowEvent newEvent = new WindowEvent (browser);
     newEvent.display = browser.getDisplay ();
@@ -2464,7 +2503,8 @@
     browser.dispose ();
     return XPCOM.NS_OK;
 }
-    
+
+extern(System)
 nsresult SizeBrowserTo (PRInt32 aCX, PRInt32 aCY) {
     size = new Point (aCX, aCY);
     bool isChrome = (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) !is 0;
@@ -2475,6 +2515,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult ShowAsModal () {
     //int /*long*/[] result = new int /*long*/[1];
     nsIServiceManager serviceManager;
@@ -2508,18 +2549,21 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult IsWindowModal (PRBool* retval) {
     *retval = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) !is 0 ? 1 : 0;
     //XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */
     return XPCOM.NS_OK;
 }
-   
+
+extern(System)
 nsresult ExitModalEventLoop (nsresult aStatus) {
     return XPCOM.NS_OK;
 }
 
 /* nsIEmbeddingSiteWindow */ 
 
+extern(System)
 nsresult SetDimensions (PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy) {
     if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) {
         location = new Point (x, y);
@@ -2534,6 +2578,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult GetDimensions (PRUint32 flags, PRInt32* x, PRInt32* y, PRInt32* cx, PRInt32* cy) {
     if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) {
         Point location = browser.getShell ().getLocation ();
@@ -2553,6 +2598,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetFocus () {
     //int /*long*/[] result = new int /*long*/[1];
     nsIBaseWindow baseWindow;
@@ -2573,6 +2619,7 @@
     return XPCOM.NS_OK;         
 }   
 
+extern(System)
 nsresult GetVisibility (PRBool* aVisibility) {
     bool visible = browser.isVisible () && !browser.getShell ().getMinimized ();
     *aVisibility = visible ? 1 : 0;
@@ -2580,6 +2627,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult SetVisibility (PRBool aVisibility) {
     if (isChild) {
         WindowEvent event = new WindowEvent (browser);
@@ -2617,10 +2665,12 @@
     return XPCOM.NS_OK;         
 }
 
+extern(System)
 nsresult GetTitle (PRUnichar** aTitle) {
     return XPCOM.NS_OK;         
 }
  
+extern(System)
 nsresult SetTitle (PRUnichar* aTitle) {
     if (awaitingNavigate || titleListeners.length is 0) return XPCOM.NS_OK;
     TitleEvent event = new TitleEvent (browser);
@@ -2645,6 +2695,7 @@
     return XPCOM.NS_OK;         
 }
 
+extern(System)
 nsresult GetSiteWindow (void** aSiteWindow) {
     /*
     * Note.  The handle is expected to be an HWND on Windows and
@@ -2659,6 +2710,7 @@
  
 /* nsIWebBrowserChromeFocus */
 
+extern(System)
 nsresult FocusNextElement () {
     /*
     * Bug in Mozilla embedding API.  Mozilla takes back the focus after sending
@@ -2675,6 +2727,7 @@
     return XPCOM.NS_OK;  
 }
 
+extern(System)
 nsresult FocusPrevElement () {
     /*
     * Bug in Mozilla embedding API.  Mozilla takes back the focus after sending
@@ -2693,6 +2746,7 @@
 
 /* nsIContextMenuListener */
 
+extern(System)
 nsresult OnShowContextMenu (PRUint32 aContextFlags, nsIDOMEvent aEvent, nsIDOMNode aNode) {
     if (awaitingNavigate) return XPCOM.NS_OK;
 
@@ -2728,6 +2782,7 @@
 
 /* nsIURIContentListener */
 
+extern(System)
 nsresult OnStartURIOpen (nsIURI aURI, PRBool* retval) {
     if (awaitingNavigate || locationListeners.length is 0) {
         *retval = 0;
@@ -2772,10 +2827,12 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult DoContent (char* aContentType, PRBool aIsContentPreferred, nsIRequest aRequest, nsIStreamListener* aContentHandler, PRBool* retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult IsPreferred (char* aContentType, char** aDesiredContentType, PRBool* retval) {
     bool preferred = false;
     auto size = strlen (aContentType);
@@ -2838,28 +2895,34 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult CanHandleContent (char* aContentType, PRBool aIsContentPreferred, char** aDesiredContentType, PRBool* retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetLoadCookie (nsISupports* aLoadCookie) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult SetLoadCookie (nsISupports aLoadCookie) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult GetParentContentListener (nsIURIContentListener* aParentContentListener) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
-    
+
+extern(System)
 nsresult SetParentContentListener (nsIURIContentListener aParentContentListener) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
 /* nsITooltipListener */
 
+extern(System)
 nsresult OnShowTooltip (PRInt32 aXCoords, PRInt32 aYCoords, PRUnichar* aTipText) {
     if (awaitingNavigate) return XPCOM.NS_OK;
 
@@ -2892,6 +2955,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult OnHideTooltip () {
     if (tip !is null && !tip.isDisposed ()) tip.dispose ();
     tip = null;
@@ -2900,6 +2964,7 @@
 
 /* nsIDOMEventListener */
 
+extern(System)
 nsresult HandleEvent (nsIDOMEvent event) {
     //nsIDOMEvent domEvent = new nsIDOMEvent (event);
 
--- a/dwt/browser/PromptService2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/PromptService2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -55,11 +55,13 @@
 this () {
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
  
@@ -82,13 +84,15 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
     return refCount;
 }
 
+extern(D)
 Browser getBrowser (nsIDOMWindow aDOMWindow) {
     if (aDOMWindow is null) return null;
 
@@ -165,6 +169,7 @@
 
 /* nsIPromptService */
 
+extern(System)
 nsresult Alert (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText) {
     Browser browser = getBrowser (aParent);
     
@@ -186,6 +191,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult AlertCheck (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUnichar* aCheckMsg, PRBool* aCheckState) {
     Browser browser = getBrowser (aParent);
     
@@ -213,10 +219,12 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult AsyncPromptAuth(nsIDOMWindow aParent, nsIChannel aChannel, nsIAuthPromptCallback aCallback, nsISupports aContext, PRUint32 level, nsIAuthInformation authInfo, PRUnichar* checkboxLabel, PRBool* checkValue, nsICancelable* _retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult Confirm (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRBool* _retval) {
     Browser browser = getBrowser (aParent);
     
@@ -240,10 +248,12 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult ConfirmCheck (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUnichar* aCheckMsg, PRBool* aCheckState, PRBool* _retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult ConfirmEx (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUint32 aButtonFlags, PRUnichar* aButton0Title, PRUnichar* aButton1Title, PRUnichar* aButton2Title, PRUnichar* aCheckMsg, PRBool* aCheckState, PRInt32* _retval) {
     Browser browser = getBrowser (aParent);
     
@@ -286,6 +296,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult Prompt (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUnichar** aValue, PRUnichar* aCheckMsg, PRBool* aCheckState, PRBool* _retval) {
     Browser browser = getBrowser (aParent);
     String titleLabel = null;
@@ -376,6 +387,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult PromptAuth(nsIDOMWindow aParent, nsIChannel aChannel, PRUint32 level, nsIAuthInformation authInfo, PRUnichar* checkboxLabel, PRBool* checkboxValue, PRBool* _retval) {
     Browser browser = getBrowser (aParent);
     String checkLabel = null;
@@ -480,6 +492,7 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult PromptUsernameAndPassword (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUnichar** aUsername, PRUnichar** aPassword, PRUnichar* aCheckMsg, PRBool* aCheckState, PRBool* _retval) {
     Browser browser = getBrowser (aParent);
     String titleLabel, textLabel, checkLabel = null;
@@ -617,10 +630,12 @@
     return XPCOM.NS_OK;
 }
 
+extern(System)
 nsresult PromptPassword (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUnichar** aPassword, PRUnichar* aCheckMsg, PRBool* aCheckState, PRBool* _retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
 
+extern(System)
 nsresult Select (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText, PRUint32 aCount, PRUnichar** aSelectList, PRInt32* aOutSelection, PRBool* _retval) {
     return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
 }
--- a/dwt/browser/PromptService2Factory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/PromptService2Factory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -31,11 +31,13 @@
 //    createCOMInterfaces ();
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -55,7 +57,8 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsrefcnt Release () {
     refCount--;
     //if (refCount is null) disposeCOMInterfaces ();
@@ -64,6 +67,7 @@
     
 /* nsIFactory */
 
+extern(System)
 nsresult CreateInstance (nsISupports aOuter, nsIID* iid, void** result) {
     if (result is null) 
         return XPCOM.NS_ERROR_INVALID_ARG;
@@ -76,6 +80,7 @@
     return rv;
 }
 
+extern(System)
 nsresult LockFactory (PRBool lock) {
     return XPCOM.NS_OK;
 }
--- a/dwt/browser/SimpleEnumerator.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/SimpleEnumerator.d	Fri Oct 31 21:46:44 2008 -0700
@@ -23,8 +23,6 @@
 import dwt.internal.mozilla.nsISupports;
 
 class SimpleEnumerator : nsISimpleEnumerator{
-//    XPCOMObject supports;
-//    XPCOMObject simpleEnumerator;
     int refCount = 0;
     nsISupports[] values;
     int index = 0;
@@ -34,14 +32,15 @@
     for (int i = 0; i < values.length; i++) {
         values[i].AddRef ();
     }
-    //createCOMInterfaces ();
 }
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -62,18 +61,21 @@
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
 
+extern(System)
 nsresult Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
     return refCount;
 }
 
+extern(System)
 nsresult HasMoreElements (PRBool* _retval) {
     bool more = values !is null && index < values.length;
     *_retval = more ? 1 : 0; /*PRBool */
     return XPCOM.NS_OK;
-}   
-    
+}
+
+extern(System)
 nsresult GetNext (nsISupports* _retval) {
     if (values is null || index is values.length) return XPCOM.NS_ERROR_UNEXPECTED;
     nsISupports value = values[index++];
--- a/dwt/browser/WindowCreator2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/browser/WindowCreator2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -43,20 +43,17 @@
 import dwt.browser.WindowEvent;
 
 class WindowCreator2 : nsIWindowCreator2 {
-//    XPCOMObject supports;
-//    XPCOMObject windowCreator;
-//    XPCOMObject windowCreator2;
     int refCount = 0;
 
-this () {
-//    createCOMInterfaces ();
-}
+this () {}
 
+extern(System)
 nsrefcnt AddRef () {
     refCount++;
     return refCount;
 }
 
+extern(System)
 nsresult QueryInterface (nsID* riid, void** ppvObject) {
     if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE;
     //nsID guid = new nsID ();
@@ -81,21 +78,24 @@
     *ppvObject = null;
     return XPCOM.NS_ERROR_NO_INTERFACE;
 }
-            
+
+extern(System)
 nsresult Release () {
     refCount--;
     //if (refCount is 0) disposeCOMInterfaces ();
     return refCount;
 }
-    
+
 /* nsIWindowCreator */
 
+extern(System)
 nsresult CreateChromeWindow (nsIWebBrowserChrome parent, PRUint32 chromeFlags, nsIWebBrowserChrome* _retval) {
     return CreateChromeWindow2 (parent, chromeFlags, 0, null, null, _retval);
 }
 
 /* nsIWindowCreator2 */
 
+extern(System)
 nsresult CreateChromeWindow2 (nsIWebBrowserChrome parent, PRUint32 chromeFlags, PRUint32 contextFlags, nsIURI uri, PRBool* cancel, nsIWebBrowserChrome* _retval) {
     if (parent is null && (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) is 0) {
         return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
--- a/dwt/internal/mozilla/XPCOMInit.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/XPCOMInit.d	Fri Oct 31 21:46:44 2008 -0700
@@ -29,7 +29,6 @@
  *******************************************************************************/
 module dwt.internal.mozilla.XPCOMInit;
 
-//import dwt.internal.Platform;
 import dwt.internal.mozilla.Common;
 
 extern(System) {
--- a/dwt/internal/mozilla/gfxIImageFrame.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/gfxIImageFrame.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,14 @@
   {0xf6d00ee7, 0xdefc, 0x4101, 
     [ 0xb2, 0xdc, 0xe7, 0x2c, 0xf4, 0xc3, 0x7c, 0x3c ]};
 
-//extern(System)
+interface gfxIImageFrame : nsISupports {
 
-interface gfxIImageFrame : nsISupports {
 
   static const char[] IID_STR = GFXIIMAGEFRAME_IID_STR;
   static const nsIID IID = GFXIIMAGEFRAME_IID;
 
+extern(System):
+
   nsresult Init(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight, gfx_format aFormat, gfx_depth aDepth);
   nsresult GetMutable(PRBool *aMutable);
   nsresult SetMutable(PRBool aMutable);
--- a/dwt/internal/mozilla/imgIContainer.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/imgIContainer.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,13 @@
   {0x1a6290e6, 0x8285, 0x4e10, 
     [ 0x96, 0x3d, 0xd0, 0x01, 0xf8, 0xd3, 0x27, 0xb8 ]};
 
-//extern(System)
 
 interface imgIContainer : nsISupports {
 
   static const char[] IID_STR = IMGICONTAINER_IID_STR;
   static const nsIID IID = IMGICONTAINER_IID;
 
+extern(System):
   nsresult Init(PRInt32 aWidth, PRInt32 aHeight, imgIContainerObserver aObserver);
   nsresult GetPreferredAlphaChannelFormat(gfx_format *aPreferredAlphaChannelFormat);
   nsresult GetWidth(PRInt32 *aWidth);
--- a/dwt/internal/mozilla/imgIContainerObserver.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/imgIContainerObserver.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x53102f15, 0x0f53, 0x4939, 
     [ 0x95, 0x7e, 0xae, 0xa3, 0x53, 0xad, 0x27, 0x00 ]};
 
-//extern(System)
-
 interface imgIContainerObserver : nsISupports {
 
   static const char[] IID_STR = IMGICONTAINEROBSERVER_IID_STR;
   static const nsIID IID = IMGICONTAINEROBSERVER_IID;
 
+extern(System):
   nsresult FrameChanged(imgIContainer aContainer, gfxIImageFrame aFrame, nsIntRect * aDirtyRect);
 
 }
--- a/dwt/internal/mozilla/nsEmbedString.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsEmbedString.d	Fri Oct 31 21:46:44 2008 -0700
@@ -4,6 +4,7 @@
 
 import dwt.internal.mozilla.Common;
 import dwt.internal.mozilla.nsStringAPI;
+import XPCOM = dwt.internal.mozilla.XPCOM;
 
 scope class nsEmbedString
 {    
@@ -11,7 +12,7 @@
 	{
 		nsresult result;
 		result = NS_StringContainerInit2(&str, s.ptr, s.length, 0);
-		if (result != 0) // TODO: convert to XPCOM fail macro
+		if (XPCOM.NS_FAILED(result)) 
 			throw new Exception("Init string container fail");
 	}
 
@@ -19,7 +20,7 @@
 	{
 		nsresult result;
 		result = NS_StringContainerInit(&str);
-		if (result != 0) // TODO: convert to XPCOM fail macro
+		if (XPCOM.NS_FAILED(result)) 
 			throw new Exception("Init string container fail");
 	}
 
@@ -55,7 +56,7 @@
 	{
 		nsresult result;
 		result = NS_CStringContainerInit2(&str, s.ptr, s.length, 0);
-		if (result != 0) // TODO: convert to XPCOM fail macro
+		if (XPCOM.NS_FAILED(result)) 
 			throw new Exception("Init string container fail");
 	}
 
@@ -63,7 +64,7 @@
 	{
 		nsresult result;
 		result = NS_CStringContainerInit(&str);
-		if (result != 0) // TODO: convert to XPCOM fail macro
+		if (XPCOM.NS_FAILED(result)) 
 			throw new Exception("Init string container fail");
 	}
 
--- a/dwt/internal/mozilla/nsIAppShell.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIAppShell.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,12 +11,11 @@
   {0xa0757c31, 0xeeac, 0x11d1, 
     [ 0x9e, 0xc1, 0x00, 0xaa, 0x00, 0x2f, 0xb8, 0x21 ]};
 
-//extern(System)
-
 interface nsIAppShell : nsISupports {
   static const char[] IID_STR = NS_IAPPSHELL_IID_STR;
   static const nsIID IID = NS_IAPPSHELL_IID;
 
+extern(System):
   nsresult Create(int *argc, char **argv);
   nsresult Run();
   nsresult Spinup();
--- a/dwt/internal/mozilla/nsIAtom.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIAtom.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x3d1b15b0, 0x93b4, 0x11d1, 
     [ 0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81 ]};
 
-//extern(System)
-
 interface nsIAtom : nsISupports {
 
   static const char[] IID_STR = NS_IATOM_IID_STR;
   static const nsIID IID = NS_IATOM_IID;
 
+extern(System):
   nsresult ToString(nsAString * _retval);
   nsresult ToUTF8String(nsACString * _retval);
   nsresult GetUTF8String(char **aResult);
--- a/dwt/internal/mozilla/nsIAuthInformation.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIAuthInformation.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,8 +11,6 @@
    {0x0d73639c, 0x2a92, 0x4518, 
     [ 0x9f, 0x92, 0x28, 0xf7, 0x1f, 0xea, 0x5f, 0x20 ] };
 
-//extern(System)
-
 interface nsIAuthInformation : nsISupports {
 
   static const char[] IID_STR = NS_IAUTHINFORMATION_IID_STR;
@@ -23,6 +21,7 @@
   enum { NEED_DOMAIN = 4U }
   enum { ONLY_PASSWORD = 8U }
 
+extern(System):
   nsresult GetFlags(PRUint32 *aFlags);
   nsresult GetRealm(nsAString * aRealm);;
   nsresult GetAuthenticationScheme(nsACString * aAuthenticationScheme);
--- a/dwt/internal/mozilla/nsIAuthPrompt.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIAuthPrompt.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,8 +12,6 @@
   {0x2f977d45, 0x5485, 0x11d4, 
     [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]};
 
-//extern(System)
-
 interface nsIAuthPrompt : nsISupports {
 
   static const char[] IID_STR = NS_IAUTHPROMPT_IID_STR;
@@ -23,6 +21,7 @@
   enum { SAVE_PASSWORD_FOR_SESSION = 1U };
   enum { SAVE_PASSWORD_PERMANENTLY = 2U };
 
+extern(System):
   nsresult Prompt(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar *defaultText, PRUnichar **result, PRBool *_retval);
   nsresult PromptUsernameAndPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar **user, PRUnichar **pwd, PRBool *_retval);
   nsresult PromptPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar **pwd, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIAuthPromptCallback.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIAuthPromptCallback.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0xbdc387d7, 0x2d29, 0x4cac, 
     [ 0x92, 0xf1, 0xdd, 0x75, 0xd7, 0x86, 0x63, 0x1d ]};
 
-//extern(System)
-
 interface nsIAuthPromptCallback : nsISupports {
 
   static const char[] IID_STR = NS_IAUTHPROMPTCALLBACK_IID_STR;
   static const nsIID IID = NS_IAUTHPROMPTCALLBACK_IID;
 
+extern(System):
   nsresult OnAuthAvailable(nsISupports aContext, nsIAuthInformation aAuthInfo);
   nsresult OnAuthCancelled(nsISupports aContext, PRBool userCancel);
 }
--- a/dwt/internal/mozilla/nsIBaseWindow.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIBaseWindow.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x046bc8a0, 0x8015, 0x11d3, 
     [ 0xaf, 0x70, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIBaseWindow : nsISupports {
 
   static const char[] IID_STR = NS_IBASEWINDOW_IID_STR;
   static const nsIID IID = NS_IBASEWINDOW_IID;
 
+extern(System):
   nsresult InitWindow(nativeWindow parentNativeWindow, nsIWidget * parentWidget, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy);
   nsresult Create();
   nsresult Destroy();
--- a/dwt/internal/mozilla/nsIBinaryInputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIBinaryInputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x7b456cb0, 0x8772, 0x11d3, 
     [ 0x90, 0xcf, 0x00, 0x40, 0x05, 0x6a, 0x90, 0x6e ]};
 
-//extern(System)
-
 interface nsIBinaryInputStream : nsIInputStream {
 
   static const char[] IID_STR = NS_IBINARYINPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IBINARYINPUTSTREAM_IID;
 
+extern(System):
   nsresult SetInputStream(nsIInputStream aInputStream);
   nsresult ReadBoolean(PRBool *_retval);
   nsresult Read8(PRUint8 *_retval);
--- a/dwt/internal/mozilla/nsIBinaryOutputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIBinaryOutputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x204ee610, 0x8765, 0x11d3, 
     [ 0x90, 0xcf, 0x00, 0x40, 0x05, 0x6a, 0x90, 0x6e ]};
 
-//extern(System)
-
 interface nsIBinaryOutputStream : nsIOutputStream {
 
   static const char[] IID_STR = NS_IBINARYOUTPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IBINARYOUTPUTSTREAM_IID;
 
+extern(System):
   nsresult SetOutputStream(nsIOutputStream aOutputStream);
   nsresult WriteBoolean(PRBool aBoolean);
   nsresult Write8(PRUint8 aByte);
--- a/dwt/internal/mozilla/nsICancelable.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICancelable.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xd94ac0a0, 0xbb18, 0x46b8, 
     [ 0x84, 0x4e, 0x84, 0x15, 0x90, 0x64, 0xb0, 0xbd ]};
 
-//extern(System)
-
 interface nsICancelable : nsISupports {
 
   static const char[] IID_STR = NS_ICANCELABLE_IID_STR;
   static const nsIID IID = NS_ICANCELABLE_IID;
 
+extern(System):
   nsresult Cancel(nsresult aReason);
 }
 
--- a/dwt/internal/mozilla/nsICategoryManager.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICategoryManager.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0x3275b2cd, 0xaf6d, 0x429a, 
     [ 0x80, 0xd7, 0xf0, 0xc5, 0x12, 0x03, 0x42, 0xac ]};
 
-//extern(System)
-
 interface nsICategoryManager : nsISupports {
 
   static const char[] IID_STR = NS_ICATEGORYMANAGER_IID_STR;
   static const nsIID IID = NS_ICATEGORYMANAGER_IID;
 
+extern(System):
   nsresult GetCategoryEntry(char *aCategory, char *aEntry, char **_retval);
   nsresult AddCategoryEntry(char *aCategory, char *aEntry, char *aValue, PRBool aPersist, PRBool aReplace, char **_retval);
   nsresult DeleteCategoryEntry(char *aCategory, char *aEntry, PRBool aPersist);
--- a/dwt/internal/mozilla/nsIChannel.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIChannel.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0xc63a055a, 0xa676, 0x4e71, 
     [ 0xbf, 0x3c, 0x6c, 0xfa, 0x11, 0x08, 0x20, 0x18 ]};
 
-//extern(System)
-
 interface nsIChannel : nsIRequest {
 
   static const char[] IID_STR = NS_ICHANNEL_IID_STR;
   static const nsIID IID = NS_ICHANNEL_IID;
 
+extern(System):
   nsresult GetOriginalURI(nsIURI  *aOriginalURI);
   nsresult SetOriginalURI(nsIURI  aOriginalURI);
   nsresult GetURI(nsIURI  *aURI);
--- a/dwt/internal/mozilla/nsIChromeEventHandler.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIChromeEventHandler.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x7bc08970, 0x9e6c, 0x11d3, 
     [ 0xaf, 0xb2, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIChromeEventHandler : nsISupports {
 
   static const char[] IID_STR = NS_ICHROMEEVENTHANDLER_IID_STR;
   static const nsIID IID = NS_ICHROMEEVENTHANDLER_IID;
 
+extern(System):
   nsresult HandleChromeEvent(nsPresContext * aPresContext, nsEvent * aEvent, nsIDOMEvent *aDOMEvent, PRUint32 aFlags, nsEventStatus *aStatus);
 
 }
--- a/dwt/internal/mozilla/nsICollection.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICollection.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x83b6019c, 0xcbc4, 0x11d2, 
     [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]};
 
-//extern(System)
-
 interface nsICollection : nsISerializable {
 
   static const char[] IID_STR = NS_ICOLLECTION_IID_STR;
   static const nsIID IID = NS_ICOLLECTION_IID;
 
+extern(System):
   nsresult Count(PRUint32 *_retval);
   nsresult GetElementAt(PRUint32 index, nsISupports *_retval);
   nsresult QueryElementAt(PRUint32 index, nsIID * uuid, void * *result);
--- a/dwt/internal/mozilla/nsIComponentManager.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIComponentManager.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,12 +11,11 @@
   {0xa88e5a60, 0x205a, 0x4bb1, 
     [ 0x94, 0xe1, 0x26, 0x28, 0xda, 0xf5, 0x1e, 0xae ]};
 
-//extern(System)
-
 interface nsIComponentManager : nsISupports {
   static const char[] IID_STR = NS_ICOMPONENTMANAGER_IID_STR;
   static const nsIID IID = NS_ICOMPONENTMANAGER_IID;
 
+extern(System):
   nsresult GetClassObject(nsCID * aClass, nsIID * aIID, void * *result);
   nsresult GetClassObjectByContractID(char *aContractID, nsIID * aIID, void * *result);
   nsresult CreateInstance(nsCID * aClass, nsISupports aDelegate, nsIID * aIID, void * *result);
--- a/dwt/internal/mozilla/nsIComponentRegistrar.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIComponentRegistrar.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,12 +13,11 @@
   {0x2417cbfe, 0x65ad, 0x48a6, 
     [ 0xb4, 0xb6, 0xeb, 0x84, 0xdb, 0x17, 0x43, 0x92 ]};
 
-//extern(System)
-
 interface nsIComponentRegistrar : nsISupports {
   static const char[] IID_STR = NS_ICOMPONENTREGISTRAR_IID_STR;
   static const nsIID IID = NS_ICOMPONENTREGISTRAR_IID;
 
+extern(System):
   nsresult AutoRegister(nsIFile aSpec);
   nsresult AutoUnregister(nsIFile aSpec);
   nsresult RegisterFactory(nsCID * aClass, char *aClassName, char *aContractID, nsIFactory aFactory);
--- a/dwt/internal/mozilla/nsIContentViewer.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIContentViewer.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0x6a7ddb40, 0x8a9e, 0x4576, 
     [ 0x8a, 0xd1, 0x71, 0xc5, 0x64, 0x1d, 0x87, 0x80 ]};
 
-//extern(System)
-
 interface nsIContentViewer : nsISupports {
 
   static const char[] IID_STR = NS_ICONTENTVIEWER_IID_STR;
   static const nsIID IID = NS_ICONTENTVIEWER_IID;
 
+extern(System):
   nsresult Init(nsIWidget * aParentWidget, nsIDeviceContext * aDeviceContext, nsRect * aBounds);
   nsresult GetContainer(nsISupports  *aContainer);
   nsresult SetContainer(nsISupports  aContainer);
@@ -63,13 +62,12 @@
   {0x51341ed4, 0xa3bf, 0x4fd5, 
     [ 0xae, 0x17, 0x5f, 0xd3, 0xec, 0x59, 0xdc, 0xab ]};
 
-//extern(System)
-
 interface nsIContentViewer_MOZILLA_1_8_BRANCH : nsISupports {
 
   static const char[] IID_STR = NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID_STR;
   static const nsIID IID = NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID;
 
+extern(System):
   nsresult OpenWithEntry(nsISupports aState, nsISHEntry aSHEntry);
 
 }
--- a/dwt/internal/mozilla/nsIContextMenuListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIContextMenuListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x3478b6b0, 0x3875, 0x11d4, 
     [ 0x94, 0xef, 0x00, 0x20, 0x18, 0x3b, 0xf1, 0x81 ]};
 
-//extern(System)
-
 interface nsIContextMenuListener : nsISupports {
 
   static const char[] IID_STR = NS_ICONTEXTMENULISTENER_IID_STR;
   static const nsIID IID = NS_ICONTEXTMENULISTENER_IID;
 
+extern(System):
   enum { CONTEXT_NONE = 0U };
   enum { CONTEXT_LINK = 1U };
   enum { CONTEXT_IMAGE = 2U };
--- a/dwt/internal/mozilla/nsIContextMenuListener2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIContextMenuListener2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,8 +15,6 @@
   {0x7fb719b3, 0xd804, 0x4964, 
     [ 0x95, 0x96, 0x77, 0xcf, 0x92, 0x4e, 0xe3, 0x14 ]};
 
-//extern(System)
-
 interface nsIContextMenuListener2 : nsISupports {
 
   static const char[] IID_STR = NS_ICONTEXTMENULISTENER2_IID_STR;
@@ -30,6 +28,7 @@
   enum { CONTEXT_INPUT = 16U };
   enum { CONTEXT_BACKGROUND_IMAGE = 32U };
 
+extern(System):
   nsresult OnShowContextMenu(PRUint32 aContextFlags, nsIContextMenuInfo aUtils);
 }
 
@@ -43,13 +42,12 @@
   {0x2f977d56, 0x5485, 0x11d4, 
     [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]};
 
-//extern(System)
-
 interface nsIContextMenuInfo : nsISupports {
 
   static const char[] IID_STR = NS_ICONTEXTMENUINFO_IID_STR;
   static const nsIID IID = NS_ICONTEXTMENUINFO_IID;
 
+extern(System):
   nsresult GetMouseEvent(nsIDOMEvent  *aMouseEvent);
   nsresult GetTargetNode(nsIDOMNode  *aTargetNode);
   nsresult GetAssociatedLink(nsAString * aAssociatedLink);
--- a/dwt/internal/mozilla/nsICookie.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICookie.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xe9fcb9a4, 0xd376, 0x458f, 
     [ 0xb7, 0x20, 0xe6, 0x5e, 0x7d, 0xf5, 0x93, 0xbc ]};
 
-//extern(System)
-
 interface nsICookie : nsISupports {
 
   static const char[] IID_STR = NS_ICOOKIE_IID_STR;
   static const nsIID IID = NS_ICOOKIE_IID;
 
+extern(System):
   nsresult GetName(nsACString * aName);
   nsresult GetValue(nsACString * aValue);
   nsresult GetIsDomain(PRBool *aIsDomain);
--- a/dwt/internal/mozilla/nsICookie2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICookie2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0xd3493503, 0x7854, 0x46ed, 
     [ 0x82, 0x84, 0x8a, 0xf5, 0x4a, 0x84, 0x7e, 0xfb ]};
 
-//extern(System)
-
 interface nsICookie2 : nsICookie {
 
   static const char[] IID_STR = NS_ICOOKIE2_IID_STR;
   static const nsIID IID = NS_ICOOKIE2_IID;
 
+extern(System):
   nsresult GetRawHost(nsACString * aRawHost);
   nsresult GetIsSession(PRBool *aIsSession);
   nsresult GetExpiry(PRInt64 *aExpiry);
--- a/dwt/internal/mozilla/nsICookieManager.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICookieManager.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xaaab6710, 0x0f2c, 0x11d5, 
     [ 0xa5, 0x3b, 0x00, 0x10, 0xa4, 0x01, 0xeb, 0x10 ]};
 
-//extern(System)
-
 interface nsICookieManager : nsISupports {
 
   static const char[] IID_STR = NS_ICOOKIEMANAGER_IID_STR;
   static const nsIID IID = NS_ICOOKIEMANAGER_IID;
 
+extern(System):
   nsresult RemoveAll();
   nsresult GetEnumerator(nsISimpleEnumerator  *aEnumerator);
   nsresult Remove(nsACString * aDomain, nsACString * aName, nsACString * aPath, PRBool aBlocked);
--- a/dwt/internal/mozilla/nsICookieManager2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsICookieManager2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x3e73ff5f, 0x154e, 0x494f, 
     [ 0xb6, 0x40, 0x3c, 0x65, 0x4b, 0xa2, 0xcc, 0x2b ]};
 
-//extern(System)
-
 interface nsICookieManager2 : nsICookieManager {
 
   static const char[] IID_STR = NS_ICOOKIEMANAGER2_IID_STR;
   static const nsIID IID = NS_ICOOKIEMANAGER2_IID;
 
+extern(System):
   nsresult Add(nsACString * aDomain, nsACString * aPath, nsACString * aName, nsACString * aValue, PRBool aSecure, PRBool aIsSession, PRInt64 aExpiry);
   nsresult FindMatchingCookie(nsICookie2 aCookie, PRUint32 *aCountFromHost, PRBool *_retval);
 }
--- a/dwt/internal/mozilla/nsIDOMAbstractView.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMAbstractView.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xf51ebade, 0x8b1a, 0x11d3, 
     [ 0xaa, 0xe7, 0x00, 0x10, 0x83, 0x01, 0x23, 0xb4 ]};
 
-//extern(System)
-
 interface nsIDOMAbstractView : nsISupports {
 
   static const char[] IID_STR = NS_IDOMABSTRACTVIEW_IID_STR;
   static const nsIID IID = NS_IDOMABSTRACTVIEW_IID;
 
+extern(System):
   nsresult GetDocument(nsIDOMDocumentView  *aDocument);
 
 }
--- a/dwt/internal/mozilla/nsIDOMAttr.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMAttr.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xa6cf9070, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMAttr : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMATTR_IID_STR;
   static const nsIID IID = NS_IDOMATTR_IID;
 
+extern(System):
   nsresult GetName(nsAString * aName);
   nsresult GetSpecified(PRBool *aSpecified);
   nsresult GetValue(nsAString * aValue);
--- a/dwt/internal/mozilla/nsIDOMBarProp.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMBarProp.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x9eb2c150, 0x1d56, 0x11d3, 
     [ 0x82, 0x21, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]};
 
-//extern(System)
-
 interface nsIDOMBarProp : nsISupports {
 
   static const char[] IID_STR = NS_IDOMBARPROP_IID_STR;
   static const nsIID IID = NS_IDOMBARPROP_IID;
 
+extern(System):
   nsresult GetVisible(PRBool *aVisible);
   nsresult SetVisible(PRBool aVisible);
 
--- a/dwt/internal/mozilla/nsIDOMCDATASection.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMCDATASection.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,10 +11,9 @@
   {0xa6cf9071, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMCDATASection : nsIDOMText {
 
+extern(System):
   static const char[] IID_STR = NS_IDOMCDATASECTION_IID_STR;
   static const nsIID IID = NS_IDOMCDATASECTION_IID;
 
--- a/dwt/internal/mozilla/nsIDOMCharacterData.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMCharacterData.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xa6cf9072, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMCharacterData : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMCHARACTERDATA_IID_STR;
   static const nsIID IID = NS_IDOMCHARACTERDATA_IID;
 
+extern(System):
   nsresult GetData(nsAString * aData);
   nsresult SetData(nsAString * aData);
   nsresult GetLength(PRUint32 *aLength);
--- a/dwt/internal/mozilla/nsIDOMComment.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMComment.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,10 +11,9 @@
   {0xa6cf9073, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMComment : nsIDOMCharacterData {
 
+extern(System):
   static const char[] IID_STR = NS_IDOMCOMMENT_IID_STR;
   static const nsIID IID = NS_IDOMCOMMENT_IID;
 
--- a/dwt/internal/mozilla/nsIDOMDOMImplementation.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMDOMImplementation.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xa6cf9074, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMDOMImplementation : nsISupports {
 
   static const char[] IID_STR = NS_IDOMDOMIMPLEMENTATION_IID_STR;
   static const nsIID IID = NS_IDOMDOMIMPLEMENTATION_IID;
 
+extern(System):
   nsresult HasFeature(nsAString * feature, nsAString * version_, PRBool *_retval);
   nsresult CreateDocumentType(nsAString * qualifiedName, nsAString * publicId, nsAString * systemId, nsIDOMDocumentType *_retval);
   nsresult CreateDocument(nsAString * namespaceURI, nsAString * qualifiedName, nsIDOMDocumentType doctype, nsIDOMDocument *_retval);
--- a/dwt/internal/mozilla/nsIDOMDocument.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMDocument.d	Fri Oct 31 21:46:44 2008 -0700
@@ -24,13 +24,12 @@
   {0xa6cf9075, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMDocument : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMDOCUMENT_IID_STR;
   static const nsIID IID = NS_IDOMDOCUMENT_IID;
 
+extern(System):
   nsresult GetDoctype(nsIDOMDocumentType  *aDoctype);
   nsresult GetImplementation(nsIDOMDOMImplementation  *aImplementation);
   nsresult GetDocumentElement(nsIDOMElement  *aDocumentElement);
--- a/dwt/internal/mozilla/nsIDOMDocumentFragment.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMDocumentFragment.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,10 +11,10 @@
   {0xa6cf9076, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(Windows)
 interface nsIDOMDocumentFragment : nsIDOMNode {
   static const char[] IID_STR = NS_IDOMDOCUMENTFRAGMENT_IID_STR;
   static const nsIID IID = NS_IDOMDOCUMENTFRAGMENT_IID;
 
+extern(System):
 }
 
--- a/dwt/internal/mozilla/nsIDOMDocumentType.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMDocumentType.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0xa6cf9077, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMDocumentType : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMDOCUMENTTYPE_IID_STR;
   static const nsIID IID = NS_IDOMDOCUMENTTYPE_IID;
 
+extern(System):
   nsresult GetName(nsAString * aName);
   nsresult GetEntities(nsIDOMNamedNodeMap  *aEntities);
   nsresult GetNotations(nsIDOMNamedNodeMap  *aNotations);
--- a/dwt/internal/mozilla/nsIDOMDocumentView.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMDocumentView.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x1acdb2ba, 0x1dd2, 0x11b2, 
     [ 0x95, 0xbc, 0x95, 0x42, 0x49, 0x5d, 0x25, 0x69 ]};
 
-//extern(System)
-
 interface nsIDOMDocumentView : nsISupports {
 
   static const char[] IID_STR = NS_IDOMDOCUMENTVIEW_IID_STR;
   static const nsIID IID = NS_IDOMDOCUMENTVIEW_IID;
 
+extern(System):
   nsresult GetDefaultView(nsIDOMAbstractView  *aDefaultView);
 
 }
--- a/dwt/internal/mozilla/nsIDOMElement.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMElement.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xa6cf9078, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMElement : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMELEMENT_IID_STR;
   static const nsIID IID = NS_IDOMELEMENT_IID;
 
+extern(System):
   nsresult GetTagName(nsAString * aTagName);
   nsresult GetAttribute(nsAString * name, nsAString * _retval);
   nsresult SetAttribute(nsAString * name, nsAString * value);
--- a/dwt/internal/mozilla/nsIDOMEntityReference.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMEntityReference.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,12 +11,11 @@
   {0xa6cf907a, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMEntityReference : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMENTITYREFERENCE_IID_STR;
   static const nsIID IID = NS_IDOMENTITYREFERENCE_IID;
 
+extern(System):
 }
 
--- a/dwt/internal/mozilla/nsIDOMEvent.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMEvent.d	Fri Oct 31 21:46:44 2008 -0700
@@ -21,6 +21,7 @@
   static const char[] IID_STR = NS_IDOMEVENT_IID_STR;
   static const nsIID IID = NS_IDOMEVENT_IID;
 
+extern(System):
   enum { CAPTURING_PHASE = 1U };
   enum { AT_TARGET = 2U };
   enum { BUBBLING_PHASE = 3U };
--- a/dwt/internal/mozilla/nsIDOMEventGroup.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMEventGroup.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x33347bee, 0x6620, 0x4841, 
     [ 0x81, 0x52, 0x36, 0x09, 0x1a, 0xe8, 0x0c, 0x7e ]};
 
-//extern(System)
-
 interface nsIDOMEventGroup : nsISupports {
 
   static const char[] IID_STR = NS_IDOMEVENTGROUP_IID_STR;
   static const nsIID IID = NS_IDOMEVENTGROUP_IID;
 
+extern(System):
   nsresult IsSameEventGroup(nsIDOMEventGroup other, PRBool *_retval);
 
 }
--- a/dwt/internal/mozilla/nsIDOMEventListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMEventListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xdf31c120, 0xded6, 0x11d1, 
     [ 0xbd, 0x85, 0x00, 0x80, 0x5f, 0x8a, 0xe3, 0xf4 ]};
 
-//extern(System)
-
 interface nsIDOMEventListener : nsISupports {
 
   static const char[] IID_STR = NS_IDOMEVENTLISTENER_IID_STR;
   static const nsIID IID = NS_IDOMEVENTLISTENER_IID;
 
+extern(System):
   nsresult HandleEvent(nsIDOMEvent event);
 }
 
--- a/dwt/internal/mozilla/nsIDOMEventTarget.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMEventTarget.d	Fri Oct 31 21:46:44 2008 -0700
@@ -22,6 +22,7 @@
   static const char[] IID_STR = NS_IDOMEVENTTARGET_IID_STR;
   static const nsIID IID = NS_IDOMEVENTTARGET_IID;
 
+extern(System):
   nsresult AddEventListener(nsAString * type, nsIDOMEventListener listener, PRBool useCapture);
   nsresult RemoveEventListener(nsAString * type, nsIDOMEventListener listener, PRBool useCapture);
   nsresult DispatchEvent(nsIDOMEvent evt, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIDOMKeyEvent.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMKeyEvent.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x028e0e6e, 0x8b01, 0x11d3, 
     [ 0xaa, 0xe7, 0x00, 0x10, 0x83, 0x8a, 0x31, 0x23 ]};
 
-//extern(System)
-
 interface nsIDOMKeyEvent : nsIDOMUIEvent {
 
   static const char[] IID_STR = NS_IDOMKEYEVENT_IID_STR;
   static const nsIID IID = NS_IDOMKEYEVENT_IID;
 
+extern(System):
   enum { DOM_VK_CANCEL = 3U };
   enum { DOM_VK_HELP = 6U };
   enum { DOM_VK_BACK_SPACE = 8U };
--- a/dwt/internal/mozilla/nsIDOMMouseEvent.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMMouseEvent.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xff751edc, 0x8b02, 0xaae7, 
     [ 0x00, 0x10, 0x83, 0x01, 0x83, 0x8a, 0x31, 0x23 ]};
 
-//extern(System)
-
 interface nsIDOMMouseEvent : nsIDOMUIEvent {
 
   static const char[] IID_STR = NS_IDOMMOUSEEVENT_IID_STR;
   static const nsIID IID = NS_IDOMMOUSEEVENT_IID;
 
+extern(System):
   nsresult GetScreenX(PRInt32 *aScreenX);
   nsresult GetScreenY(PRInt32 *aScreenY);
   nsresult GetClientX(PRInt32 *aClientX);
--- a/dwt/internal/mozilla/nsIDOMNamedNodeMap.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMNamedNodeMap.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0xa6cf907b, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMNamedNodeMap : nsISupports {
 
   static const char[] IID_STR = NS_IDOMNAMEDNODEMAP_IID_STR;
   static const nsIID IID = NS_IDOMNAMEDNODEMAP_IID;
 
+extern(System):
   nsresult GetNamedItem(nsAString * name, nsIDOMNode *_retval);
   nsresult SetNamedItem(nsIDOMNode arg, nsIDOMNode *_retval);
   nsresult RemoveNamedItem(nsAString * name, nsIDOMNode *_retval);
--- a/dwt/internal/mozilla/nsIDOMNode.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMNode.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0xa6cf907c, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMNode : nsISupports {
 
   static const char[] IID_STR = NS_IDOMNODE_IID_STR;
   static const nsIID IID = NS_IDOMNODE_IID;
 
+extern(System):
   enum { ELEMENT_NODE = 1U };
   enum { ATTRIBUTE_NODE = 2U };
   enum { TEXT_NODE = 3U };
--- a/dwt/internal/mozilla/nsIDOMNodeList.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMNodeList.d	Fri Oct 31 21:46:44 2008 -0700
@@ -21,6 +21,7 @@
   static const char[] IID_STR = NS_IDOMNODELIST_IID_STR;
   static const nsIID IID = NS_IDOMNODELIST_IID;
 
+extern(System):
   nsresult Item(PRUint32 index, nsIDOMNode *_retval);
   nsresult GetLength(PRUint32 *aLength);
 
--- a/dwt/internal/mozilla/nsIDOMProcessingInstruction.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMProcessingInstruction.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,8 +11,6 @@
   {0xa6cf907f, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMProcessingInstruction : nsIDOMNode {
 
   static const char[] IID_STR = NS_IDOMPROCESSINGINSTRUCTION_IID_STR;
--- a/dwt/internal/mozilla/nsIDOMRange.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMRange.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xa6cf90ce, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMRange : nsISupports {
 
   static const char[] IID_STR = NS_IDOMRANGE_IID_STR;
   static const nsIID IID = NS_IDOMRANGE_IID;
 
+extern(System):
   nsresult GetStartContainer(nsIDOMNode  *aStartContainer);
   nsresult GetStartOffset(PRInt32 *aStartOffset);
   nsresult GetEndContainer(nsIDOMNode  *aEndContainer);
--- a/dwt/internal/mozilla/nsIDOMSerializer.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMSerializer.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,13 @@
   {0xa6cf9123, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMSerializer : nsISupports {
 
   static const char[] IID_STR = NS_IDOMSERIALIZER_IID_STR;
   static const nsIID IID = NS_IDOMSERIALIZER_IID;
 
+extern(System):
+
   nsresult SerializeToString(nsIDOMNode root, PRUnichar ** _retval);
   nsresult SerializeToStream(nsIDOMNode root, nsIOutputStream stream, char* charset);
 
--- a/dwt/internal/mozilla/nsIDOMSerializer_1_7.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMSerializer_1_7.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x9fd4ba15, 0xe67c, 0x4c98, 
     [ 0xb5, 0x2c, 0x77, 0x15, 0xf6, 0x2c, 0x91, 0x96 ]};
 
-//extern(System)
-
 interface nsIDOMSerializer_1_7 : nsISupports {
 
   static const char[] IID_STR = NS_IDOMSERIALIZER_IID_STR;
   static const nsIID IID = NS_IDOMSERIALIZER_IID;
 
+extern(System):
   nsresult SerializeToString(nsIDOMNode root, nsAString * _retval);
   nsresult SerializeToStream(nsIDOMNode root, nsIOutputStream stream, nsACString * charset);
 
--- a/dwt/internal/mozilla/nsIDOMStorage.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMStorage.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0x95cc1383, 0x3b62, 0x4b89, 
     [ 0xaa, 0xef, 0x10, 0x04, 0xa5, 0x13, 0xef, 0x47 ]};
 
-//extern(System)
-
 interface nsIDOMStorage : nsISupports {
 
   static const char[] IID_STR = NS_IDOMSTORAGE_IID_STR;
   static const nsIID IID = NS_IDOMSTORAGE_IID;
 
+extern(System):
   nsresult GetLength(PRUint32 *aLength);
   nsresult Key(PRUint32 index, nsAString * _retval);
   nsresult GetItem(nsAString * key, nsIDOMStorageItem *_retval);
--- a/dwt/internal/mozilla/nsIDOMStorageItem.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMStorageItem.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x0cc37c78, 0x4c5f, 0x48e1, 
     [ 0xad, 0xfc, 0x74, 0x80, 0xb8, 0xfe, 0x9d, 0xc4 ]};
 
-//extern(System)
-
 interface nsIDOMStorageItem : nsISupports {
 
   static const char[] IID_STR = NS_IDOMSTORAGEITEM_IID_STR;
   static const nsIID IID = NS_IDOMSTORAGEITEM_IID;
 
+extern(System):
   nsresult GetSecure(PRBool *aSecure);
   nsresult SetSecure(PRBool aSecure);
   nsresult GetValue(nsAString * aValue);
--- a/dwt/internal/mozilla/nsIDOMText.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMText.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0xa6cf9082, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMText : nsIDOMCharacterData {
 
   static const char[] IID_STR = NS_IDOMTEXT_IID_STR;
   static const nsIID IID = NS_IDOMTEXT_IID;
 
+extern(System):
   nsresult SplitText(PRUint32 offset, nsIDOMText *_retval);
 
 }
--- a/dwt/internal/mozilla/nsIDOMUIEvent.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMUIEvent.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0xa6cf90c3, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMUIEvent : nsIDOMEvent {
 
   static const char[] IID_STR = NS_IDOMUIEVENT_IID_STR;
   static const nsIID IID = NS_IDOMUIEVENT_IID;
 
+extern(System):
   nsresult GetView(nsIDOMAbstractView  *aView);
   nsresult GetDetail(PRInt32 *aDetail);
   nsresult InitUIEvent(nsAString * typeArg, PRBool canBubbleArg, PRBool cancelableArg, nsIDOMAbstractView viewArg, PRInt32 detailArg);
--- a/dwt/internal/mozilla/nsIDOMWindow.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMWindow.d	Fri Oct 31 21:46:44 2008 -0700
@@ -18,13 +18,12 @@
   {0xa6cf906b, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMWindow : nsISupports {
 
   static const char[] IID_STR = NS_IDOMWINDOW_IID_STR;
   static const nsIID IID = NS_IDOMWINDOW_IID;
 
+extern(System):
   nsresult GetDocument(nsIDOMDocument  *aDocument);
   nsresult GetParent(nsIDOMWindow  *aParent);
   nsresult GetTop(nsIDOMWindow  *aTop);
--- a/dwt/internal/mozilla/nsIDOMWindow2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMWindow2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0x65455132, 0xb96a, 0x40ec, 
     [ 0xad, 0xea, 0x52, 0xfa, 0x22, 0xb1, 0x02, 0x8c ]};
 
-//extern(System)
-
 interface nsIDOMWindow2 : nsIDOMWindow {
 
   static const char[] IID_STR = NS_IDOMWINDOW2_IID_STR;
   static const nsIID IID = NS_IDOMWINDOW2_IID;
 
+extern(System):
   nsresult GetWindowRoot(nsIDOMEventTarget  *aWindowRoot);
 
 }
--- a/dwt/internal/mozilla/nsIDOMWindowCollection.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDOMWindowCollection.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xa6cf906f, 0x15b3, 0x11d2, 
     [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]};
 
-//extern(System)
-
 interface nsIDOMWindowCollection : nsISupports {
 
   static const char[] IID_STR = NS_IDOMWINDOWCOLLECTION_IID_STR;
   static const nsIID IID = NS_IDOMWINDOWCOLLECTION_IID;
 
+extern(System):
   nsresult GetLength(PRUint32 *aLength);
   nsresult Item(PRUint32 index, nsIDOMWindow *_retval);
   nsresult NamedItem(nsAString * name, nsIDOMWindow *_retval);
--- a/dwt/internal/mozilla/nsIDebug.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDebug.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,11 +10,11 @@
   {0x3bf0c3d7, 0x3bd9, 0x4cf2, 
     [ 0xa9, 0x71, 0x33, 0x57, 0x2c, 0x50, 0x3e, 0x1e ]};
 
-//extern(System)
 interface nsIDebug : nsISupports {
   static const char[] IID_STR = NS_IDEBUG_IID_STR;
   static const nsIID IID = NS_IDEBUG_IID;
 
+extern(System):
   nsresult Assertion(char *aStr, char *aExpr, char *aFile, PRInt32 aLine);
   nsresult Warning(char *aStr, char *aFile, PRInt32 aLine);
   nsresult Break(char *aFile, PRInt32 aLine);
--- a/dwt/internal/mozilla/nsIDirectoryService.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDirectoryService.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0xbbf8cab0, 0xd43a, 0x11d3, 
     [ 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]};
 
-//extern(System)
-
 interface nsIDirectoryServiceProvider : nsISupports {
 
   static const char[] IID_STR = NS_IDIRECTORYSERVICEPROVIDER_IID_STR;
   static const nsIID IID = NS_IDIRECTORYSERVICEPROVIDER_IID;
 
+extern(System):
   nsresult GetFile(char *prop, PRBool *persistent, nsIFile *_retval);
 
 }
@@ -37,13 +36,12 @@
   {0x2f977d4b, 0x5485, 0x11d4, 
     [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]};
 
-//extern(System)
-
 interface nsIDirectoryServiceProvider2 : nsIDirectoryServiceProvider {
 
   static const char[] IID_STR = NS_IDIRECTORYSERVICEPROVIDER2_IID_STR;
   static const nsIID IID = NS_IDIRECTORYSERVICEPROVIDER2_IID;
 
+extern(System):
   nsresult GetFiles(char *prop, nsISimpleEnumerator *_retval);
 
 }
@@ -58,13 +56,12 @@
   {0x57a66a60, 0xd43a, 0x11d3, 
     [ 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]};
 
-//extern(System)
-
 interface nsIDirectoryService : nsISupports {
 
   static const char[] IID_STR = NS_IDIRECTORYSERVICE_IID_STR;
   static const nsIID IID = NS_IDIRECTORYSERVICE_IID;
 
+extern(System):
   nsresult Init();
   nsresult RegisterProvider(nsIDirectoryServiceProvider prov);
   nsresult UnregisterProvider(nsIDirectoryServiceProvider prov);
--- a/dwt/internal/mozilla/nsIDocShell.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDocShell.d	Fri Oct 31 21:46:44 2008 -0700
@@ -32,13 +32,12 @@
   {0x9f0c7461, 0xb9a4, 0x47f6, 
     [ 0xb8, 0x8c, 0x42, 0x1d, 0xce, 0x1b, 0xce, 0x66 ]};
 
-//extern(System)
-
 interface nsIDocShell : nsISupports {
 
   static const char[] IID_STR = NS_IDOCSHELL_IID_STR;
   static const nsIID IID = NS_IDOCSHELL_IID;
 
+extern(System):
   nsresult LoadURI(nsIURI uri, nsIDocShellLoadInfo loadInfo, PRUint32 aLoadFlags, PRBool firstParty);
   nsresult LoadStream(nsIInputStream aStream, nsIURI aURI, nsACString * aContentType, nsACString * aContentCharset, nsIDocShellLoadInfo aLoadInfo);
 
@@ -138,13 +137,12 @@
   {0x45988a14, 0xb240, 0x4d07, 
     [ 0xae, 0x64, 0x50, 0xec, 0xca, 0x26, 0xe6, 0xd8 ]};
 
-//extern(System)
-
 interface nsIDocShell_1_8 : nsIDocShell {
 
   static const char[] IID_STR = NS_IDOCSHELL_1_8_IID_STR;
   static const nsIID IID = NS_IDOCSHELL_1_8_IID;
 
+extern(System):
   nsresult GetSessionStorageForURI(nsIURI uri, nsIDOMStorage *_retval);
   nsresult AddSessionStorage(nsACString * aDomain, nsIDOMStorage storage);
   nsresult GetCurrentDocumentChannel(nsIChannel  *aCurrentDocumentChannel);
@@ -160,13 +158,12 @@
   {0x45988a14, 0xb240, 0x4d07, 
     [ 0xae, 0x64, 0x50, 0xec, 0xca, 0x26, 0xe6, 0xd8 ]};
 
-//extern(System)
-
 interface nsIDocShell_1_9 : nsIDocShell_1_8 {
 
   static const char[] IID_STR = NS_IDOCSHELL_1_9_IID_STR;
   static const nsIID IID = NS_IDOCSHELL_1_9_IID;
 
+extern(System):
   nsresult GetSessionStorageForURI(nsIURI uri, nsIDOMStorage *_retval);
   nsresult AddSessionStorage(nsACString * aDomain, nsIDOMStorage storage);
   nsresult GetCurrentDocumentChannel(nsIChannel  *aCurrentDocumentChannel);
--- a/dwt/internal/mozilla/nsIDocShellLoadInfo.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDocShellLoadInfo.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0x4f813a88, 0x7aca, 0x4607, 
     [ 0x98, 0x96, 0xd9, 0x72, 0x70, 0xcd, 0xf1, 0x5e ]};
 
-//extern(System)
-
 interface nsIDocShellLoadInfo : nsISupports {
 
   static const char[] IID_STR = NS_IDOCSHELLLOADINFO_IID_STR;
   static const nsIID IID = NS_IDOCSHELLLOADINFO_IID;
 
+extern(System):
   nsresult GetReferrer(nsIURI  *aReferrer);
   nsresult SetReferrer(nsIURI  aReferrer);
   nsresult GetOwner(nsISupports  *aOwner);
--- a/dwt/internal/mozilla/nsIDocShellTreeItem.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDocShellTreeItem.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x7d935d63, 0x6d2a, 0x4600, 
     [ 0xaf, 0xb5, 0x9a, 0x4f, 0x7d, 0x68, 0xb8, 0x25 ]};
 
-//extern(System)
-
 interface nsIDocShellTreeItem : nsISupports {
 
   static const char[] IID_STR = NS_IDOCSHELLTREEITEM_IID_STR;
   static const nsIID IID = NS_IDOCSHELLTREEITEM_IID;
 
+extern(System):
   nsresult GetName(PRUnichar * *aName);
   nsresult SetName(PRUnichar * aName);
   nsresult NameEquals(PRUnichar *name, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIDocShellTreeOwner.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDocShellTreeOwner.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0x9e508466, 0x5ebb, 0x4618, 
     [ 0xab, 0xfa, 0x9a, 0xd4, 0x7b, 0xed, 0x0b, 0x2e ]};
 
-//extern(System)
-
 interface nsIDocShellTreeOwner : nsISupports {
 
   static const char[] IID_STR = NS_IDOCSHELLTREEOWNER_IID_STR;
   static const nsIID IID = NS_IDOCSHELLTREEOWNER_IID;
 
+extern(System):
   nsresult FindItemWithName(PRUnichar *name, nsIDocShellTreeItem aRequestor, nsIDocShellTreeItem aOriginalRequestor, nsIDocShellTreeItem *_retval);
   nsresult ContentShellAdded(nsIDocShellTreeItem aContentShell, PRBool aPrimary, PRUnichar *aID);
   nsresult GetPrimaryContentShell(nsIDocShellTreeItem  *aPrimaryContentShell);
@@ -43,13 +42,12 @@
   {0x3c2a6927, 0xe923, 0x4ea8, 
     [ 0xbb, 0xda, 0xa3, 0x35, 0xc7, 0x68, 0xce, 0x4e ]};
 
-//extern(System)
-
 interface nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH : nsIDocShellTreeOwner {
 
   static const char[] IID_STR = NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID_STR;
   static const nsIID IID = NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID;
 
+extern(System):
   nsresult ContentShellAdded2(nsIDocShellTreeItem aContentShell, PRBool aPrimary, PRBool aTargetable, nsAString * aID);
   nsresult ContentShellRemoved(nsIDocShellTreeItem aContentShell);
 
--- a/dwt/internal/mozilla/nsIDocumentCharsetInfo.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDocumentCharsetInfo.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x2d40b291, 0x01e1, 0x11d4, 
     [ 0x9d, 0x0e, 0x00, 0x50, 0x04, 0x00, 0x07, 0xb2 ]};
 
-//extern(System)
-
 interface nsIDocumentCharsetInfo : nsISupports {
 
   static const char[] IID_STR = NS_IDOCUMENTCHARSETINFO_IID_STR;
   static const nsIID IID = NS_IDOCUMENTCHARSETINFO_IID;
 
+extern(System):
   nsresult GetForcedCharset(nsIAtom  *aForcedCharset);
   nsresult SetForcedCharset(nsIAtom  aForcedCharset);
   nsresult GetForcedDetector(PRBool *aForcedDetector);
--- a/dwt/internal/mozilla/nsIDownload.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDownload.d	Fri Oct 31 21:46:44 2008 -0700
@@ -19,13 +19,12 @@
   {0x9e1fd9f2, 0x9727, 0x4926, 
     [ 0x85, 0xcd, 0xf1, 0x6c, 0x37, 0x5b, 0xba, 0x6d ]};
 
-//extern(System)
-
 interface nsIDownload : nsISupports {
 
   static const char[] IID_STR = NS_IDOWNLOAD_IID_STR;
   static const nsIID IID = NS_IDOWNLOAD_IID;
-    
+
+extern(System):
   nsresult Init(nsIURI aSource, nsIURI aTarget, nsAString* aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, PRBool aPersist);
   nsresult GetSource(nsIURI  *aSource);
   nsresult GetTarget(nsIURI  *aTarget);
--- a/dwt/internal/mozilla/nsIDownload_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIDownload_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0x9e1fd9f2, 0x9727, 0x4926, 
     [ 0x85, 0xcd, 0xf1, 0x6c, 0x37, 0x5b, 0xba, 0x6d ]};
 
-//extern(System)
-
 interface nsIDownload_1_8 : nsITransfer {
 
   static const char[] IID_STR = NS_IDOWNLOAD_IID_STR;
   static const nsIID IID = NS_IDOWNLOAD_IID;
 
+extern(System):
   nsresult GetTargetFile(nsILocalFile  *aTargetFile);
   nsresult GetPercentComplete(PRInt32 *aPercentComplete);
   nsresult GetAmountTransferred(PRUint64 *aAmountTransferred);
--- a/dwt/internal/mozilla/nsIEmbeddingSiteWindow.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIEmbeddingSiteWindow.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,8 +10,6 @@
   {0x3e5432cd, 0x9568, 0x4bd1, 
     [ 0x8c, 0xbe, 0xd5, 0x0a, 0xba, 0x11, 0x07, 0x43 ]};
 
-//extern(System)
-
 interface nsIEmbeddingSiteWindow : nsISupports {
 
   static const char[] IID_STR = NS_IEMBEDDINGSITEWINDOW_IID_STR;
@@ -21,6 +19,7 @@
   enum { DIM_FLAGS_SIZE_INNER = 2U };
   enum { DIM_FLAGS_SIZE_OUTER = 4U };
 
+extern(System):
   nsresult SetDimensions(PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy);
   nsresult GetDimensions(PRUint32 flags, PRInt32 *x, PRInt32 *y, PRInt32 *cx, PRInt32 *cy);
   nsresult SetFocus();
--- a/dwt/internal/mozilla/nsIEmbeddingSiteWindow2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIEmbeddingSiteWindow2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xe932bf55, 0x0a64, 0x4beb, 
     [ 0x92, 0x3a, 0x1f, 0x32, 0xd3, 0x66, 0x10, 0x44 ]};
 
-//extern(System)
-
 interface nsIEmbeddingSiteWindow2 : nsIEmbeddingSiteWindow {
 
   static const char[] IID_STR = NS_IEMBEDDINGSITEWINDOW2_IID_STR;
   static const nsIID IID = NS_IEMBEDDINGSITEWINDOW2_IID;
 
+extern(System):
   nsresult Blur();
 
 }
--- a/dwt/internal/mozilla/nsIEnumerator.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIEnumerator.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xad385286, 0xcbc4, 0x11d2, 
     [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]};
 
-//extern(System)
-
 interface nsIEnumerator : nsISupports {
 
   static const char[] IID_STR = NS_IENUMERATOR_IID_STR;
   static const nsIID IID = NS_IENUMERATOR_IID;
 
+extern(System):
   nsresult First();
   nsresult Next();
   nsresult CurrentItem(nsISupports *_retval);
@@ -38,13 +37,12 @@
   {0x75f158a0, 0xcadd, 0x11d2, 
     [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]};
 
-//extern(System)
-
 interface nsIBidirectionalEnumerator : nsIEnumerator {
 
   static const char[] IID_STR = NS_IBIDIRECTIONALENUMERATOR_IID_STR;
   static const nsIID IID = NS_IBIDIRECTIONALENUMERATOR_IID;
 
+extern(System):
   nsresult Last();
   nsresult Prev();
 
--- a/dwt/internal/mozilla/nsIEventQueue.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIEventQueue.d	Fri Oct 31 21:46:44 2008 -0700
@@ -9,12 +9,11 @@
   {0x176afb41, 0x00a4, 0x11d3, 
     [ 0x9f, 0x2a, 0x00, 0x40, 0x05, 0x53, 0xee, 0xf0 ]};
 
-//extern(System)
-
 interface nsIEventQueue : nsIEventTarget {
   static const char[] IID_STR = NS_IEVENTQUEUE_IID_STR;
   static const nsIID IID = NS_IEVENTQUEUE_IID;
 
+extern(System):
   nsresult InitEvent(PLEvent * aEvent, void * owner, PLHandleEventProc handler, PLDestroyEventProc destructor);
   nsresult PostSynchronousEvent(PLEvent * aEvent, void * *aResult);
   nsresult PendingEvents(PRBool *_retval);
--- a/dwt/internal/mozilla/nsIEventTarget.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIEventTarget.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xea99ad5b, 0xcc67, 0x4efb, 
     [ 0x97, 0xc9, 0x2e, 0xf6, 0x20, 0xa5, 0x9f, 0x2a ]};
 
-//extern(System)
-
 interface nsIEventTarget : nsISupports {
 
   static const char[] IID_STR = NS_IEVENTTARGET_IID_STR;
   static const nsIID IID = NS_IEVENTTARGET_IID;
 
+extern(System):
   nsresult PostEvent(PLEvent * aEvent);
   nsresult IsOnCurrentThread(PRBool *_retval);
 }
--- a/dwt/internal/mozilla/nsIFactory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIFactory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0x00000001, 0x0000, 0x0000, 
     [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ]};
 
-//extern(System)
-
 interface nsIFactory : nsISupports {
 
   static const char[] IID_STR = NS_IFACTORY_IID_STR;
   static const nsIID IID = NS_IFACTORY_IID;
 
+extern(System):
   nsresult CreateInstance(nsISupports aOuter, nsIID * iid, void * *result);
   nsresult LockFactory(PRBool lock);
 }
\ No newline at end of file
--- a/dwt/internal/mozilla/nsIFile.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIFile.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,8 +12,6 @@
   {0xc8c0a080, 0x0868, 0x11d3, 
     [ 0x91, 0x5f, 0xd9, 0xd8, 0x89, 0xd4, 0x8e, 0x3c ]};
 
-//extern(System)
-
 interface nsIFile : nsISupports {
   static const char[] IID_STR = NS_IFILE_IID_STR;
   static const nsIID IID = NS_IFILE_IID;
@@ -21,6 +19,7 @@
   enum { NORMAL_FILE_TYPE = 0U };
   enum { DIRECTORY_TYPE = 1U };
 
+extern(System):
   nsresult Append(nsAString * node);
   nsresult AppendNative(nsACString * node);
   nsresult Normalize();
--- a/dwt/internal/mozilla/nsIFilePicker.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIFilePicker.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,8 +15,6 @@
   {0xc47de916, 0x1dd1, 0x11b2, 
     [ 0x81, 0x41, 0x82, 0x50, 0x7f, 0xa0, 0x2b, 0x21 ]};
 
-//extern(System)
-
 interface nsIFilePicker : nsISupports {
 
   static const char[] IID_STR = NS_IFILEPICKER_IID_STR;
@@ -37,6 +35,7 @@
   enum { filterXUL = 32 };
   enum { filterApps = 64 };
 
+extern(System):
   nsresult Init(nsIDOMWindow parent, nsAString * title, PRInt16 mode);
   nsresult AppendFilters(PRInt32 filterMask);
   nsresult AppendFilter(nsAString * title, nsAString * filter);
--- a/dwt/internal/mozilla/nsIFilePicker_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIFilePicker_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -36,6 +36,7 @@
   enum { filterXUL = 32 };
   enum { filterApps = 64 };
 
+extern(System):
   nsresult Init(nsIDOMWindow parent, nsAString * title, PRInt16 mode);
   nsresult AppendFilters(PRInt32 filterMask);
   nsresult AppendFilter(nsAString * title, nsAString * filter);
--- a/dwt/internal/mozilla/nsIFileURL.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIFileURL.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0xd26b2e2e, 0x1dd1, 0x11b2, 
     [ 0x88, 0xf3, 0x85, 0x45, 0xa7, 0xba, 0x79, 0x49 ]};
 
-//extern(System)
-
 interface nsIFileURL : nsIURL {
 
   static const char[] IID_STR = NS_IFILEURL_IID_STR;
   static const nsIID IID = NS_IFILEURL_IID;
 
+extern(System):
   nsresult GetFile(nsIFile  *aFile);
   nsresult SetFile(nsIFile  aFile);
 
--- a/dwt/internal/mozilla/nsIHelperAppLauncher.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIHelperAppLauncher.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0x9503d0fe, 0x4c9d, 0x11d4, 
     [ 0x98, 0xd0, 0x00, 0x10, 0x83, 0x01, 0x0e, 0x9b ]};
 
-//extern(System)
-
 interface nsIHelperAppLauncher : nsISupports {
 
   static const char[] IID_STR = NS_IHELPERAPPLAUNCHER_IID_STR;
   static const nsIID IID = NS_IHELPERAPPLAUNCHER_IID;
 
+extern(System):
   nsresult GetMIMEInfo(nsIMIMEInfo  *aMIMEInfo);
   nsresult GetSource(nsIURI  *aSource);
   nsresult GetSuggestedFileName(nsAString * aSuggestedFileName);
--- a/dwt/internal/mozilla/nsIHelperAppLauncherDialog.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIHelperAppLauncherDialog.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,8 +12,6 @@
   {0x64355793, 0x988d, 0x40a5, 
     [ 0xba, 0x8e, 0xfc, 0xde, 0x78, 0xca, 0xc6, 0x31 ]};
 
-//extern(System)
-
 interface nsIHelperAppLauncherDialog : nsISupports {
 
   static const char[] IID_STR = NS_IHELPERAPPLAUNCHERDIALOG_IID_STR;
@@ -23,6 +21,7 @@
   enum { REASON_SERVERREQUEST = 1U };
   enum { REASON_TYPESNIFFED = 2U };
 
+extern(System):
   nsresult Show(nsIHelperAppLauncher aLauncher, nsISupports aContext, PRUint32 aReason);
   nsresult PromptForSaveToFile(nsIHelperAppLauncher aLauncher, nsISupports aWindowContext, PRUnichar *aDefaultFile, PRUnichar *aSuggestedFileExtension, nsILocalFile *_retval);
 
--- a/dwt/internal/mozilla/nsIHelperAppLauncher_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIHelperAppLauncher_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0x99a0882d, 0x2ff9, 0x4659, 
     [ 0x99, 0x52, 0x9a, 0xc5, 0x31, 0xba, 0x55, 0x92 ]};
 
-//extern(System)
-
 interface nsIHelperAppLauncher_1_8 : nsICancelable {
 
   static const char[] IID_STR = NS_IHELPERAPPLAUNCHER_1_8_IID_STR;
   static const nsIID IID = NS_IHELPERAPPLAUNCHER_1_8_IID;
 
+extern(System):
   nsresult GetMIMEInfo(nsIMIMEInfo  *aMIMEInfo);
   nsresult GetSource(nsIURI  *aSource);
   nsresult GetSuggestedFileName(nsAString * aSuggestedFileName);
--- a/dwt/internal/mozilla/nsIHelperAppLauncher_1_9.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIHelperAppLauncher_1_9.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0xcc75c21a, 0x0a79, 0x4f68, 
     [ 0x90, 0xe1, 0x56, 0x32, 0x53, 0xd0, 0xc5, 0x55 ]};
 
-//extern(System)
-
 interface nsIHelperAppLauncher_1_9 : nsICancelable {
 
   static const char[] IID_STR = NS_IHELPERAPPLAUNCHER_1_9_IID_STR;
   static const nsIID IID = NS_IHELPERAPPLAUNCHER_1_9_IID;
 
+extern(System):
   nsresult GetMIMEInfo(nsIMIMEInfo  *aMIMEInfo);
   nsresult GetSource(nsIURI *aSource);
   nsresult GetSuggestedFileName(nsAString * aSuggestedFileName);
--- a/dwt/internal/mozilla/nsIHistoryEntry.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIHistoryEntry.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xa41661d4, 0x1417, 0x11d5, 
     [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]};
 
-//extern(System)
-
 interface nsIHistoryEntry : nsISupports {
 
   static const char[] IID_STR = NS_IHISTORYENTRY_IID_STR;
   static const nsIID IID = NS_IHISTORYENTRY_IID;
 
+extern(System):
   nsresult GetURI(nsIURI  *aURI);
   nsresult GetTitle(PRUnichar * *aTitle);
   nsresult GetIsSubFrame(PRBool *aIsSubFrame);
--- a/dwt/internal/mozilla/nsIIOService.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIIOService.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0xbddeda3f, 0x9020, 0x4d12, 
     [ 0x8c, 0x70, 0x98, 0x4e, 0xe9, 0xf7, 0x93, 0x5e ]};
 
-//extern(System)
-
 interface nsIIOService : nsISupports {
 
   static const char[] IID_STR = NS_IIOSERVICE_IID_STR;
   static const nsIID IID = NS_IIOSERVICE_IID;
 
+extern(System):
   nsresult GetProtocolHandler(char *aScheme, nsIProtocolHandler *_retval);
   nsresult GetProtocolFlags(char *aScheme, PRUint32 *_retval);
   nsresult NewURI(nsACString * aSpec, char *aOriginCharset, nsIURI aBaseURI, nsIURI *_retval);
--- a/dwt/internal/mozilla/nsIIOService2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIIOService2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xd44fe6d4, 0xee35, 0x4789, 
     [ 0x88, 0x6a, 0xeb, 0x8f, 0x05, 0x54, 0xd0, 0x4e ]};
 
-//extern(System)
-
 interface nsIIOService2 : nsIIOService {
 
   static const char[] IID_STR = NS_IIOSERVICE2_IID_STR;
   static const nsIID IID = NS_IIOSERVICE2_IID;
 
+extern(System):
   nsresult GetManageOfflineStatus(PRBool *aManageOfflineStatus);
   nsresult SetManageOfflineStatus(PRBool aManageOfflineStatus);
 
--- a/dwt/internal/mozilla/nsIInputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIInputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0xfa9c7f6c, 0x61b3, 0x11d4, 
     [ 0x98, 0x77, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a ]};
 
-//extern(System)
-
 interface nsIInputStream : nsISupports {
 
   static const char[] IID_STR = NS_IINPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IINPUTSTREAM_IID;
 
+extern(System):
   nsresult Close();
   nsresult Available(PRUint32 *_retval);
   nsresult Read(byte * aBuf, PRUint32 aCount, PRUint32 *_retval);
--- a/dwt/internal/mozilla/nsIInterfaceRequestor.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIInterfaceRequestor.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0x033a1470, 0x8b2a, 0x11d3, 
     [ 0xaf, 0x88, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIInterfaceRequestor : nsISupports {
 
   static const char[] IID_STR = NS_IINTERFACEREQUESTOR_IID_STR;
   static const nsIID IID = NS_IINTERFACEREQUESTOR_IID;
 
+extern(System):
   nsresult GetInterface(nsIID * uuid, void * *result);
 
 }
--- a/dwt/internal/mozilla/nsIJSContextStack.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIJSContextStack.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xc67d8270, 0x3189, 0x11d3, 
     [ 0x98, 0x85, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 ]};
 
-//extern(System)
-
 interface nsIJSContextStack : nsISupports {
 
   static const char[] IID_STR = NS_IJSCONTEXTSTACK_IID_STR;
   static const nsIID IID = NS_IJSCONTEXTSTACK_IID;
 
+extern(System):
   nsresult GetCount(PRInt32 *aCount);
   nsresult Peek(JSContext * *_retval);
   nsresult Pop(JSContext * *_retval);
@@ -38,13 +37,12 @@
   {0xc7e6b7aa, 0xfc12, 0x4ca7, 
     [ 0xb1, 0x40, 0x98, 0xc3, 0x8b, 0x69, 0x89, 0x61 ]};
 
-//extern(System)
-
 interface nsIJSContextStackIterator : nsISupports {
 
   static const char[] IID_STR = NS_IJSCONTEXTSTACKITERATOR_IID_STR;
   static const nsIID IID = NS_IJSCONTEXTSTACKITERATOR_IID;
 
+extern(System):
   nsresult Reset(nsIJSContextStack stack);
   nsresult Done(PRBool *_retval);
   nsresult Prev(JSContext * *_retval);
@@ -61,13 +59,12 @@
   {0xa1339ae0, 0x05c1, 0x11d4, 
     [ 0x8f, 0x92, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a ]};
 
-//extern(System)
-
 interface nsIThreadJSContextStack : nsIJSContextStack {
 
   static const char[] IID_STR = NS_ITHREADJSCONTEXTSTACK_IID_STR;
   static const nsIID IID = NS_ITHREADJSCONTEXTSTACK_IID;
 
+extern(System):
   nsresult GetSafeJSContext(JSContext * *aSafeJSContext);
   nsresult SetSafeJSContext(JSContext * aSafeJSContext);
 
--- a/dwt/internal/mozilla/nsILoadGroup.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsILoadGroup.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0x3de0a31c, 0xfeaf, 0x400f, 
     [ 0x9f, 0x1e, 0x4e, 0xf7, 0x1f, 0x8b, 0x20, 0xcc ]};
 
-//extern(System)
-
 interface nsILoadGroup : nsIRequest {
 
   static const char[] IID_STR = NS_ILOADGROUP_IID_STR;
   static const nsIID IID = NS_ILOADGROUP_IID;
 
+extern(System):
   nsresult GetGroupObserver(nsIRequestObserver  *aGroupObserver);
   nsresult SetGroupObserver(nsIRequestObserver  aGroupObserver);
   nsresult GetDefaultLoadRequest(nsIRequest  *aDefaultLoadRequest);
--- a/dwt/internal/mozilla/nsILocalFile.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsILocalFile.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0xaa610f20, 0xa889, 0x11d3, 
     [ 0x8c, 0x81, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]};
 
-//extern(System)
-
 interface nsILocalFile : nsIFile {
 
     static const char[] IID_STR = NS_ILOCALFILE_IID_STR;
     static const nsIID IID = NS_ILOCALFILE_IID;
 
+extern(System):
     nsresult InitWithPath(nsAString * filePath);
     nsresult InitWithNativePath(nsACString * filePath);
     nsresult InitWithFile(nsILocalFile aFile);
--- a/dwt/internal/mozilla/nsIMIMEInfo.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIMIMEInfo.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0x1448b42f, 0xcf0d, 0x466e, 
     [ 0x9a, 0x15, 0x64, 0xe8, 0x76, 0xeb, 0xe8, 0x57 ]};
 
-//extern(System)
-
 interface nsIMIMEInfo : nsISupports {
 
   static const char[] IID_STR = NS_IMIMEINFO_IID_STR;
   static const nsIID IID = NS_IMIMEINFO_IID;
 
+extern(System):
   nsresult GetFileExtensions(nsIUTF8StringEnumerator *_retval);
   nsresult SetFileExtensions(nsACString * aExtensions);
   nsresult ExtensionExists(nsACString * aExtension, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIMemory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIMemory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,11 +10,11 @@
   {0x59e7e77a, 0x38e4, 0x11d4, 
     [ 0x8c, 0xf5, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]};
 
-//extern(System)
 interface nsIMemory : nsISupports {
   static const char[] IID_STR = NS_IMEMORY_IID_STR;
   static const nsIID IID = NS_IMEMORY_IID;
   
+extern(System):
   void *    Alloc(size_t size);
   void *    Realloc(void * ptr, size_t newSize);
   void      Free(void * ptr);
--- a/dwt/internal/mozilla/nsIModule.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIModule.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,11 +12,11 @@
   {0x7392d032, 0x5371, 0x11d3, 
     [ 0x99, 0x4e, 0x00, 0x80, 0x5f, 0xd2, 0x6f, 0xee ]};
 
-//extern(System)
 interface nsIModule : nsISupports {
   static const char[] IID_STR = NS_IMODULE_IID_STR;
   static const nsIID IID = NS_IMODULE_IID;
 
+extern(System):
   nsresult GetClassObject(nsIComponentManager aCompMgr, nsCID * aClass, nsIID * aIID, void * *aResult);
   nsresult RegisterSelf(nsIComponentManager aCompMgr, nsIFile aLocation, char *aLoaderStr, char *aType);
   nsresult UnregisterSelf(nsIComponentManager aCompMgr, nsIFile aLocation, char *aLoaderStr);
--- a/dwt/internal/mozilla/nsIObjectInputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIObjectInputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x6c248606, 0x4eae, 0x46fa, 
     [ 0x9d, 0xf0, 0xba, 0x58, 0x50, 0x23, 0x68, 0xeb ]};
 
-//extern(System)
-
 interface nsIObjectInputStream : nsIBinaryInputStream {
 
   static const char[] IID_STR = NS_IOBJECTINPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IOBJECTINPUTSTREAM_IID;
 
+extern(System):
   nsresult ReadObject(PRBool aIsStrongRef, nsISupports *_retval);
   nsresult ReadID(nsID *aID);
   char * GetBuffer(PRUint32 aLength, PRUint32 aAlignMask);
--- a/dwt/internal/mozilla/nsIObjectOutputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIObjectOutputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x92c898ac, 0x5fde, 0x4b99, 
     [ 0x87, 0xb3, 0x5d, 0x48, 0x64, 0x22, 0x09, 0x4b ]};
 
-//extern(System)
-
 interface nsIObjectOutputStream : nsIBinaryOutputStream {
 
   static const char[] IID_STR = NS_IOBJECTOUTPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IOBJECTOUTPUTSTREAM_IID;
 
+extern(System):
   nsresult WriteObject(nsISupports aObject, PRBool aIsStrongRef);
   nsresult WriteSingleRefObject(nsISupports aObject);
   nsresult WriteCompoundObject(nsISupports aObject, nsIID * aIID, PRBool aIsStrongRef);
--- a/dwt/internal/mozilla/nsIObserver.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIObserver.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xdb242e01, 0xe4d9, 0x11d2, 
     [ 0x9d, 0xde, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]};
 
-//extern(System)
-
 interface nsIObserver : nsISupports {
 
   static const char[] IID_STR = NS_IOBSERVER_IID_STR;
   static const nsIID IID = NS_IOBSERVER_IID;
 
+extern(System):
   nsresult Observe(nsISupports aSubject, char *aTopic, PRUnichar *aData);
 
 }
--- a/dwt/internal/mozilla/nsIObserverService.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIObserverService.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xd07f5192, 0xe3d1, 0x11d2, 
     [ 0x8a, 0xcd, 0x00, 0x10, 0x5a, 0x1b, 0x88, 0x60 ]};
 
-//extern(System)
-
 interface nsIObserverService : nsISupports {
 
   static const char[] IID_STR = NS_IOBSERVERSERVICE_IID_STR;
   static const nsIID IID = NS_IOBSERVERSERVICE_IID;
 
+extern(System):
   nsresult AddObserver(nsIObserver anObserver, char *aTopic, PRBool ownsWeak);
   nsresult RemoveObserver(nsIObserver anObserver, char *aTopic);
   nsresult NotifyObservers(nsISupports aSubject, char *aTopic, PRUnichar *someData);
--- a/dwt/internal/mozilla/nsIOutputStream.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIOutputStream.d	Fri Oct 31 21:46:44 2008 -0700
@@ -19,13 +19,12 @@
   {0x0d0acd2a, 0x61b4, 0x11d4, 
     [ 0x98, 0x77, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a ]};
 
-//extern(System)
-
 interface nsIOutputStream : nsISupports {
 
   static const char[] IID_STR = NS_IOUTPUTSTREAM_IID_STR;
   static const nsIID IID = NS_IOUTPUTSTREAM_IID;
 
+extern(System):
   nsresult Close();
   nsresult Flush();
   nsresult Write(char *aBuf, PRUint32 aCount, PRUint32 *_retval);
--- a/dwt/internal/mozilla/nsIPrefBranch.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPrefBranch.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,8 +10,6 @@
   {0x56c35506, 0xf14b, 0x11d3, 
     [ 0x99, 0xd3, 0xdd, 0xbf, 0xac, 0x2c, 0xcf, 0x65 ]};
 
-//extern(System)
-
 interface nsIPrefBranch : nsISupports {
 
   static const char[] IID_STR = NS_IPREFBRANCH_IID_STR;
@@ -22,6 +20,7 @@
   enum { PREF_INT = 64 };
   enum { PREF_BOOL = 128 };
 
+extern(System):
   nsresult GetRoot(char * *aRoot);
   nsresult GetPrefType(char *aPrefName, PRInt32 *_retval);
   nsresult GetBoolPref(char *aPrefName, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIPrefBranch2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPrefBranch2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x74567534, 0xeb94, 0x4b1c, 
     [ 0x8f, 0x45, 0x38, 0x96, 0x43, 0xbf, 0xc5, 0x55 ]};
 
-//extern(System)
-
 interface nsIPrefBranch2 : nsIPrefBranch {
 
   static const char[] IID_STR = NS_IPREFBRANCH2_IID_STR;
   static const nsIID IID = NS_IPREFBRANCH2_IID;
 
+extern(System):
   nsresult AddObserver(char *aDomain, nsIObserver aObserver, PRBool aHoldWeak);
   nsresult RemoveObserver(char *aDomain, nsIObserver aObserver);
 
--- a/dwt/internal/mozilla/nsIPrefLocalizedString.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPrefLocalizedString.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xae419e24, 0x1dd1, 0x11b2, 
     [ 0xb3, 0x9a, 0xd3, 0xe5, 0xe7, 0x07, 0x38, 0x02 ]};
 
-//extern(System)
-
 interface nsIPrefLocalizedString : nsISupports {
 
   static const char[] IID_STR = NS_IPREFLOCALIZEDSTRING_IID_STR;
   static const nsIID IID = NS_IPREFLOCALIZEDSTRING_IID;
 
+extern(System):
   nsresult GetData(PRUnichar * *aData);
   nsresult SetData(PRUnichar * aData);
   nsresult ToString(PRUnichar **_retval);
--- a/dwt/internal/mozilla/nsIPrefService.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPrefService.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xdecb9cc7, 0xc08f, 0x4ea5, 
     [ 0xbe, 0x91, 0xa8, 0xfc, 0x63, 0x7c, 0xe2, 0xd2 ]};
 
-//extern(System)
-
 interface nsIPrefService : nsISupports {
 
   static const char[] IID_STR = NS_IPREFSERVICE_IID_STR;
   static const nsIID IID = NS_IPREFSERVICE_IID;
 
+extern(System):
   nsresult ReadUserPrefs(nsIFile aFile);
   nsresult ResetPrefs();
   nsresult ResetUserPrefs();
--- a/dwt/internal/mozilla/nsIProgressDialog.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIProgressDialog.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x88a478b3, 0xaf65, 0x440a, 
     [ 0x94, 0xdc, 0xed, 0x9b, 0x15, 0x4d, 0x29, 0x90 ]};
 
-//extern(System)
-
 interface nsIProgressDialog : nsIDownload {
 
   static const char[] IID_STR = NS_IPROGRESSDIALOG_IID_STR;
   static const nsIID IID = NS_IPROGRESSDIALOG_IID;
 
+extern(System):
   nsresult Open(nsIDOMWindow aParent);
   nsresult GetCancelDownloadOnClose(PRBool *aCancelDownloadOnClose);
   nsresult SetCancelDownloadOnClose(PRBool aCancelDownloadOnClose);
--- a/dwt/internal/mozilla/nsIProgressDialog_1_8.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIProgressDialog_1_8.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x20e790a2, 0x76c6, 0x462d, 
     [ 0x85, 0x1a, 0x22, 0xab, 0x6c, 0xbb, 0xe4, 0x8b ]};
 
-//extern(System)
-
 interface nsIProgressDialog_1_8 : nsIDownload_1_8 {
 
   static const char[] IID_STR = NS_IPROGRESSDIALOG_IID_STR;
   static const nsIID IID = NS_IPROGRESSDIALOG_IID;
 
+extern(System):
   nsresult Open(nsIDOMWindow aParent);
   nsresult GetCancelDownloadOnClose(PRBool *aCancelDownloadOnClose);
   nsresult SetCancelDownloadOnClose(PRBool aCancelDownloadOnClose);
--- a/dwt/internal/mozilla/nsIPrompt.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPrompt.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xa63f70c0, 0x148b, 0x11d3, 
     [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIPrompt : nsISupports {
 
   static const char[] IID_STR = NS_IPROMPT_IID_STR;
   static const nsIID IID = NS_IPROMPT_IID;
 
+extern(System):
   nsresult Alert(PRUnichar *dialogTitle, PRUnichar *text);
   nsresult AlertCheck(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *checkMsg, PRBool *checkValue);
   nsresult Confirm(PRUnichar *dialogTitle, PRUnichar *text, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIPromptService.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPromptService.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x1630c61a, 0x325e, 0x49ca, 
     [ 0x87, 0x59, 0xa3, 0x1b, 0x16, 0xc4, 0x7a, 0xa5 ]};
 
-//extern(System)
-
 interface nsIPromptService : nsISupports {
 
   static const char[] IID_STR = NS_IPROMPTSERVICE_IID_STR;
   static const nsIID IID = NS_IPROMPTSERVICE_IID;
 
+extern(System):
   nsresult Alert(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText);
   nsresult AlertCheck(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar *aCheckMsg, PRBool *aCheckState);
   nsresult Confirm(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIPromptService2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIPromptService2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -17,13 +17,12 @@
   {0xcf86d196, 0xdbee, 0x4482, 
     [ 0x9d, 0xfa, 0x34, 0x77, 0xaa, 0x12, 0x83, 0x19 ]};
 
-//extern(System)
-
 interface nsIPromptService2 : nsIPromptService {
 
   static const char[] IID_STR = NS_IPROMPTSERVICE2_IID_STR;
   static const nsIID IID = NS_IPROMPTSERVICE2_IID;
 
+extern(System):
     public nsresult PromptAuth(nsIDOMWindow aParent, nsIChannel aChannel, PRUint32 level, nsIAuthInformation authInfo, PRUnichar* checkboxLabel, PRBool* checkValue, PRBool* _retval);
 
     public nsresult AsyncPromptAuth(nsIDOMWindow aParent, nsIChannel aChannel, nsIAuthPromptCallback aCallback, nsISupports aContext, PRUint32 level, nsIAuthInformation authInfo, PRUnichar* checkboxLabel, PRBool* checkValue, nsICancelable* _retval);
--- a/dwt/internal/mozilla/nsIProperties.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIProperties.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0x78650582, 0x4e93, 0x4b60, 
     [ 0x8e, 0x85, 0x26, 0xeb, 0xd3, 0xeb, 0x14, 0xca ]};
 
-//extern(System)
-
 interface nsIProperties : nsISupports {
 
   static const char[] IID_STR = NS_IPROPERTIES_IID_STR;
   static const nsIID IID = NS_IPROPERTIES_IID;
 
+extern(System):
   nsresult Get(char *prop, nsIID * iid, void * *result);
   nsresult Set(char *prop, nsISupports value);
   nsresult Has(char *prop, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIProtocolHandler.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIProtocolHandler.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x15fd6940, 0x8ea7, 0x11d3, 
     [ 0x93, 0xad, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIProtocolHandler : nsISupports {
 
   static const char[] IID_STR = NS_IPROTOCOLHANDLER_IID_STR;
   static const nsIID IID = NS_IPROTOCOLHANDLER_IID;
 
+extern(System):
   nsresult GetScheme(nsACString * aScheme);
   nsresult GetDefaultPort(PRInt32 *aDefaultPort);
   nsresult GetProtocolFlags(PRUint32 *aProtocolFlags);
--- a/dwt/internal/mozilla/nsIRequest.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIRequest.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0xef6bfbd2, 0xfd46, 0x48d8, 
     [ 0x96, 0xb7, 0x9f, 0x8f, 0x0f, 0xd3, 0x87, 0xfe ]};
 
-//extern(System)
-
 interface nsIRequest : nsISupports {
 
   static const char[] IID_STR = NS_IREQUEST_IID_STR;
   static const nsIID IID = NS_IREQUEST_IID;
 
+extern(System):
   nsresult GetName(nsACString * aName);
   nsresult IsPending(PRBool *_retval);
   nsresult GetStatus(nsresult *aStatus);
--- a/dwt/internal/mozilla/nsIRequestObserver.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIRequestObserver.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xfd91e2e0, 0x1481, 0x11d3, 
     [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIRequestObserver : nsISupports {
 
   static const char[] IID_STR = NS_IREQUESTOBSERVER_IID_STR;
   static const nsIID IID = NS_IREQUESTOBSERVER_IID;
 
+extern(System):
   nsresult OnStartRequest(nsIRequest aRequest, nsISupports aContext);
   nsresult OnStopRequest(nsIRequest aRequest, nsISupports aContext, nsresult aStatusCode);
 
--- a/dwt/internal/mozilla/nsISHEntry.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISHEntry.d	Fri Oct 31 21:46:44 2008 -0700
@@ -18,13 +18,12 @@
   {0x542a98b9, 0x2889, 0x4922, 
     [ 0xaa, 0xf4, 0x02, 0xb6, 0x05, 0x6f, 0x41, 0x36 ]};
 
-//extern(System)
-
 interface nsISHEntry : nsIHistoryEntry {
 
   static const char[] IID_STR = NS_ISHENTRY_IID_STR;
   static const nsIID IID = NS_ISHENTRY_IID;
 
+extern(System):
   nsresult SetURI(nsIURI aURI);
   nsresult GetReferrerURI(nsIURI  *aReferrerURI);
   nsresult SetReferrerURI(nsIURI  aReferrerURI);
--- a/dwt/internal/mozilla/nsISHistory.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISHistory.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x7294fe9b, 0x14d8, 0x11d5, 
     [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]};
 
-//extern(System)
-
 interface nsISHistory : nsISupports {
 
   static const char[] IID_STR = NS_ISHISTORY_IID_STR;
   static const nsIID IID = NS_ISHISTORY_IID;
 
+extern(System):
   nsresult GetCount(PRInt32 *aCount);
   nsresult GetIndex(PRInt32 *aIndex);
   nsresult GetMaxLength(PRInt32 *aMaxLength);
--- a/dwt/internal/mozilla/nsISHistoryListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISHistoryListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x3b07f591, 0xe8e1, 0x11d4, 
     [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]};
 
-//extern(System)
-
 interface nsISHistoryListener : nsISupports {
 
   static const char[] IID_STR = NS_ISHISTORYLISTENER_IID_STR;
   static const nsIID IID = NS_ISHISTORYLISTENER_IID;
 
+extern(System):
   nsresult OnHistoryNewEntry(nsIURI aNewURI);
   nsresult OnHistoryGoBack(nsIURI aBackURI, PRBool *_retval);
   nsresult OnHistoryGoForward(nsIURI aForwardURI, PRBool *_retval);
--- a/dwt/internal/mozilla/nsISecureBrowserUI.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISecureBrowserUI.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x081e31e0, 0xa144, 0x11d3, 
     [ 0x8c, 0x7c, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]};
 
-//extern(System)
-
 interface nsISecureBrowserUI : nsISupports {
 
   static const char[] IID_STR = NS_ISECUREBROWSERUI_IID_STR;
   static const nsIID IID = NS_ISECUREBROWSERUI_IID;
 
+extern(System):
   nsresult Init(nsIDOMWindow window);
   nsresult GetState(PRUint32 *aState);
   nsresult GetTooltipText(nsAString * aTooltipText);
--- a/dwt/internal/mozilla/nsISelection.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISelection.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0xb2c7ed59, 0x8634, 0x4352, 
     [ 0x9e, 0x37, 0x54, 0x84, 0xc8, 0xb6, 0xe4, 0xe1 ]};
 
-//extern(System)
-
 interface nsISelection : nsISupports {
 
   static const char[] IID_STR = NS_ISELECTION_IID_STR;
   static const nsIID IID = NS_ISELECTION_IID;
 
+extern(System):
   nsresult GetAnchorNode(nsIDOMNode  *aAnchorNode);
   nsresult GetAnchorOffset(PRInt32 *aAnchorOffset);
   nsresult GetFocusNode(nsIDOMNode  *aFocusNode);
--- a/dwt/internal/mozilla/nsISerializable.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISerializable.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x91cca981, 0xc26d, 0x44a8, 
     [ 0xbe, 0xbe, 0xd9, 0xed, 0x48, 0x91, 0x50, 0x3a ]};
 
-//extern(System)
-
 interface nsISerializable : nsISupports {
 
   static const char[] IID_STR = NS_ISERIALIZABLE_IID_STR;
   static const nsIID IID = NS_ISERIALIZABLE_IID;
 
+extern(System):
   nsresult Read(nsIObjectInputStream aInputStream);
   nsresult Write(nsIObjectOutputStream aOutputStream);
 
--- a/dwt/internal/mozilla/nsIServiceManager.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIServiceManager.d	Fri Oct 31 21:46:44 2008 -0700
@@ -9,13 +9,12 @@
   {0x8bb35ed9, 0xe332, 0x462d, 
     [ 0x91, 0x55, 0x4a, 0x00, 0x2a, 0xb5, 0xc9, 0x58 ]};
 
-//extern(System)
-
 interface nsIServiceManager : nsISupports {
 
   static const char[] IID_STR = NS_ISERVICEMANAGER_IID_STR;
   static const nsIID IID = NS_ISERVICEMANAGER_IID;
 
+extern(System):
   nsresult GetService(nsCID * aClass, nsIID * aIID, void * *result);
   nsresult GetServiceByContractID(char *aContractID, nsIID * aIID, void * *result);
   nsresult IsServiceInstantiated(nsCID * aClass, nsIID * aIID, PRBool *_retval);
--- a/dwt/internal/mozilla/nsISimpleEnumerator.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISimpleEnumerator.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xd1899240, 0xf9d2, 0x11d2, 
     [ 0xbd, 0xd6, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]};
 
-//extern(System)
-
 interface nsISimpleEnumerator : nsISupports {
 
   static const char[] IID_STR = NS_ISIMPLEENUMERATOR_IID_STR;
   static const nsIID IID = NS_ISIMPLEENUMERATOR_IID;
 
+extern(System):
   nsresult HasMoreElements(PRBool *_retval);
   nsresult GetNext(nsISupports *_retval);
 
--- a/dwt/internal/mozilla/nsIStreamListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIStreamListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x1a637020, 0x1482, 0x11d3, 
     [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIStreamListener : nsIRequestObserver {
 
   static const char[] IID_STR = NS_ISTREAMLISTENER_IID_STR;
   static const nsIID IID = NS_ISTREAMLISTENER_IID;
 
+extern(System):
   nsresult OnDataAvailable(nsIRequest aRequest, nsISupports aContext, nsIInputStream aInputStream, PRUint32 aOffset, PRUint32 aCount);
 
 }
--- a/dwt/internal/mozilla/nsIStringEnumerator.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIStringEnumerator.d	Fri Oct 31 21:46:44 2008 -0700
@@ -16,13 +16,12 @@
   {0x50d3ef6c, 0x9380, 0x4f06, 
     [ 0x9f, 0xb2, 0x95, 0x48, 0x8f, 0x7d, 0x14, 0x1c ]};
 
-//extern(System)
-
 interface nsIStringEnumerator : nsISupports {
 
   static const char[] IID_STR = NS_ISTRINGENUMERATOR_IID_STR;
   static const nsIID IID = NS_ISTRINGENUMERATOR_IID;
 
+extern(System):
   nsresult HasMore(PRBool *_retval);
   nsresult GetNext(nsAString * _retval);
 
@@ -38,13 +37,12 @@
   {0x9bdf1010, 0x3695, 0x4907, 
     [ 0x95, 0xed, 0x83, 0xd0, 0x41, 0x0e, 0xc3, 0x07 ]};
 
-//extern(System)
-
 interface nsIUTF8StringEnumerator : nsISupports {
 
   static const char[] IID_STR = NS_IUTF8STRINGENUMERATOR_IID_STR;
   static const nsIID IID = NS_IUTF8STRINGENUMERATOR_IID;
 
+extern(System):
   nsresult HasMore(PRBool *_retval);
   nsresult GetNext(nsACString * _retval);
 
--- a/dwt/internal/mozilla/nsISupports.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISupports.d	Fri Oct 31 21:46:44 2008 -0700
@@ -9,13 +9,12 @@
         { 0x00000000, 0x0000, 0x0000, 
           [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] };
 
-//extern(System) 
-
-interface nsISupports 
+interface IUnknown
 {
     static const char[] IID_STR = NS_ISUPPORTS_IID_STR;
     static const nsIID IID = NS_ISUPPORTS_IID;
 
+extern(System):
     nsresult QueryInterface( nsIID* uuid, void **result);
 
     nsrefcnt AddRef();
@@ -28,4 +27,4 @@
 // compatible with MS COM.  XPCOM's nsISupports interface is the exact equivalent
 // of IUnknown so we alias it here to take advantage of D's COM support. -JJR
 
-//alias IUnknown nsISupports;
\ No newline at end of file
+alias IUnknown nsISupports;
\ No newline at end of file
--- a/dwt/internal/mozilla/nsISupportsArray.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsISupportsArray.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x791eafa0, 0xb9e6, 0x11d1, 
     [ 0x80, 0x31, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a ]};
 
-//extern(System)
-
 interface nsISupportsArray : nsICollection {
 
   static const char[] IID_STR = NS_ISUPPORTSARRAY_IID_STR;
   static const nsIID IID = NS_ISUPPORTSARRAY_IID;
 
+extern(System):
   PRBool Equals(nsISupportsArray other);
   nsISupports  ElementAt(PRUint32 aIndex);
   PRInt32 IndexOf(nsISupports aPossibleElement);
--- a/dwt/internal/mozilla/nsITooltipListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsITooltipListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0x44b78386, 0x1dd2, 0x11b2, 
     [ 0x9a, 0xd2, 0xe4, 0xee, 0xe2, 0xca, 0x19, 0x16 ]};
 
-//extern(System)
-
 interface nsITooltipListener : nsISupports {
 
   static const char[] IID_STR = NS_ITOOLTIPLISTENER_IID_STR;
   static const nsIID IID = NS_ITOOLTIPLISTENER_IID;
 
+extern(System):
   nsresult OnShowTooltip(PRInt32 aXCoords, PRInt32 aYCoords, PRUnichar *aTipText);
   nsresult OnHideTooltip();
 
--- a/dwt/internal/mozilla/nsITraceRefcnt.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsITraceRefcnt.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,11 +10,11 @@
   {0x273dc92f, 0x0fe6, 0x4545, 
     [ 0x96, 0xa9, 0x21, 0xbe, 0x77, 0x82, 0x80, 0x39 ]};
 
-//extern(System)
 interface nsITraceRefcnt : nsISupports {
   static const char[] IID_STR = NS_ITRACEREFCNT_IID_STR;
   static const nsIID IID = NS_ITRACEREFCNT_IID;
 
+extern(System):
   nsresult LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, char *aTypeName, PRUint32 aInstanceSize);
   nsresult LogRelease(void * aPtr, nsrefcnt aNewRefcnt, char *aTypeName);
   nsresult LogCtor(void * aPtr, char *aTypeName, PRUint32 aInstanceSize);
--- a/dwt/internal/mozilla/nsITransfer.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsITransfer.d	Fri Oct 31 21:46:44 2008 -0700
@@ -19,13 +19,12 @@
   {0x23c51569, 0xe9a1, 0x4a92, 
     [ 0xad, 0xeb, 0x37, 0x23, 0xdb, 0x82, 0xef, 0x7c ]};
 
-//extern(System)
-
 interface nsITransfer : nsIWebProgressListener2 {
 
   static const char[] IID_STR = NS_ITRANSFER_IID_STR;
   static const nsIID IID = NS_ITRANSFER_IID;
 
+extern(System):
   nsresult Init(nsIURI aSource, nsIURI aTarget, nsAString * aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, nsILocalFile aTempFile, nsICancelable aCancelable);
 
 }
--- a/dwt/internal/mozilla/nsIURI.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIURI.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0x07a22cc0, 0x0ce5, 0x11d3, 
     [ 0x93, 0x31, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIURI : nsISupports {
 
   static const char[] IID_STR = NS_IURI_IID_STR;
   static const nsIID IID = NS_IURI_IID;
 
+extern(System):
   nsresult GetSpec(nsACString * aSpec);
   nsresult SetSpec(nsACString * aSpec);
   nsresult GetPrePath(nsACString * aPrePath);
--- a/dwt/internal/mozilla/nsIURIContentListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIURIContentListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x94928ab3, 0x8b63, 0x11d3, 
     [ 0x98, 0x9d, 0x00, 0x10, 0x83, 0x01, 0x0e, 0x9b ]};
 
-//extern(System)
-
 interface nsIURIContentListener : nsISupports {
 
   static const char[] IID_STR = NS_IURICONTENTLISTENER_IID_STR;
   static const nsIID IID = NS_IURICONTENTLISTENER_IID;
 
+extern(System):
   nsresult OnStartURIOpen(nsIURI aURI, PRBool *_retval);
   nsresult DoContent(char *aContentType, PRBool aIsContentPreferred, nsIRequest aRequest, nsIStreamListener *aContentHandler, PRBool *_retval);
   nsresult IsPreferred(char *aContentType, char **aDesiredContentType, PRBool *_retval);
--- a/dwt/internal/mozilla/nsIURL.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIURL.d	Fri Oct 31 21:46:44 2008 -0700
@@ -11,13 +11,12 @@
   {0xd6116970, 0x8034, 0x11d3, 
     [ 0x93, 0x99, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]};
 
-//extern(System)
-
 interface nsIURL : nsIURI {
 
   static const char[] IID_STR = NS_IURL_IID_STR;
   static const nsIID IID = NS_IURL_IID;
 
+extern(System):
   nsresult GetFilePath(nsACString * aFilePath);
   nsresult SetFilePath(nsACString * aFilePath);
   nsresult GetParam(nsACString * aParam);
--- a/dwt/internal/mozilla/nsIWeakReference.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWeakReference.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x9188bc85, 0xf92e, 0x11d2, 
     [ 0x81, 0xef, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]};
 
-//extern(System)
-
 interface nsIWeakReference : nsISupports {
 
   static const char[] IID_STR = NS_IWEAKREFERENCE_IID_STR;
   static const nsIID IID = NS_IWEAKREFERENCE_IID;
 
+extern(System):
   nsresult QueryReferent(nsIID * uuid, void * *result);
 
 }
@@ -35,13 +34,12 @@
   {0x9188bc86, 0xf92e, 0x11d2, 
     [ 0x81, 0xef, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]};
 
-//extern(System)
-
 interface nsISupportsWeakReference : nsISupports {
 
   static const char[] IID_STR = NS_ISUPPORTSWEAKREFERENCE_IID_STR;
   static const nsIID IID = NS_ISUPPORTSWEAKREFERENCE_IID;
 
+extern(System):
   nsresult GetWeakReference(nsIWeakReference *_retval);
 
 }
--- a/dwt/internal/mozilla/nsIWebBrowser.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebBrowser.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0x69e5df00, 0x7b8b, 0x11d3, 
     [ 0xaf, 0x61, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIWebBrowser : nsISupports {
 
   static const char[] IID_STR = NS_IWEBBROWSER_IID_STR;
   static const nsIID IID = NS_IWEBBROWSER_IID;
 
+extern(System):
   nsresult AddWebBrowserListener(nsIWeakReference aListener, nsIID * aIID);
   nsresult RemoveWebBrowserListener(nsIWeakReference aListener, nsIID * aIID);
   nsresult GetContainerWindow(nsIWebBrowserChrome  *aContainerWindow);
--- a/dwt/internal/mozilla/nsIWebBrowserChrome.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebBrowserChrome.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0xba434c60, 0x9d52, 0x11d3, 
     [ 0xaf, 0xb0, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIWebBrowserChrome : nsISupports {
 
   static const char[] IID_STR = NS_IWEBBROWSERCHROME_IID_STR;
   static const nsIID IID = NS_IWEBBROWSERCHROME_IID;
 
+extern(System):
   enum { STATUS_SCRIPT = 1U };
   enum { STATUS_SCRIPT_DEFAULT = 2U };
   enum { STATUS_LINK = 3U };
--- a/dwt/internal/mozilla/nsIWebBrowserChromeFocus.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebBrowserChromeFocus.d	Fri Oct 31 21:46:44 2008 -0700
@@ -10,13 +10,12 @@
   {0xd2206418, 0x1dd1, 0x11b2, 
     [ 0x8e, 0x55, 0xac, 0xdd, 0xcd, 0x2b, 0xcf, 0xb8 ]};
 
-//extern(System)
-
 interface nsIWebBrowserChromeFocus : nsISupports {
 
   static const char[] IID_STR = NS_IWEBBROWSERCHROMEFOCUS_IID_STR;
   static const nsIID IID = NS_IWEBBROWSERCHROMEFOCUS_IID;
 
+extern(System):
   nsresult FocusNextElement();
   nsresult FocusPrevElement();
 
--- a/dwt/internal/mozilla/nsIWebBrowserFocus.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebBrowserFocus.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x9c5d3c58, 0x1dd1, 0x11b2, 
     [ 0xa1, 0xc9, 0xf3, 0x69, 0x92, 0x84, 0x65, 0x7a ]};
 
-//extern(System)
-
 interface nsIWebBrowserFocus : nsISupports {
 
   static const char[] IID_STR = NS_IWEBBROWSERFOCUS_IID_STR;
   static const nsIID IID = NS_IWEBBROWSERFOCUS_IID;
 
+extern(System):
   nsresult Activate();
   nsresult Deactivate();
   nsresult SetFocusAtFirstElement();
--- a/dwt/internal/mozilla/nsIWebNavigation.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebNavigation.d	Fri Oct 31 21:46:44 2008 -0700
@@ -15,13 +15,12 @@
   {0xf5d9e7b0, 0xd930, 0x11d3, 
     [ 0xb0, 0x57, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIWebNavigation : nsISupports {
 
   static const char[] IID_STR = NS_IWEBNAVIGATION_IID_STR;
   static const nsIID IID = NS_IWEBNAVIGATION_IID;
 
+extern(System):
   nsresult GetCanGoBack(PRBool *aCanGoBack);
   nsresult GetCanGoForward(PRBool *aCanGoForward);
   nsresult GoBack();
--- a/dwt/internal/mozilla/nsIWebNavigationInfo.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebNavigationInfo.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x62a93afb, 0x93a1, 0x465c, 
     [ 0x84, 0xc8, 0x04, 0x32, 0x26, 0x42, 0x29, 0xde ]};
 
-//extern(System)
-
 interface nsIWebNavigationInfo : nsISupports {
 
   static const char[] IID_STR = NS_IWEBNAVIGATIONINFO_IID_STR;
   static const nsIID IID = NS_IWEBNAVIGATIONINFO_IID;
 
+extern(System):
   enum { UNSUPPORTED = 0U };
   enum { IMAGE = 1U };
   enum { PLUGIN = 2U };
--- a/dwt/internal/mozilla/nsIWebProgress.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebProgress.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x570f39d0, 0xefd0, 0x11d3, 
     [ 0xb0, 0x93, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIWebProgress : nsISupports {
 
   static const char[] IID_STR = NS_IWEBPROGRESS_IID_STR;
   static const nsIID IID = NS_IWEBPROGRESS_IID;
 
+extern(System):
   enum { NOTIFY_STATE_REQUEST = 1U };
   enum { NOTIFY_STATE_DOCUMENT = 2U };
   enum { NOTIFY_STATE_NETWORK = 4U };
--- a/dwt/internal/mozilla/nsIWebProgressListener.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebProgressListener.d	Fri Oct 31 21:46:44 2008 -0700
@@ -14,13 +14,12 @@
   {0x570f39d1, 0xefd0, 0x11d3, 
     [ 0xb0, 0x93, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]};
 
-//extern(System)
-
 interface nsIWebProgressListener : nsISupports {
 
   static const char[] IID_STR = NS_IWEBPROGRESSLISTENER_IID_STR;
   static const nsIID IID = NS_IWEBPROGRESSLISTENER_IID;
 
+extern(System):
   enum { STATE_START = 1U };
   enum { STATE_REDIRECTING = 2U };
   enum { STATE_TRANSFERRING = 4U };
--- a/dwt/internal/mozilla/nsIWebProgressListener2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWebProgressListener2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0x3f24610d, 0x1e1f, 0x4151, 
     [ 0x9d, 0x2e, 0x23, 0x98, 0x84, 0x74, 0x23, 0x24 ]};
 
-//extern(System)
-
 interface nsIWebProgressListener2 : nsIWebProgressListener {
 
   static const char[] IID_STR = NS_IWEBPROGRESSLISTENER2_IID_STR;
   static const nsIID IID = NS_IWEBPROGRESSLISTENER2_IID;
 
+extern(System):
   nsresult OnProgressChange64(nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt64 aCurSelfProgress, PRInt64 aMaxSelfProgress, PRInt64 aCurTotalProgress, PRInt64 aMaxTotalProgress);
 
 }
--- a/dwt/internal/mozilla/nsIWindowCreator.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWindowCreator.d	Fri Oct 31 21:46:44 2008 -0700
@@ -12,13 +12,12 @@
   {0x30465632, 0xa777, 0x44cc, 
     [ 0x90, 0xf9, 0x81, 0x45, 0x47, 0x5e, 0xf9, 0x99 ]};
 
-//extern(System)
-
 interface nsIWindowCreator : nsISupports {
 
   static const char[] IID_STR = NS_IWINDOWCREATOR_IID_STR;
   static const nsIID IID = NS_IWINDOWCREATOR_IID;
 
+extern(System):
   nsresult CreateChromeWindow(nsIWebBrowserChrome parent, PRUint32 chromeFlags, nsIWebBrowserChrome *_retval);
 
 }
--- a/dwt/internal/mozilla/nsIWindowCreator2.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWindowCreator2.d	Fri Oct 31 21:46:44 2008 -0700
@@ -13,13 +13,12 @@
   {0xf673ec81, 0xa4b0, 0x11d6, 
     [ 0x96, 0x4b, 0xeb, 0x5a, 0x2b, 0xf2, 0x16, 0xfc ]};
 
-//extern(System)
-
 interface nsIWindowCreator2 : nsIWindowCreator {
 
   static const char[] IID_STR = NS_IWINDOWCREATOR2_IID_STR;
   static const nsIID IID = NS_IWINDOWCREATOR2_IID;
 
+extern(System):
   enum { PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 1U };
   nsresult CreateChromeWindow2(nsIWebBrowserChrome parent, PRUint32 chromeFlags, PRUint32 contextFlags, nsIURI uri, PRBool *cancel, nsIWebBrowserChrome *_retval);
 
--- a/dwt/internal/mozilla/nsIWindowWatcher.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsIWindowWatcher.d	Fri Oct 31 21:46:44 2008 -0700
@@ -18,13 +18,12 @@
   {0x002286a8, 0x494b, 0x43b3, 
     [ 0x8d, 0xdd, 0x49, 0xe3, 0xfc, 0x50, 0x62, 0x2b ]};
 
-//extern(System)
-
 interface nsIWindowWatcher : nsISupports {
 
   static const char[] IID_STR = NS_IWINDOWWATCHER_IID_STR;
   static const nsIID IID = NS_IWINDOWWATCHER_IID;
 
+extern(System):
   nsresult OpenWindow(nsIDOMWindow aParent, char *aUrl, char *aName, char *aFeatures, nsISupports aArguments, nsIDOMWindow *_retval);
   nsresult RegisterNotification(nsIObserver aObserver);
   nsresult UnregisterNotification(nsIObserver aObserver);
--- a/dwt/internal/mozilla/nsStringAPI.d	Wed Oct 29 20:12:27 2008 -0700
+++ b/dwt/internal/mozilla/nsStringAPI.d	Fri Oct 31 21:46:44 2008 -0700
@@ -3,7 +3,7 @@
 import Utf = tango.text.convert.Utf;
 import dwt.internal.mozilla.Common;
 
-//extern (System):
+extern (System):
 
 /******************************************************************************
 
@@ -95,7 +95,7 @@
         return Utf.toString( nsAString.toString16( str ) );
     }
 
-    private:
+  private:
     void *v;
 }
 
--- a/dwt/internal/mozilla/nsXPCOMGlue.d	Wed Oct 29 20:12:27 2008 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-module dwt.internal.mozilla.nsXPCOMGlue;
-
-//extern(System):
-
-align(4):
-
-struct GREVersionRange {
-    char    *lower;
-    int     lowerInclusive;
-    char    *upper;
-    int     upperInclusive;
-}
-
-struct GREProperty {
-    char *property;
-    char *value;
-}
-
-uint GRE_GetGREPathWithProperties(GREVersionRange *versions,
-                             int versionsLength,
-                             GREProperty *properties,
-                             uint propertiesLength,
-                             char *buffer, uint  buflen);
-
-uint XPCOMGlueStartup(char* xpcomFile);
-
-alias void function() NSFuncPtr;
-
-struct nsDynamicFunctionLoad
-{
-    char       *functionName;
-    NSFuncPtr  *func;
-}
-
-uint XPCOMGlueLoadXULFunctions(nsDynamicFunctionLoad *symbols);
-uint XPCOMGlueShutdown();
-