# HG changeset patch # User John Reimer # Date 1225114082 25200 # Node ID 96243e3ebcf05b50672ece0efb73022dcd49dc64 # Parent 8d03ae013e53e3bf54c83167c6d0e7d5e400df8c Mozilla.d compiles successfully :) diff -r 8d03ae013e53 -r 96243e3ebcf0 dwt/browser/InputStream.d --- a/dwt/browser/InputStream.d Sun Oct 26 21:23:56 2008 -0700 +++ b/dwt/browser/InputStream.d Mon Oct 27 06:28:02 2008 -0700 @@ -21,6 +21,7 @@ import dwt.internal.mozilla.nsID; import dwt.internal.mozilla.nsIInputStream; import dwt.internal.mozilla.nsISupports; +import dwt.internal.mozilla.Common; class InputStream : nsIInputStream { //XPCOMObject inputStream; @@ -120,7 +121,7 @@ return XPCOM.NS_OK; } -nsresult ReadSegments (nsWriteSegFun aWriter, void* aClosure, PRUint32 aCount, PRUint32* _retval) { +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; while (cnt > 0) { diff -r 8d03ae013e53 -r 96243e3ebcf0 dwt/browser/Mozilla.d --- a/dwt/browser/Mozilla.d Sun Oct 26 21:23:56 2008 -0700 +++ b/dwt/browser/Mozilla.d Mon Oct 27 06:28:02 2008 -0700 @@ -26,6 +26,7 @@ import tango.text.convert.Format; import tango.io.Console; import tango.sys.Environment; +import tango.stdc.string; import dwt.internal.c.gtk; @@ -46,6 +47,12 @@ import dwt.browser.DownloadFactory_1_8; import dwt.browser.FilePickerFactory; import dwt.browser.FilePickerFactory_1_8; +import dwt.browser.InputStream; +import dwt.browser.StatusTextEvent; +import dwt.browser.ProgressEvent; +import dwt.browser.LocationEvent; +import dwt.browser.WindowEvent; +import dwt.browser.TitleEvent; import dwt.internal.Compatibility; import dwt.internal.LONG; @@ -195,7 +202,7 @@ static final String PREFERENCE_PROXYTYPE = "network.proxy.type"; //$NON-NLS-1$ static final String PROFILE_AFTER_CHANGE = "profile-after-change"; //$NON-NLS-1$ static final String PROFILE_BEFORE_CHANGE = "profile-before-change"; //$NON-NLS-1$ - static final String PROFILE_DIR = SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; //$NON-NLS-1$ + static String PROFILE_DIR; //= SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; //$NON-NLS-1$ static final String PROFILE_DO_CHANGE = "profile-do-change"; //$NON-NLS-1$ static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$ static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$ @@ -210,6 +217,7 @@ static final String GRE_INITIALIZED = "dwt.browser.XULRunnerInitialized"; //$NON-NLS-1$ static this () { + PROFILE_DIR = SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; MozillaClearSessions = new class() Runnable { public void run () { if (!Initialized) return; @@ -1361,6 +1369,7 @@ listener = new class () Listener { public void handleEvent (Event event) { Control control = cast(Control)this.outer.browser; + Browser browser = this.outer.browser; switch (event.type) { case DWT.Dispose: { /* make this handler run after other dispose listeners */ @@ -1813,7 +1822,7 @@ //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; nsIIOService ioService; - rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, &nsIIOService.IID, cast(void**)&ioService); + rc = serviceManager.GetService (&XPCOM.NS_IOSERVICE_CID, &nsIIOService.IID, cast(void**)&ioService); if (rc !is XPCOM.NS_OK) error (rc); if (ioService is null) error (XPCOM.NS_NOINTERFACE); serviceManager.Release (); @@ -1849,7 +1858,9 @@ * a non java thread to the JVM otherwise the nsIInputStream Read and * Close methods never get called. */ - InputStream inputStream = new InputStream (data); + + // Using fully qualified name for disambiguation with dwthelper InputStream -JJR + auto inputStream = new dwt.browser.InputStream.InputStream (cast(byte[])html); inputStream.AddRef (); nsIDocShell_1_9 docShell_1_9; @@ -1861,7 +1872,7 @@ docShell_1_9.Release (); } else { //result[0] = 0; - nsDocShell_1_8 docShell_1_8; + nsIDocShell_1_8 docShell_1_8; rc = interfaceRequestor.GetInterface (&nsIDocShell_1_8.IID, cast(void**)&docShell_1_8); if (rc is XPCOM.NS_OK) { if (docShell_1_8 is null) error (XPCOM.NS_ERROR_NO_INTERFACE); @@ -1895,14 +1906,14 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation webNavigation; - int rc = webBrowser.QueryInterface (nsIWebNavigation.IID, cast(void**)&webNavigation); + int rc = webBrowser.QueryInterface (&nsIWebNavigation.IID, cast(void**)&webNavigation); if (rc !is XPCOM.NS_OK) error (rc); if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); //char[] uri = new char[url.length () + 1]; //url.getChars (0, url.length (), uri, 0); - rc = webNavigation.LoadURI (Utf.toString16(url).toString16z, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); + rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); webNavigation.Release (); return rc is XPCOM.NS_OK; } @@ -1923,26 +1934,26 @@ } void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { - scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN.toString16()); + target.AddEventListener (cast(nsAString*)string,cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); /* @@ -1950,22 +1961,22 @@ * between frames will not generate events. */ if (isTop && mozDelegate.hookEnterExit ()) { - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); } - string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); - target.AddEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); + target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); } @@ -2025,41 +2036,41 @@ } void unhookDOMListeners (nsIDOMEventTarget target) { - scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); - target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); + string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); + target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); //string.dispose (); } @@ -2114,7 +2125,7 @@ return XPCOM.NS_OK; } if (*riid == nsIURIContentListener.IID) { - *ppvObject = cast(void*)cast(nsIUriContentListener)this; + *ppvObject = cast(void*)cast(nsIURIContentListener)this; AddRef (); return XPCOM.NS_OK; } @@ -2150,7 +2161,7 @@ if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; //nsID guid = new nsID (); //XPCOM.memmove (guid, riid, nsID.sizeof); - if ((*riid).Equals (nsIDOMWindow.IID)) { + if (*riid == nsIDOMWindow.IID) { nsIDOMWindow aContentDOMWindow; //int /*long*/[] aContentDOMWindow = new int /*long*/[1]; int rc = webBrowser.GetContentDOMWindow (&aContentDOMWindow); @@ -2163,8 +2174,8 @@ return QueryInterface (riid, ppvObject); } -nsresult GetWeakReference (void** ppvObject) { - *ppvObject = cast(void*)cast(nsIWeakReference)this; +nsresult GetWeakReference (nsIWeakReference* ppvObject) { + *ppvObject = cast(nsIWeakReference)this; //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); AddRef (); return XPCOM.NS_OK; @@ -2249,8 +2260,8 @@ * - the new request resulting from the redirection - is used to send * the ProgressListener.completed event. */ - if (request is aRequest || request is 0) { - request = 0; + if (request is aRequest || request is null) { + request = null; if (!awaitingNavigate) { StatusTextEvent event = new StatusTextEvent (browser); event.display = browser.getDisplay (); @@ -2275,7 +2286,7 @@ //int /*long*/[] result = new int /*long*/[1]; // nsIWebProgress progress = new nsIWebProgress (aWebProgress); nsIDOMWindow domWindow; - int rc = progress.GetDOMWindow (&domWindow); + int rc = aWebProgress.GetDOMWindow (&domWindow); if (rc !is XPCOM.NS_OK) error (rc); if (domWindow is null) error (XPCOM.NS_NOINTERFACE); //nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); @@ -2305,8 +2316,8 @@ * Remove and unreference the nsIDOMWindow from the collection of windows * that are waiting to have DOM listeners hooked on them. */ - unhookedDOMWindows = unhookedDOMWindows.arrayIndexRemove( domWindow); - domWIndow.Release (); + unhookedDOMWindows = unhookedDOMWindows.arrayIndexRemove(index); + domWindow.Release (); } domWindow.Release (); } @@ -2344,7 +2355,7 @@ nsIDOMWindow domWindow; //int /*long*/[] aDOMWindow = new int /*long*/[1]; - int rc = webProgress.GetDOMWindow (&domWindow); + int rc = aWebProgress.GetDOMWindow (&domWindow); if (rc !is XPCOM.NS_OK) error (rc); if (domWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); @@ -2401,7 +2412,7 @@ //int length = XPCOM.strlen_PRUnichar (aMessage); //char[] dest = new char[length]; //XPCOM.memmove (dest, aMessage, length * 2); - event.text = aMessage.fromString16z.toString; + event.text = Utf.toString(fromString16z(aMessage)); for (int i = 0; i < statusTextListeners.length; i++) { statusTextListeners[i].changed (event); } @@ -2423,7 +2434,7 @@ //char[] dest = new char[length]; //XPCOM.memmove (dest, status, length * 2); //String string = new String (dest); - event.text = status.fromString16z.toString; + event.text = Utf.toString(fromString16z(status)); for (int i = 0; i < statusTextListeners.length; i++) { statusTextListeners[i].changed (event); } @@ -2434,7 +2445,7 @@ //int /*long*/[] ret = new int /*long*/[1]; if (webBrowser !is null) { webBrowser.AddRef (); - *aWebBrowser = cast(nsIWebBrowser)webBrowser; + *aWebBrowser = webBrowser; } //XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); return XPCOM.NS_OK; @@ -2442,7 +2453,7 @@ nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) { if (webBrowser !is null) webBrowser.Release (); - webBrowser = aWebBrowser !is null ? cast(WebBrowser)cast(void*)aWebBrowser : null; + webBrowser = aWebBrowser !is null ? cast(nsIWebBrowser)cast(void*)aWebBrowser : null; return XPCOM.NS_OK; } @@ -2496,14 +2507,14 @@ //result[0] = 0; //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true); nsIJSContextStack stack; - rc = serviceManager.GetServiceByContractID (XPCOM.NS_CONTEXTSTACK_CONTRACTID, &nsIJSContextStack.IID, cast(void**)&stack); + rc = serviceManager.GetServiceByContractID (XPCOM.NS_CONTEXTSTACK_CONTRACTID.ptr, &nsIJSContextStack.IID, cast(void**)&stack); if (rc !is XPCOM.NS_OK) error (rc); if (stack is null) error (XPCOM.NS_NOINTERFACE); serviceManager.Release (); //nsIJSContextStack stack = new nsIJSContextStack (result[0]); //result[0] = 0; - rc = stack.Push (0); + rc = stack.Push (null); if (rc !is XPCOM.NS_OK) error (rc); Shell shell = browser.getShell (); @@ -2511,8 +2522,8 @@ while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } - - rc = stack.Pop (result); + JSContext* result; + rc = stack.Pop (&result); if (rc !is XPCOM.NS_OK) error (rc); stack.Release (); return XPCOM.NS_OK; @@ -2585,7 +2596,7 @@ nsresult GetVisibility (PRBool* aVisibility) { bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); - *aVisible = visible ? 1 : 0; + *aVisibility = visible ? 1 : 0; //XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ return XPCOM.NS_OK; } @@ -2645,7 +2656,7 @@ if (length > 0) { //char[] dest = new char[length]; //XPCOM.memmove (dest, aTitle, length * 2); - event.title = aTitle.fromString16z.toString; + event.title = Utf.toString(fromString16z(aTitle)); } else { event.title = getUrl (); } @@ -2709,7 +2720,7 @@ //nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); //int /*long*/[] result = new int /*long*/[1]; nsIDOMMouseEvent domMouseEvent; - int rc = domEvent.QueryInterface (&nsIDOMMouseEvent.IID, cast(void**)&domMouseEvent); + int rc = aEvent.QueryInterface (&nsIDOMMouseEvent.IID, cast(void**)&domMouseEvent); if (rc !is XPCOM.NS_OK) error (rc); if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE); @@ -2746,7 +2757,7 @@ } //nsIURI location = new nsIURI (aURI); scope auto aSpec = new nsEmbedCString; - location.GetSpec (cast(nsACString*)aSpec); + aURI.GetSpec (cast(nsACString*)aSpec); //int length = XPCOM.nsEmbedCString_Length (aSpec); //int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); //buffer = XPCOM.nsEmbedCString_get (aSpec); @@ -2792,7 +2803,7 @@ if (size > 0) { //byte[] typeBytes = new byte[size + 1]; //XPCOM.memmove (typeBytes, aContentType, size); - String contentType = aContentType.fromStringz; + String contentType = fromStringz(aContentType); /* do not attempt to handle known problematic content types */ if (!contentType.equals (XPCOM.CONTENT_MAYBETEXT) && !contentType.equals (XPCOM.CONTENT_MULTIPART)) { @@ -2808,10 +2819,10 @@ /* First try to use the nsIWebNavigationInfo if it's available (>= mozilla 1.8) */ //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, true); nsIWebNavigationInfo info; - rc = serviceManager.GetServiceByContractID (XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, &nsIWebNavigationInfo.IID, cast(void**)&info); + rc = serviceManager.GetServiceByContractID (XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID.ptr, &nsIWebNavigationInfo.IID, cast(void**)&info); if (rc is 0) { //byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true); - scope auto typePtr = nsEmbedCString(contentType); + scope auto typePtr = new nsEmbedCString(contentType); //nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]); //result[0] = 0; PRUint32 isSupportedResult; /* PRUint32 */ @@ -2824,7 +2835,7 @@ /* nsIWebNavigationInfo is not available, so do the type lookup */ //result[0] = 0; nsICategoryManager categoryManager; - rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, &nsICategoryManager.IID, &categoryManager); + rc = serviceManager.GetService (&XPCOM.NS_CATEGORYMANAGER_CID, &nsICategoryManager.IID, cast(void**)&categoryManager); if (rc !is XPCOM.NS_OK) error (rc); if (categoryManager is null) error (XPCOM.NS_NOINTERFACE); @@ -2876,7 +2887,7 @@ //int length = XPCOM.strlen_PRUnichar (aTipText); //char[] dest = new char[length]; //XPCOM.memmove (dest, aTipText, length * 2); - String text = aTipText.fromString16z.toString; + String text = Utf.toString(fromString16z(aTipText)); if (tip !is null && !tip.isDisposed ()) tip.dispose (); Display display = browser.getDisplay (); Shell parent = browser.getShell (); @@ -2946,7 +2957,7 @@ nsIDOMKeyEvent domKeyEvent; rc = event.QueryInterface (&nsIDOMKeyEvent.IID, cast(void**)&domKeyEvent); if (rc !is XPCOM.NS_OK) error (rc); - if (domKeyevent is null) error (XPCOM.NS_NOINTERFACE); + if (domKeyEvent is null) error (XPCOM.NS_NOINTERFACE); //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); //result[0] = 0; diff -r 8d03ae013e53 -r 96243e3ebcf0 dwt/dwthelper/utils.d --- a/dwt/dwthelper/utils.d Sun Oct 26 21:23:56 2008 -0700 +++ b/dwt/dwthelper/utils.d Mon Oct 27 06:28:02 2008 -0700 @@ -1224,7 +1224,7 @@ return res; } -T[] arrayIndexRemove(T)(T[] arr, uint index) { +T[] arrayIndexRemove(T)(T[] arr, uint n) { if (n is 0) return arr[1..$]; if (n > arr.length) diff -r 8d03ae013e53 -r 96243e3ebcf0 dwt/internal/mozilla/nsIDocShell.d --- a/dwt/internal/mozilla/nsIDocShell.d Sun Oct 26 21:23:56 2008 -0700 +++ b/dwt/internal/mozilla/nsIDocShell.d Mon Oct 27 06:28:02 2008 -0700 @@ -140,7 +140,7 @@ //extern(System) -interface nsIDocShell_1_8 : nsISupports { +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; @@ -162,7 +162,7 @@ //extern(System) -interface nsIDocShell_1_9 : nsISupports { +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;