# HG changeset patch # User John Reimer # Date 1225618209 28800 # Node ID 373b48b9eaf0667db647c5fb1939aa62e7bbaa79 # Parent 676785ef6d24eba203a4dede726739d43b83cc61 Conclusion of long painful debugging: working Browser package :) (aplha) diff -r 676785ef6d24 -r 373b48b9eaf0 dsss.conf --- a/dsss.conf Fri Oct 31 23:35:10 2008 -0700 +++ b/dsss.conf Sun Nov 02 01:30:09 2008 -0800 @@ -1,6 +1,4 @@ [dwt] -exclude=dwt/internal/mozilla/ -exclude+=dwt/browser type=library diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/browser/Browser.d --- a/dwt/browser/Browser.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/browser/Browser.d Sun Nov 02 01:30:09 2008 -0800 @@ -15,6 +15,7 @@ import dwt.dwthelper.utils; import tango.core.Thread; +import tango.io.Stdout; import dwt.DWT; import dwt.DWTError; @@ -368,9 +369,10 @@ protected void checkSubclass () { String name = this.classinfo.name; - - int index = tango.text.Util.locatePrior(name, '.'); - if (!(name[0 .. index + 1] == PACKAGE_PREFIX)) { + name = name.substring(0, name.lastIndexOf('.')); + int index = name.lastIndexOf('.'); + if (!name.substring (0, index + 1).equals (PACKAGE_PREFIX)) { + Stdout ("name: ")(name.substring(0, index + 1))(" == " )(PACKAGE_PREFIX).newline; DWT.error (DWT.ERROR_INVALID_SUBCLASS); } } diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/browser/Mozilla.d --- a/dwt/browser/Mozilla.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/browser/Mozilla.d Sun Nov 02 01:30:09 2008 -0800 @@ -15,6 +15,7 @@ import dwt.dwthelper.utils; import tango.text.locale.Core; // Necessary for Region/Culture/Locale code +import tango.io.Stdout; import tango.text.convert.Format; import tango.io.Console; import tango.sys.Environment; @@ -77,8 +78,6 @@ import dwt.internal.mozilla.nsIDOMDocument; import dwt.internal.mozilla.nsIDirectoryService; import dwt.internal.mozilla.nsIDocShell; -//import dwt.internal.mozilla.nsIDocShell_1_8; -//import dwt.internal.mozilla.nsIDocShell_1_9; import dwt.internal.mozilla.nsIEmbeddingSiteWindow; import dwt.internal.mozilla.nsIFile; import dwt.internal.mozilla.nsIFactory; @@ -96,7 +95,6 @@ import dwt.internal.mozilla.nsISimpleEnumerator; import dwt.internal.mozilla.nsIStreamListener; import dwt.internal.mozilla.nsISupports; -//import dwt.internal.mozilla.nsISupportsWeakReference; import dwt.internal.mozilla.nsITooltipListener; import dwt.internal.mozilla.nsIURI; import dwt.internal.mozilla.nsIURIContentListener; @@ -195,40 +193,40 @@ // TEMPORARY CODE static final String GRE_INITIALIZED = "dwt.browser.XULRunnerInitialized"; //$NON-NLS-1$ - static this () { + this () { PROFILE_DIR = SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; MozillaClearSessions = new class() Runnable { public void run () { if (!Initialized) return; nsIServiceManager serviceManager; int rc = XPCOM.NS_GetServiceManager (&serviceManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serviceManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_COOKIEMANAGER_CONTRACTID, true); nsICookieManager manager; rc = serviceManager.GetServiceByContractID (XPCOM.NS_COOKIEMANAGER_CONTRACTID.ptr, &nsICookieManager.IID, cast(void**)&manager); - if (rc !is XPCOM.NS_OK) error (rc); - if (manager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (manager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); serviceManager.Release (); //nsICookieManager manager = new nsICookieManager (result[0]); //result[0] = 0; nsISimpleEnumerator enumerator; rc = manager.GetEnumerator (&enumerator); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); manager.Release (); //nsISimpleEnumerator enumerator = new nsISimpleEnumerator (result[0]); PRBool moreElements; /* PRBool */ rc = enumerator.HasMoreElements (&moreElements); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); while (moreElements !is 0) { //result[0] = 0; nsICookie cookie; rc = enumerator.GetNext (cast(nsISupports*)&cookie); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //nsICookie cookie = new nsICookie (result[0]); PRUint64 expires; rc = cookie.GetExpires (&expires); @@ -244,11 +242,11 @@ //XPCOM.nsEmbedCString_delete (domain); //XPCOM.nsEmbedCString_delete (name); //XPCOM.nsEmbedCString_delete (path); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); } cookie.Release (); rc = enumerator.HasMoreElements (&moreElements); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); } enumerator.Release (); } @@ -380,7 +378,7 @@ if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } +/ // No need for double layer initialization in DWT; XPCOMInit was glued // At this stage we know that XULRunner is available, but we don't know @@ -454,7 +452,7 @@ //pathString.dispose (); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (localFile is null) { browser.dispose (); @@ -516,11 +514,11 @@ int rc = XPCOM.NS_GetComponentManager (&componentManager); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (componentManager is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIComponentManager componentManager = new nsIComponentManager (result[0]); @@ -531,23 +529,23 @@ if (rc !is XPCOM.NS_ERROR_NO_INTERFACE) { if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (AppShell is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //AppShell = new nsIAppShell (result[0]); rc = AppShell.Create (null, null); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } rc = AppShell.Spinup (); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } } //result[0] = 0; @@ -560,11 +558,11 @@ rc = XPCOM.NS_GetServiceManager (&serviceManager); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (serviceManager is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); @@ -574,11 +572,11 @@ rc = serviceManager.GetServiceByContractID (XPCOM.NS_WINDOWWATCHER_CONTRACTID.ptr, &nsIWindowWatcher.IID, cast(void**)&windowWatcher); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (windowWatcher is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIWindowWatcher windowWatcher = new nsIWindowWatcher (result[0]); @@ -586,7 +584,7 @@ rc = windowWatcher.SetWindowCreator (cast(nsIWindowCreator)WindowCreator); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } windowWatcher.Release (); @@ -597,11 +595,11 @@ rc = serviceManager.GetServiceByContractID (XPCOM.NS_DIRECTORYSERVICE_CONTRACTID.ptr, &nsIDirectoryService.IID, cast(void**)&directoryService); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (directoryService is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIDirectoryService directoryService = new nsIDirectoryService (result[0]); @@ -610,11 +608,11 @@ rc = directoryService.QueryInterface (&nsIProperties.IID, cast(void**)&properties); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (properties is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } directoryService.Release (); @@ -625,11 +623,11 @@ rc = properties.Get (XPCOM.NS_APP_APPLICATION_REGISTRY_DIR.ptr, &nsIFile.IID, cast(void**)&profileDir); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (profileDir is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } properties.Release (); @@ -639,7 +637,7 @@ rc = profileDir.GetNativePath (cast(nsACString*)path); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } //int length = XPCOM.nsEmbedCString_Length (path); //int /*long*/ ptr = XPCOM.nsEmbedCString_get (path); @@ -657,11 +655,11 @@ rc = serviceManager.GetServiceByContractID (XPCOM.NS_OBSERVER_CONTRACTID.ptr, &nsIObserverService.IID, cast(void**)&observerService); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (observerService is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIObserverService observerService = new nsIObserverService (result[0]); @@ -674,13 +672,13 @@ rc = observerService.NotifyObservers (null, PROFILE_DO_CHANGE.ptr, chars); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } //buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_AFTER_CHANGE, true); rc = observerService.NotifyObservers (null, PROFILE_AFTER_CHANGE.ptr, chars); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } observerService.Release (); } @@ -696,11 +694,11 @@ serviceManager.Release (); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (serviceManager is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIPrefService prefService = new nsIPrefService (result[0]); @@ -711,11 +709,11 @@ prefService.Release (); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (prefBranch is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIPrefBranch prefBranch = new nsIPrefBranch (result[0]); @@ -737,7 +735,7 @@ } else { if (localizedString is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //localizedString = new nsIPrefLocalizedString (result[0]); //result[0] = 0; @@ -745,11 +743,11 @@ rc = localizedString.ToString (&tmpChars); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (tmpChars is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } int span = XPCOM.strlen_PRUnichar (tmpChars); //char[] dest = new char[length]; @@ -805,11 +803,11 @@ rc = componentManager.CreateInstanceByContractID (XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID.ptr, null, &nsIPrefLocalizedString.IID, cast(void**)&localizedString); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (localizedString is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //localizedString = new nsIPrefLocalizedString (result[0]); //result[0] = 0; @@ -837,7 +835,7 @@ } else { if (localizedString is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //localizedString = new nsIPrefLocalizedString (result[0]); //result[0] = 0; @@ -845,11 +843,11 @@ rc = localizedString.ToString (&tmpChar); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (tmpChar is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } int span = XPCOM.strlen_PRUnichar (tmpChar); //char[] dest = new char[length]; @@ -869,11 +867,11 @@ rc = componentManager.CreateInstanceByContractID (XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID.ptr, null, &nsIPrefLocalizedString.IID, cast(void**)&localizedString); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (localizedString is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //localizedString = new nsIPrefLocalizedString (result[0]); //result[0] = 0; @@ -887,6 +885,8 @@ * Check for proxy values set as documented java properties and update mozilla's * preferences with these values if needed. */ + + // NOTE: in dwt, these properties don't exist so both keys will return null String proxyHost = System.getProperty (PROPERTY_PROXYHOST); String proxyPortString = System.getProperty (PROPERTY_PROXYPORT); @@ -903,8 +903,8 @@ if (proxyHost !is null) { //byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true); rc = componentManager.CreateInstanceByContractID (XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID.ptr, null, &nsIPrefLocalizedString.IID, cast(void**)&localizedString); - if (rc !is XPCOM.NS_OK) error (rc); - if (localizedString is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (localizedString is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //localizedString = new nsIPrefLocalizedString (result[0]); //result[0] = 0; @@ -912,35 +912,35 @@ //char[] charBuffer = new char[length + 1]; //proxyHost.getChars (0, length, charBuffer, 0); rc = localizedString.SetDataWithLength (proxyHost.length, proxyHost.toString16().toString16z()); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_FTP, true); rc = prefBranch.SetComplexValue (PREFERENCE_PROXYHOST_FTP.ptr, &nsIPrefLocalizedString.IID, cast(nsISupports)localizedString); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_HTTP, true); rc = prefBranch.SetComplexValue (PREFERENCE_PROXYHOST_HTTP.ptr, &nsIPrefLocalizedString.IID, cast(nsISupports)localizedString); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_SSL, true); rc = prefBranch.SetComplexValue (PREFERENCE_PROXYHOST_SSL.ptr, &nsIPrefLocalizedString.IID, cast(nsISupports)localizedString); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); localizedString.Release (); } if (port !is -1) { //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_FTP, true); rc = prefBranch.SetIntPref (PREFERENCE_PROXYPORT_FTP.ptr, port); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_HTTP, true); rc = prefBranch.SetIntPref (PREFERENCE_PROXYPORT_HTTP.ptr, port); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_SSL, true); rc = prefBranch.SetIntPref (PREFERENCE_PROXYPORT_SSL.ptr, port); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); } if (proxyHost !is null || port !is -1) { //buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYTYPE, true); rc = prefBranch.SetIntPref (PREFERENCE_PROXYTYPE.ptr, 1); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); } /* @@ -954,7 +954,7 @@ rc = prefBranch.SetBoolPref (PREFERENCE_DISABLEOPENDURINGLOAD.ptr, 0); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } /* Ensure that the status text can be set through means like javascript */ @@ -962,7 +962,7 @@ rc = prefBranch.SetBoolPref (PREFERENCE_DISABLEWINDOWSTATUSCHANGE.ptr, 0); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } prefBranch.Release (); @@ -974,11 +974,11 @@ rc = componentManager.QueryInterface (&nsIComponentRegistrar.IID, cast(void**)&componentRegistrar); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (componentRegistrar is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]); @@ -991,7 +991,7 @@ if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } factory.Release (); @@ -1003,7 +1003,7 @@ rc = componentRegistrar.RegisterFactory (&XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CID, aClassName.ptr, XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID.ptr, cast(nsIFactory)dialogFactory); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } dialogFactory.Release (); @@ -1022,7 +1022,7 @@ rc = componentRegistrar.RegisterFactory (&XPCOM.NS_DOWNLOAD_CID, aClassName.ptr, XPCOM.NS_DOWNLOAD_CONTRACTID.ptr, cast(nsIFactory)downloadFactory); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } downloadFactory.Release (); @@ -1034,7 +1034,7 @@ rc = componentRegistrar.RegisterFactory (&XPCOM.NS_FILEPICKER_CID, aClassName.ptr, XPCOM.NS_FILEPICKER_CONTRACTID.ptr, cast(nsIFactory)pickerFactory); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } pickerFactory.Release (); @@ -1053,16 +1053,16 @@ nsIServiceManager serviceManager; //int /*long*/[] result = new int /*long*/[1]; int rc = XPCOM.NS_GetServiceManager (&serviceManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serviceManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; //byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true); nsIObserverService observerService; rc = serviceManager.GetServiceByContractID (XPCOM.NS_OBSERVER_CONTRACTID.ptr, &nsIObserverService.IID, cast(void**)&observerService); - if (rc !is XPCOM.NS_OK) error (rc); - if (observerService is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (observerService is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIObserverService observerService = new nsIObserverService (result[0]); //result[0] = 0; @@ -1071,7 +1071,7 @@ //char[] chars = new char [length + 1]; //SHUTDOWN_PERSIST.getChars (0, length, chars, 0); rc = observerService.NotifyObservers (null, PROFILE_BEFORE_CHANGE.ptr, SHUTDOWN_PERSIST.toString16().toString16z()); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); observerService.Release (); if (LocationProvider !is null) { @@ -1079,7 +1079,7 @@ scope auto pathString = new nsEmbedString (prefsLocation.toString16()); nsILocalFile localFile; rc = XPCOM.NS_NewLocalFile (cast(nsAString*)pathString, 1, &localFile); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); + if (rc !is XPCOM.NS_OK) Mozilla.error (rc, __FILE__, __LINE__); if (localFile is null) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); //pathString.dispose (); @@ -1087,8 +1087,8 @@ //result[0] = 0; nsIFile prefFile; rc = localFile.QueryInterface (&nsIFile.IID, cast(void**)&prefFile); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (prefFile is null) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) Mozilla.error (rc, __FILE__, __LINE__); + if (prefFile is null) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); localFile.Release (); //nsIFile prefFile = new nsIFile (result[0]); @@ -1096,8 +1096,8 @@ nsIPrefService prefService; //buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true); rc = serviceManager.GetServiceByContractID (XPCOM.NS_PREFSERVICE_CONTRACTID.ptr, &nsIPrefService.IID, cast(void**)&prefService); - if (rc !is XPCOM.NS_OK) error (rc); - if (prefService is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (prefService is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIPrefService prefService = new nsIPrefService (result[0]); //result[0] = 0; @@ -1126,59 +1126,44 @@ int rc = XPCOM.NS_GetComponentManager (&componentManager); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (componentManager is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } //nsIComponentManager componentManager = new nsIComponentManager (result[0]); //result[0] = 0; - nsIWebBrowser webBrowser; + //nsIWebBrowser webBrowser; nsID NS_IWEBBROWSER_CID = { 0xF1EAC761, 0x87E9, 0x11d3, [0xAF, 0x80, 0x00, 0xA0, 0x24, 0xFF, 0xC0, 0x8C] }; //$NON-NLS-1$ rc = componentManager.CreateInstance (&NS_IWEBBROWSER_CID, null, &nsIWebBrowser.IID, cast(void**)&webBrowser); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (webBrowser is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } - //webBrowser = new nsIWebBrowser (result[0]); - //result[0] = 0; - - //createCOMInterfaces (); this.AddRef (); - /***** CAREFUL HERE: check to make sure this is correct XPCOM - ***** connection for webBrowserChrome. -JJR - *****/ - nsIWebBrowserChrome webBrowserChrome; //represents the this Mozilla internal interface - - rc = this.QueryInterface(&nsIWebBrowserChrome.IID, cast(void**)&webBrowserChrome ); - if (rc !is XPCOM.NS_OK) - Mozilla.error (rc); - if (webBrowserChrome is null) - Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - - rc = webBrowser.SetContainerWindow ( webBrowserChrome ); // set chrome to self + rc = webBrowser.SetContainerWindow ( cast(nsIWebBrowserChrome)this ); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } nsIBaseWindow baseWindow; rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (baseWindow is null) { browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); + error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); } //nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); @@ -1223,7 +1208,7 @@ } if (interfaceRequestor is null) { browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); + error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); } //nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor (result[0]); //result[0] = 0; @@ -1255,11 +1240,11 @@ rc = componentManager.QueryInterface (&nsIComponentRegistrar.IID, cast(void**)&componentRegistrar); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (componentRegistrar is null) { browser.dispose (); - error (XPCOM.NS_NOINTERFACE); + error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); } // nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]); @@ -1271,7 +1256,7 @@ rc = componentRegistrar.RegisterFactory (&XPCOM.NS_DOWNLOAD_CID, aClassName.ptr, XPCOM.NS_TRANSFER_CONTRACTID.ptr, cast(nsIFactory)downloadFactory_1_8); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } downloadFactory_1_8.Release (); componentRegistrar.Release (); @@ -1289,11 +1274,11 @@ rc = webBrowser.QueryInterface (&nsIWebNavigation.IID, cast(void**)&webNavigation); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } if (webNavigation is null) { browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); + error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); } //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); //char[] uri = new char[ABOUT_BLANK.length () + 1]; @@ -1306,24 +1291,11 @@ interfaceRequestor.Release (); } componentManager.Release (); -/* - // REMOVE: not necessary - nsIWeakReference weakReference; - rc = this.QueryInterface(&nsIWeakReference.IID, cast(void**)&weakReference); - if (rc !is XPCOM.NS_OK) { - browser.dispose(); - error(rc); - } - if (weakReference is null) { - browser.dispose(); - error(XPCOM.NS_ERROR_NO_INTERFACE); - } -*/ rc = webBrowser.AddWebBrowserListener (cast(nsIWeakReference)this, &nsIWebProgressListener.IID); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } // TODO: Find appropriate place to "Release" uriContentListener -JJR @@ -1341,7 +1313,7 @@ rc = webBrowser.SetParentURIContentListener (uriContentListener); if (rc !is XPCOM.NS_OK) { browser.dispose (); - error (rc); + error (rc, __FILE__, __LINE__); } mozDelegate.init (); @@ -1411,8 +1383,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); rc = webNavigation.GoBack (); @@ -1428,8 +1400,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); //char[] arg = url.toCharArray (); @@ -1452,8 +1424,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); rc = webNavigation.GoForward (); @@ -1469,23 +1441,23 @@ //int /*long*/[] result = new int /*long*/[1]; nsIDOMWindow window; int rc = webBrowser.GetContentDOMWindow (&window); - if (rc !is XPCOM.NS_OK) error (rc); - if (window is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (window is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMWindow window = new nsIDOMWindow (result[0]); //result[0] = 0; nsIDOMDocument document; rc = window.GetDocument (&document); - if (rc !is XPCOM.NS_OK) error (rc); - if (document is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (document is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); window.Release (); //int /*long*/ document = result[0]; //result[0] = 0; nsIComponentManager componentManager; rc = XPCOM.NS_GetComponentManager (&componentManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (componentManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (componentManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIComponentManager componentManager = new nsIComponentManager (result[0]); //result[0] = 0; @@ -1494,7 +1466,7 @@ nsIDOMSerializer_1_7 serializer_1_7; rc = componentManager.CreateInstanceByContractID (XPCOM.NS_DOMSERIALIZER_CONTRACTID.ptr, null, &nsIDOMSerializer_1_7.IID, cast(void**)&serializer_1_7); if (rc is XPCOM.NS_OK) { /* mozilla >= 1.7 */ - if (serializer_1_7 is null) error (XPCOM.NS_NOINTERFACE); + if (serializer_1_7 is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMSerializer_1_7 serializer = new nsIDOMSerializer_1_7 (result[0]); //result[0] = 0; @@ -1511,8 +1483,8 @@ } else { /* mozilla < 1.7 */ nsIDOMSerializer serializer; rc = componentManager.CreateInstanceByContractID (XPCOM.NS_DOMSERIALIZER_CONTRACTID.ptr, null, &nsIDOMSerializer.IID, cast(void**)&serializer); - if (rc !is XPCOM.NS_OK) error (rc); - if (serializer is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serializer is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); // TODO: Lookup SerializeToString contract. Find out if the string must provide it's own memory to the method. -JJR PRUnichar* string; //nsIDOMSerializer serializer = new nsIDOMSerializer (result[0]); @@ -1538,13 +1510,13 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); nsIURI aCurrentURI; rc = webNavigation.GetCurrentURI (&aCurrentURI); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); webNavigation.Release (); String location = null; @@ -1552,7 +1524,7 @@ //nsIURI uri = new nsIURI (aCurrentURI[0]); scope auto aSpec = new nsEmbedCString; rc = aCurrentURI.GetSpec (cast(nsACString*)aSpec); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //int length = XPCOM.nsEmbedCString_Length (aSpec); //int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); location = aSpec.toString; @@ -1607,8 +1579,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); PRBool aCanGoBack; /* PRBool */ @@ -1624,8 +1596,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); PRBool aCanGoForward; /* PRBool */ @@ -1635,17 +1607,23 @@ } extern(D) -static String error (int code) { +static void error (int code ) { + error ( code, "NOT GIVEN", 0 ); +} + +extern(D) +static String error (int code, char[] file, int line) { + Stdout ("File: ")(file)(" Line: ")(line).newline; 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = webBrowser.SetParentURIContentListener (null); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); unhookDOMListeners (); if (listener !is null) { @@ -1667,12 +1645,12 @@ //int /*long*/[] result = new int /*long*/[1]; nsIBaseWindow baseWindow; rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); rc = baseWindow.Destroy (); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); baseWindow.Release (); Release (); @@ -1703,12 +1681,12 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebBrowserFocus webBrowserFocus; int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); - if (rc !is XPCOM.NS_OK) error (rc); - if (webBrowserFocus is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webBrowserFocus is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); rc = webBrowserFocus.Activate (); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); webBrowserFocus.Release (); } @@ -1717,12 +1695,12 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebBrowserFocus webBrowserFocus; int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); - if (rc !is XPCOM.NS_OK) error (rc); - if (webBrowserFocus is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webBrowserFocus is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); rc = webBrowserFocus.Deactivate (); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); webBrowserFocus.Release (); } @@ -1735,13 +1713,13 @@ //int /*long*/[] result = new int /*long*/[1]; nsIBaseWindow baseWindow; int rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); mozDelegate.setSize (embedHandle, width, height); //nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); rc = baseWindow.SetPositionAndSize (0, 0, width, height, 1); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); baseWindow.Release (); } @@ -1753,7 +1731,7 @@ nsIWebNavigation 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); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); rc = webNavigation.Reload (nsIWebNavigation.LOAD_FLAGS_NONE); @@ -1769,7 +1747,7 @@ * attempting to load a non-existent local url, which is not a Browser error, * so this error code should be ignored. */ - if (rc !is XPCOM.NS_ERROR_INVALID_POINTER && rc !is XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc); + if (rc !is XPCOM.NS_ERROR_INVALID_POINTER && rc !is XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc, __FILE__, __LINE__); } extern(D) @@ -1791,8 +1769,9 @@ * would be to have a way to call deactivate when the Browser * or one of its children loses focus. */ - if (browser !is browser.getDisplay ().getFocusControl ()) Deactivate (); - + if (browser !is browser.getDisplay().getFocusControl ()) { + Deactivate (); + } /* convert the String containing HTML to an array of bytes with UTF-8 data */ /+ byte[] data = null; @@ -1812,15 +1791,15 @@ //int /*long*/[] result = new int /*long*/[1]; nsIServiceManager serviceManager; int rc = XPCOM.NS_GetServiceManager (&serviceManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serviceManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; nsIIOService 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (ioService is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); serviceManager.Release (); //nsIIOService ioService = new nsIIOService (result[0]); @@ -1834,8 +1813,8 @@ scope auto aSpec = new nsEmbedCString(URI_FROMMEMORY); nsIURI uri; rc = ioService.NewURI (cast(nsACString*)aSpec, null, null, &uri); - if (rc !is XPCOM.NS_OK) error (rc); - if (uri is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (uri is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //XPCOM.nsEmbedCString_delete (aSpec); ioService.Release (); @@ -1843,8 +1822,8 @@ //result[0] = 0; nsIInterfaceRequestor interfaceRequestor; rc = webBrowser.QueryInterface (&nsIInterfaceRequestor.IID, cast(void**)&interfaceRequestor); - if (rc !is XPCOM.NS_OK) error (rc); - if (interfaceRequestor is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (interfaceRequestor is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor (result[0]); //result[0] = 0; @@ -1862,7 +1841,7 @@ nsIDocShell_1_9 docShell_1_9; rc = interfaceRequestor.GetInterface (&nsIDocShell_1_9.IID, cast(void**)&docShell_1_9); if (rc is XPCOM.NS_OK) { - if (docShell_1_9 is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (docShell_1_9 is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDocShell_1_9 docShell = new nsIDocShell_1_9 (result[0]); rc = docShell_1_9.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); docShell_1_9.Release (); @@ -1871,7 +1850,7 @@ 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); + if (docShell_1_8 is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDocShell_1_8 docShell = new nsIDocShell_1_8 (result[0]); rc = docShell_1_8.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); docShell_1_8.Release (); @@ -1879,14 +1858,14 @@ //result[0] = 0; nsIDocShell docShell; rc = interfaceRequestor.GetInterface (&nsIDocShell.IID, cast(void**)&docShell); - if (rc !is XPCOM.NS_OK) error (rc); - if (docShell is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (docShell is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDocShell docShell = new nsIDocShell (result[0]); rc = docShell.LoadStream (inputStream, uri, cast(nsACString*) aContentType, cast(nsACString*)aContentCharset, null); docShell.Release (); } } - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //result[0] = 0; inputStream.Release (); @@ -1904,8 +1883,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIWebNavigation 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); //char[] uri = new char[url.length () + 1]; @@ -1922,12 +1901,12 @@ nsIWebNavigation webNavigation; //int /*long*/[] result = new int /*long*/[1]; 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); rc = webNavigation.Stop (nsIWebNavigation.STOP_ALL); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); webNavigation.Release (); } @@ -1984,15 +1963,15 @@ //int /*long*/[] result = new int /*long*/[1]; nsIDOMWindow window; int rc = webBrowser.GetContentDOMWindow (&window); - if (rc !is XPCOM.NS_OK) error (rc); - if (window is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (window is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMWindow window = new nsIDOMWindow (result[0]); //result[0] = 0; nsIDOMEventTarget target; rc = window.QueryInterface (&nsIDOMEventTarget.IID, cast(void**)&target); - if (rc !is XPCOM.NS_OK) error (rc); - if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); //result[0] = 0; @@ -2002,27 +1981,27 @@ /* Listeners must be unhooked in pages contained in frames */ nsIDOMWindowCollection frames; rc = window.GetFrames (&frames); - if (rc !is XPCOM.NS_OK) error (rc); - if (frames is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (frames is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMWindowCollection frames = new nsIDOMWindowCollection (result[0]); //result[0] = 0; PRUint32 count; rc = frames.GetLength (&count); /* PRUint32 */ - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //int count = frameCount[0]; if (count > 0) { nsIDOMWindow frame; for (int i = 0; i < count; i++) { rc = frames.Item (i, &frame); - if (rc !is XPCOM.NS_OK) error (rc); - if (frame is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (frame is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMWindow frame = new nsIDOMWindow (result[0]); //result[0] = 0; rc = frame.QueryInterface (&nsIDOMEventTarget.IID, cast(void**)&target); - if (rc !is XPCOM.NS_OK) error (rc); - if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //target = new nsIDOMEventTarget (result[0]); //result[0] = 0; @@ -2171,8 +2150,8 @@ nsIDOMWindow aContentDOMWindow; //int /*long*/[] aContentDOMWindow = new int /*long*/[1]; int rc = webBrowser.GetContentDOMWindow (&aContentDOMWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (aContentDOMWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (aContentDOMWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); *ppvObject = cast(void*)aContentDOMWindow; //XPCOM.memmove (ppvObject, aContentDOMWindow, C.PTR_SIZEOF); return rc; @@ -2207,8 +2186,8 @@ nsIDOMWindow window; //nsIWebProgress progress = new nsIWebProgress (aWebProgress); int rc = aWebProgress.GetDOMWindow (&window); - if (rc !is XPCOM.NS_OK) error (rc); - if (window is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (window is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); unhookedDOMWindows ~= window; } } else if ((aStateFlags & nsIWebProgressListener.STATE_REDIRECTING) !is 0) { @@ -2225,8 +2204,8 @@ //nsIWebProgress progress = new nsIWebProgress (aWebProgress); nsIDOMWindow domWindow; int rc = aWebProgress.GetDOMWindow (&domWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (domWindow is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domWindow is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); //LONG ptrObject = new LONG (result[0]); @@ -2235,15 +2214,15 @@ if (index !is -1) { nsIDOMWindow contentWindow; rc = webBrowser.GetContentDOMWindow (&contentWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (contentWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (contentWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); bool isTop = contentWindow is domWindow; contentWindow.Release (); //result[0] = 0; nsIDOMEventTarget target; rc = domWindow.QueryInterface (&nsIDOMEventTarget.IID, cast(void**)&target); - if (rc !is XPCOM.NS_OK) error (rc); - if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); //result[0] = 0; @@ -2295,8 +2274,8 @@ // nsIWebProgress progress = new nsIWebProgress (aWebProgress); nsIDOMWindow domWindow; int rc = aWebProgress.GetDOMWindow (&domWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (domWindow is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domWindow is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); //LONG ptrObject = new LONG (result[0]); @@ -2305,15 +2284,15 @@ if (index !is -1) { nsIDOMWindow contentWindow; rc = webBrowser.GetContentDOMWindow (&contentWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (contentWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (contentWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); bool isTop = contentWindow is domWindow; contentWindow.Release (); //result[0] = 0; nsIDOMEventTarget target; rc = domWindow.QueryInterface (&nsIDOMEventTarget.IID, cast(void**)&target); - if (rc !is XPCOM.NS_OK) error (rc); - if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (target is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); //result[0] = 0; @@ -2366,15 +2345,15 @@ nsIDOMWindow domWindow; //int /*long*/[] aDOMWindow = new int /*long*/[1]; int rc = aWebProgress.GetDOMWindow (&domWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (domWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]); //int /*long*/[] aTop = new int /*long*/[1]; nsIDOMWindow topWindow; rc = domWindow.GetTop (&topWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (topWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (topWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); domWindow.Release (); //nsIDOMWindow topWindow = new nsIDOMWindow (aTop[0]); @@ -2520,22 +2499,22 @@ //int /*long*/[] result = new int /*long*/[1]; nsIServiceManager serviceManager; int rc = XPCOM.NS_GetServiceManager (&serviceManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serviceManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true); nsIJSContextStack 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (stack is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); serviceManager.Release (); //nsIJSContextStack stack = new nsIJSContextStack (result[0]); //result[0] = 0; rc = stack.Push (null); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); Shell shell = browser.getShell (); Display display = browser.getDisplay (); @@ -2544,7 +2523,7 @@ } JSContext* result; rc = stack.Pop (&result); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); stack.Release (); return XPCOM.NS_OK; } @@ -2603,12 +2582,12 @@ //int /*long*/[] result = new int /*long*/[1]; nsIBaseWindow baseWindow; int rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (baseWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE, __FILE__, __LINE__); //nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); rc = baseWindow.SetFocus (); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); baseWindow.Release (); /* @@ -2754,15 +2733,15 @@ //int /*long*/[] result = new int /*long*/[1]; nsIDOMMouseEvent 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); PRInt32 aScreenX, aScreenY; rc = domMouseEvent.GetScreenX (&aScreenX); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetScreenY (&aScreenY); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); domMouseEvent.Release (); Event event; @@ -2847,8 +2826,8 @@ // int /*long*/[] result = new int /*long*/[1]; nsIServiceManager serviceManager; int rc = XPCOM.NS_GetServiceManager (&serviceManager); - if (rc !is XPCOM.NS_OK) error (rc); - if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (serviceManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); //result[0] = 0; @@ -2863,7 +2842,7 @@ //result[0] = 0; PRUint32 isSupportedResult; /* PRUint32 */ rc = info.IsTypeSupported (cast(nsACString*)typePtr, null, &isSupportedResult); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); info.Release (); //XPCOM.nsEmbedCString_delete (typePtr); preferred = isSupportedResult !is 0; @@ -2872,8 +2851,8 @@ //result[0] = 0; nsICategoryManager 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); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (categoryManager is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsICategoryManager categoryManager = new nsICategoryManager (result[0]); //result[0] = 0; @@ -2970,7 +2949,7 @@ scope auto type = new nsEmbedString; int rc = event.GetType (cast(nsAString*)type); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); //int length = XPCOM.nsEmbedString_Length (type); //int /*long*/ buffer = XPCOM.nsEmbedString_get (type); //char[] chars = new char[length]; @@ -2982,8 +2961,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIDOMEventTarget target; rc = event.GetCurrentTarget (&target); - if (rc !is XPCOM.NS_OK) error (rc); - if (target is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (target is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); unhookDOMListeners (target); @@ -3000,14 +2979,14 @@ //int /*long*/[] result = new int /*long*/[1]; 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 (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domKeyEvent is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); //result[0] = 0; PRUint32 aKeyCode; /* PRUint32 */ rc = domKeyEvent.GetKeyCode (&aKeyCode); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); int keyCode = super.translateKey (aKeyCode); /* @@ -3028,13 +3007,13 @@ /* keypress events will not be received for these keys, so send KeyDowns for them now */ PRBool aAltKey, aCtrlKey, aShiftKey, aMetaKey; /* PRBool */ rc = domKeyEvent.GetAltKey (&aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetCtrlKey (&aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetShiftKey (&aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetMetaKey (&aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); Event keyEvent = new Event (); keyEvent.widget = browser; @@ -3057,17 +3036,17 @@ */ PRBool aMetaKey; /* PRBool */ rc = domKeyEvent.GetMetaKey (&aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); if (aMetaKey !is 0) { PRBool aCtrlKey; /* PRBool */ rc = domKeyEvent.GetCtrlKey (&aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); if (aCtrlKey is 0) { PRBool aAltKey, aShiftKey; /* PRBool */ rc = domKeyEvent.GetAltKey (&aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetShiftKey (&aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); Event keyEvent = new Event (); keyEvent.widget = browser; @@ -3109,25 +3088,25 @@ //int /*long*/[] result = new int /*long*/[1]; 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 (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domKeyEvent is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); //result[0] = 0; PRBool aAltKey, aCtrlKey, aShiftKey, aMetaKey; /* PRBool */ rc = domKeyEvent.GetAltKey (&aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetCtrlKey (&aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetShiftKey (&aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetMetaKey (&aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); domKeyEvent.Release (); PRUint32 aCharCode; /* PRUint32 */ rc = domKeyEvent.GetCharCode (&aCharCode); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); lastCharCode = aCharCode; if (lastCharCode is 0) { switch (lastKeyCode) { @@ -3160,14 +3139,14 @@ //int /*long*/[] result = new int /*long*/[1]; 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 (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domKeyEvent is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); //result[0] = 0; PRUint32 aKeyCode; /* PRUint32 */ rc = domKeyEvent.GetKeyCode (&aKeyCode); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); int keyCode = super.translateKey (aKeyCode); if (keyCode is 0) { /* indicates a key for which key events are not sent */ @@ -3182,13 +3161,13 @@ PRBool aAltKey, aCtrlKey, aShiftKey, aMetaKey; /* PRBool */ rc = domKeyEvent.GetAltKey (&aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetCtrlKey (&aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetShiftKey (&aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domKeyEvent.GetMetaKey (&aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); domKeyEvent.Release (); Event keyEvent = new Event (); @@ -3218,8 +3197,8 @@ //int /*long*/[] result = new int /*long*/[1]; nsIDOMMouseEvent domMouseEvent; rc = event.QueryInterface (&nsIDOMMouseEvent.IID, cast(void**)&domMouseEvent); - if (rc !is XPCOM.NS_OK) error (rc); - if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); + if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE, __FILE__, __LINE__); //nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); //result[0] = 0; @@ -3233,7 +3212,7 @@ if (XPCOM.DOMEVENT_MOUSEOVER.equals (typeString) || XPCOM.DOMEVENT_MOUSEOUT.equals (typeString)) { nsIDOMEventTarget eventTarget; rc = domMouseEvent.GetRelatedTarget (&eventTarget); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); if (eventTarget !is null) { domMouseEvent.Release (); return XPCOM.NS_OK; @@ -3242,23 +3221,23 @@ PRInt32 aClientX, aClientY, aDetail; /* PRInt32 */ rc = domMouseEvent.GetClientX (&aClientX); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetClientY (&aClientY); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetDetail (&aDetail); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); PRUint16 aButton; /* PRUint16 */ rc = domMouseEvent.GetButton (&aButton); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); PRBool aAltKey, aCtrlKey, aShiftKey, aMetaKey; /* PRBool */ rc = domMouseEvent.GetAltKey (&aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetCtrlKey (&aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetShiftKey (&aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); rc = domMouseEvent.GetMetaKey (&aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); + if (rc !is XPCOM.NS_OK) error (rc, __FILE__, __LINE__); domMouseEvent.Release (); Event mouseEvent = new Event (); diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/browser/MozillaDelegate.d --- a/dwt/browser/MozillaDelegate.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/browser/MozillaDelegate.d Sun Nov 02 01:30:09 2008 -0800 @@ -40,10 +40,11 @@ static const gpointer STOP_PROPOGATE = cast(gpointer)1; static bool IsLinux; - static this () { - String osName = System.getProperty ("os.name"); //$NON-NLS-1$ - IsLinux = tango.text.Util.containsPattern(osName, "linux"); //$NON-NLS-1$ - } + +static this () { + String osName = System.getProperty ("os.name"); //$NON-NLS-1$ + IsLinux = tango.text.Util.containsPattern(osName, "linux"); //$NON-NLS-1$ +} this (Browser browser) { //super (); @@ -54,7 +55,7 @@ this.browser = browser; } -static extern(C) int eventProc (GtkWidget* handle, GdkEvent* gdkEvent, gpointer pointer) { +static extern(System) int eventProc (GtkWidget* handle, GdkEvent* gdkEvent, gpointer pointer) { GtkWidget* parent = OS.gtk_widget_get_parent (handle); parent = OS.gtk_widget_get_parent (parent); if (parent is null) return 0; diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/dwthelper/System.d --- a/dwt/dwthelper/System.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/dwthelper/System.d Sun Nov 02 01:30:09 2008 -0800 @@ -10,6 +10,8 @@ import tango.io.model.IFile : FileConst; import tango.time.Clock; import tango.stdc.stdlib : exit; +import tango.stdc.locale; +import tango.stdc.string; template SimpleType(T) { debug{ @@ -154,37 +156,32 @@ return defval; } public static String getProperty( String key ){ + /* get values for global system keys (environment) */ + switch( key ) { + case "os.name": return Environment.get("OSTYPE"); + case "user.name": return Environment.get("USER"); + case "user.home": return Environment.get("HOME"); + case "user.dir" : return Environment.get("PWD"); + case "file.separator" : return FileConst.PathSeparatorString ; + case "file.encoding" : + char* encoding; + encoding = setlocale(LC_CTYPE, null); + if (encoding is null) + return "CP1252"; //default + else + return encoding[0..strlen(encoding)].dup; + default: return null; + } + /* Get values for local dwt specific keys */ String* p; - if (key[0..3] == "dwt") { - return ((p = key in localProperties) != null) ? *p : null; - /* else get values for global system keys (environment) */ - } else { - switch( key ){ - case "os.name": return Environment.get("OSTYPE"); - case "user.name": return Environment.get("USER"); - case "user.home": return Environment.get("HOME"); - case "user.dir" : return Environment.get("PWD"); - case "file.separator" : return FileConst.PathSeparatorString ; - case "file.encoding" : implMissing( __FILE__, __LINE__); - case "network.proxy_host" : implMissing( __FILE__, __LINE__); - case "network.proxy_port" : implMissing( __FILE__, __LINE__); - - default: return null; - } - } + return ((p = key in localProperties) != null) ? *p : null; } public static void setProperty ( String key, String value ) { - /* set property for local dwt keys */ - if (key[0..3] == "dwt") { - if (key !is null && value !is null) - localProperties[ key ] = value; - /* else set properties for global system keys (environment) */ - } else { - - } - + /* set property for LOCAL dwt keys */ + if (key !is null && value !is null) + localProperties[ key ] = value; } static class Output { diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/internal/mozilla/nsIDocShell.d --- a/dwt/internal/mozilla/nsIDocShell.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/internal/mozilla/nsIDocShell.d Sun Nov 02 01:30:09 2008 -0800 @@ -133,7 +133,7 @@ const nsIID NS_IDOCSHELL_1_8_IID= { 0x9f0c7461, 0xb9a4, 0x47f6, - [ 0xb8,0xbc,0x42,0x1d,0xce,0x1b,0xce,0x66 ] }; + [ 0xb8,0x8c,0x42,0x1d,0xce,0x1b,0xce,0x66 ] }; interface nsIDocShell_1_8 : nsIDocShell { diff -r 676785ef6d24 -r 373b48b9eaf0 dwt/internal/mozilla/nsIProperties.d --- a/dwt/internal/mozilla/nsIProperties.d Fri Oct 31 23:35:10 2008 -0700 +++ b/dwt/internal/mozilla/nsIProperties.d Sun Nov 02 01:30:09 2008 -0800 @@ -1,4 +1,4 @@ -module mozilla.xpcom.nsIProperties; +module dwt.internal.mozilla.nsIProperties; import dwt.internal.mozilla.Common; import dwt.internal.mozilla.nsID;