Mercurial > projects > dwt-linux
comparison dwt/browser/Mozilla.d @ 343:96243e3ebcf0
Mozilla.d compiles successfully :)
author | John Reimer <terminal.node@gmail.com> |
---|---|
date | Mon, 27 Oct 2008 06:28:02 -0700 |
parents | 942da4b6558a |
children | 2e591eb01162 |
comparison
equal
deleted
inserted
replaced
342:8d03ae013e53 | 343:96243e3ebcf0 |
---|---|
24 | 24 |
25 import tango.text.locale.Core; // Necessary for Region/Culture/Locale code | 25 import tango.text.locale.Core; // Necessary for Region/Culture/Locale code |
26 import tango.text.convert.Format; | 26 import tango.text.convert.Format; |
27 import tango.io.Console; | 27 import tango.io.Console; |
28 import tango.sys.Environment; | 28 import tango.sys.Environment; |
29 import tango.stdc.string; | |
29 | 30 |
30 import dwt.internal.c.gtk; | 31 import dwt.internal.c.gtk; |
31 | 32 |
32 import dwt.DWT; | 33 import dwt.DWT; |
33 import dwt.DWTError; | 34 import dwt.DWTError; |
44 import dwt.browser.HelperAppLauncherDialogFactory; | 45 import dwt.browser.HelperAppLauncherDialogFactory; |
45 import dwt.browser.DownloadFactory; | 46 import dwt.browser.DownloadFactory; |
46 import dwt.browser.DownloadFactory_1_8; | 47 import dwt.browser.DownloadFactory_1_8; |
47 import dwt.browser.FilePickerFactory; | 48 import dwt.browser.FilePickerFactory; |
48 import dwt.browser.FilePickerFactory_1_8; | 49 import dwt.browser.FilePickerFactory_1_8; |
50 import dwt.browser.InputStream; | |
51 import dwt.browser.StatusTextEvent; | |
52 import dwt.browser.ProgressEvent; | |
53 import dwt.browser.LocationEvent; | |
54 import dwt.browser.WindowEvent; | |
55 import dwt.browser.TitleEvent; | |
49 | 56 |
50 import dwt.internal.Compatibility; | 57 import dwt.internal.Compatibility; |
51 import dwt.internal.LONG; | 58 import dwt.internal.LONG; |
52 import dwt.internal.Library; | 59 import dwt.internal.Library; |
53 | 60 |
193 static final String PREFERENCE_PROXYHOST_SSL = "network.proxy.ssl"; //$NON-NLS-1$ | 200 static final String PREFERENCE_PROXYHOST_SSL = "network.proxy.ssl"; //$NON-NLS-1$ |
194 static final String PREFERENCE_PROXYPORT_SSL = "network.proxy.ssl_port"; //$NON-NLS-1$ | 201 static final String PREFERENCE_PROXYPORT_SSL = "network.proxy.ssl_port"; //$NON-NLS-1$ |
195 static final String PREFERENCE_PROXYTYPE = "network.proxy.type"; //$NON-NLS-1$ | 202 static final String PREFERENCE_PROXYTYPE = "network.proxy.type"; //$NON-NLS-1$ |
196 static final String PROFILE_AFTER_CHANGE = "profile-after-change"; //$NON-NLS-1$ | 203 static final String PROFILE_AFTER_CHANGE = "profile-after-change"; //$NON-NLS-1$ |
197 static final String PROFILE_BEFORE_CHANGE = "profile-before-change"; //$NON-NLS-1$ | 204 static final String PROFILE_BEFORE_CHANGE = "profile-before-change"; //$NON-NLS-1$ |
198 static final String PROFILE_DIR = SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; //$NON-NLS-1$ | 205 static String PROFILE_DIR; //= SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; //$NON-NLS-1$ |
199 static final String PROFILE_DO_CHANGE = "profile-do-change"; //$NON-NLS-1$ | 206 static final String PROFILE_DO_CHANGE = "profile-do-change"; //$NON-NLS-1$ |
200 static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$ | 207 static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$ |
201 static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$ | 208 static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$ |
202 static final String SEPARATOR_LOCALE = "-"; //$NON-NLS-1$ | 209 static final String SEPARATOR_LOCALE = "-"; //$NON-NLS-1$ |
203 static final String SHUTDOWN_PERSIST = "shutdown-persist"; //$NON-NLS-1$ | 210 static final String SHUTDOWN_PERSIST = "shutdown-persist"; //$NON-NLS-1$ |
208 | 215 |
209 // TEMPORARY CODE | 216 // TEMPORARY CODE |
210 static final String GRE_INITIALIZED = "dwt.browser.XULRunnerInitialized"; //$NON-NLS-1$ | 217 static final String GRE_INITIALIZED = "dwt.browser.XULRunnerInitialized"; //$NON-NLS-1$ |
211 | 218 |
212 static this () { | 219 static this () { |
220 PROFILE_DIR = SEPARATOR_OS ~ "eclipse" ~ SEPARATOR_OS; | |
213 MozillaClearSessions = new class() Runnable { | 221 MozillaClearSessions = new class() Runnable { |
214 public void run () { | 222 public void run () { |
215 if (!Initialized) return; | 223 if (!Initialized) return; |
216 nsIServiceManager serviceManager; | 224 nsIServiceManager serviceManager; |
217 int rc = XPCOM.NS_GetServiceManager (&serviceManager); | 225 int rc = XPCOM.NS_GetServiceManager (&serviceManager); |
1359 mozDelegate.init (); | 1367 mozDelegate.init (); |
1360 | 1368 |
1361 listener = new class () Listener { | 1369 listener = new class () Listener { |
1362 public void handleEvent (Event event) { | 1370 public void handleEvent (Event event) { |
1363 Control control = cast(Control)this.outer.browser; | 1371 Control control = cast(Control)this.outer.browser; |
1372 Browser browser = this.outer.browser; | |
1364 switch (event.type) { | 1373 switch (event.type) { |
1365 case DWT.Dispose: { | 1374 case DWT.Dispose: { |
1366 /* make this handler run after other dispose listeners */ | 1375 /* make this handler run after other dispose listeners */ |
1367 if (ignoreDispose) { | 1376 if (ignoreDispose) { |
1368 ignoreDispose = false; | 1377 ignoreDispose = false; |
1811 if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); | 1820 if (serviceManager is null) error (XPCOM.NS_NOINTERFACE); |
1812 | 1821 |
1813 //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); | 1822 //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); |
1814 //result[0] = 0; | 1823 //result[0] = 0; |
1815 nsIIOService ioService; | 1824 nsIIOService ioService; |
1816 rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, &nsIIOService.IID, cast(void**)&ioService); | 1825 rc = serviceManager.GetService (&XPCOM.NS_IOSERVICE_CID, &nsIIOService.IID, cast(void**)&ioService); |
1817 if (rc !is XPCOM.NS_OK) error (rc); | 1826 if (rc !is XPCOM.NS_OK) error (rc); |
1818 if (ioService is null) error (XPCOM.NS_NOINTERFACE); | 1827 if (ioService is null) error (XPCOM.NS_NOINTERFACE); |
1819 serviceManager.Release (); | 1828 serviceManager.Release (); |
1820 | 1829 |
1821 //nsIIOService ioService = new nsIIOService (result[0]); | 1830 //nsIIOService ioService = new nsIIOService (result[0]); |
1847 * Feature in Mozilla. LoadStream invokes the nsIInputStream argument | 1856 * Feature in Mozilla. LoadStream invokes the nsIInputStream argument |
1848 * through a different thread. The callback mechanism must attach | 1857 * through a different thread. The callback mechanism must attach |
1849 * a non java thread to the JVM otherwise the nsIInputStream Read and | 1858 * a non java thread to the JVM otherwise the nsIInputStream Read and |
1850 * Close methods never get called. | 1859 * Close methods never get called. |
1851 */ | 1860 */ |
1852 InputStream inputStream = new InputStream (data); | 1861 |
1862 // Using fully qualified name for disambiguation with dwthelper InputStream -JJR | |
1863 auto inputStream = new dwt.browser.InputStream.InputStream (cast(byte[])html); | |
1853 inputStream.AddRef (); | 1864 inputStream.AddRef (); |
1854 | 1865 |
1855 nsIDocShell_1_9 docShell_1_9; | 1866 nsIDocShell_1_9 docShell_1_9; |
1856 rc = interfaceRequestor.GetInterface (&nsIDocShell_1_9.IID, cast(void**)&docShell_1_9); | 1867 rc = interfaceRequestor.GetInterface (&nsIDocShell_1_9.IID, cast(void**)&docShell_1_9); |
1857 if (rc is XPCOM.NS_OK) { | 1868 if (rc is XPCOM.NS_OK) { |
1859 //nsIDocShell_1_9 docShell = new nsIDocShell_1_9 (result[0]); | 1870 //nsIDocShell_1_9 docShell = new nsIDocShell_1_9 (result[0]); |
1860 rc = docShell_1_9.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); | 1871 rc = docShell_1_9.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); |
1861 docShell_1_9.Release (); | 1872 docShell_1_9.Release (); |
1862 } else { | 1873 } else { |
1863 //result[0] = 0; | 1874 //result[0] = 0; |
1864 nsDocShell_1_8 docShell_1_8; | 1875 nsIDocShell_1_8 docShell_1_8; |
1865 rc = interfaceRequestor.GetInterface (&nsIDocShell_1_8.IID, cast(void**)&docShell_1_8); | 1876 rc = interfaceRequestor.GetInterface (&nsIDocShell_1_8.IID, cast(void**)&docShell_1_8); |
1866 if (rc is XPCOM.NS_OK) { | 1877 if (rc is XPCOM.NS_OK) { |
1867 if (docShell_1_8 is null) error (XPCOM.NS_ERROR_NO_INTERFACE); | 1878 if (docShell_1_8 is null) error (XPCOM.NS_ERROR_NO_INTERFACE); |
1868 //nsIDocShell_1_8 docShell = new nsIDocShell_1_8 (result[0]); | 1879 //nsIDocShell_1_8 docShell = new nsIDocShell_1_8 (result[0]); |
1869 rc = docShell_1_8.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); | 1880 rc = docShell_1_8.LoadStream (inputStream, uri, cast(nsACString*)aContentType, cast(nsACString*)aContentCharset, null); |
1893 public bool setUrl (String url) { | 1904 public bool setUrl (String url) { |
1894 awaitingNavigate = false; | 1905 awaitingNavigate = false; |
1895 | 1906 |
1896 //int /*long*/[] result = new int /*long*/[1]; | 1907 //int /*long*/[] result = new int /*long*/[1]; |
1897 nsIWebNavigation webNavigation; | 1908 nsIWebNavigation webNavigation; |
1898 int rc = webBrowser.QueryInterface (nsIWebNavigation.IID, cast(void**)&webNavigation); | 1909 int rc = webBrowser.QueryInterface (&nsIWebNavigation.IID, cast(void**)&webNavigation); |
1899 if (rc !is XPCOM.NS_OK) error (rc); | 1910 if (rc !is XPCOM.NS_OK) error (rc); |
1900 if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE); | 1911 if (webNavigation is null) error (XPCOM.NS_ERROR_NO_INTERFACE); |
1901 | 1912 |
1902 //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); | 1913 //nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); |
1903 //char[] uri = new char[url.length () + 1]; | 1914 //char[] uri = new char[url.length () + 1]; |
1904 //url.getChars (0, url.length (), uri, 0); | 1915 //url.getChars (0, url.length (), uri, 0); |
1905 rc = webNavigation.LoadURI (Utf.toString16(url).toString16z, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); | 1916 rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); |
1906 webNavigation.Release (); | 1917 webNavigation.Release (); |
1907 return rc is XPCOM.NS_OK; | 1918 return rc is XPCOM.NS_OK; |
1908 } | 1919 } |
1909 | 1920 |
1910 public void stop () { | 1921 public void stop () { |
1921 if (rc !is XPCOM.NS_OK) error (rc); | 1932 if (rc !is XPCOM.NS_OK) error (rc); |
1922 webNavigation.Release (); | 1933 webNavigation.Release (); |
1923 } | 1934 } |
1924 | 1935 |
1925 void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { | 1936 void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { |
1926 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); | 1937 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); |
1927 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1938 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1928 //string.dispose (); | 1939 //string.dispose (); |
1929 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); | 1940 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); |
1930 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1941 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1931 //string.dispose (); | 1942 //string.dispose (); |
1932 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); | 1943 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN.toString16()); |
1933 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1944 target.AddEventListener (cast(nsAString*)string,cast(nsIDOMEventListener)this, 0); |
1934 //string.dispose (); | 1945 //string.dispose (); |
1935 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); | 1946 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP.toString16()); |
1936 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1947 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1937 //string.dispose (); | 1948 //string.dispose (); |
1938 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); | 1949 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE.toString16()); |
1939 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1950 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1940 //string.dispose (); | 1951 //string.dispose (); |
1941 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); | 1952 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL.toString16()); |
1942 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1953 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1943 //string.dispose (); | 1954 //string.dispose (); |
1944 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); | 1955 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG.toString16()); |
1945 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1956 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1946 //string.dispose (); | 1957 //string.dispose (); |
1947 | 1958 |
1948 /* | 1959 /* |
1949 * Only hook mouseover and mouseout if the target is a top-level frame, so that mouse moves | 1960 * Only hook mouseover and mouseout if the target is a top-level frame, so that mouse moves |
1950 * between frames will not generate events. | 1961 * between frames will not generate events. |
1951 */ | 1962 */ |
1952 if (isTop && mozDelegate.hookEnterExit ()) { | 1963 if (isTop && mozDelegate.hookEnterExit ()) { |
1953 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); | 1964 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER.toString16()); |
1954 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1965 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1955 //string.dispose (); | 1966 //string.dispose (); |
1956 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); | 1967 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT.toString16()); |
1957 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1968 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1958 //string.dispose (); | 1969 //string.dispose (); |
1959 } | 1970 } |
1960 | 1971 |
1961 string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); | 1972 string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN.toString16()); |
1962 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1973 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1963 //string.dispose (); | 1974 //string.dispose (); |
1964 string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); | 1975 string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS.toString16()); |
1965 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1976 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1966 //string.dispose (); | 1977 //string.dispose (); |
1967 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); | 1978 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); |
1968 target.AddEventListener (cast(nsAString*)string, domEventListener, 0); | 1979 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1969 //string.dispose (); | 1980 //string.dispose (); |
1970 } | 1981 } |
1971 | 1982 |
1972 void unhookDOMListeners () { | 1983 void unhookDOMListeners () { |
1973 //int /*long*/[] result = new int /*long*/[1]; | 1984 //int /*long*/[] result = new int /*long*/[1]; |
2023 frames.Release (); | 2034 frames.Release (); |
2024 window.Release (); | 2035 window.Release (); |
2025 } | 2036 } |
2026 | 2037 |
2027 void unhookDOMListeners (nsIDOMEventTarget target) { | 2038 void unhookDOMListeners (nsIDOMEventTarget target) { |
2028 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); | 2039 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); |
2029 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2040 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2030 //string.dispose (); | 2041 //string.dispose (); |
2031 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); | 2042 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); |
2032 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2043 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2033 //string.dispose (); | 2044 //string.dispose (); |
2034 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); | 2045 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN.toString16()); |
2035 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2046 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2036 //string.dispose (); | 2047 //string.dispose (); |
2037 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); | 2048 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP.toString16()); |
2038 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2049 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2039 //string.dispose (); | 2050 //string.dispose (); |
2040 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); | 2051 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE.toString16()); |
2041 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2052 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2042 //string.dispose (); | 2053 //string.dispose (); |
2043 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); | 2054 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL.toString16()); |
2044 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2055 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2045 //string.dispose (); | 2056 //string.dispose (); |
2046 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); | 2057 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG.toString16()); |
2047 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2058 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2048 //string.dispose (); | 2059 //string.dispose (); |
2049 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); | 2060 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER.toString16()); |
2050 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2061 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2051 //string.dispose (); | 2062 //string.dispose (); |
2052 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); | 2063 string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT.toString16()); |
2053 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2064 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2054 //string.dispose (); | 2065 //string.dispose (); |
2055 string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); | 2066 string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN.toString16()); |
2056 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2067 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2057 //string.dispose (); | 2068 //string.dispose (); |
2058 string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); | 2069 string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS.toString16()); |
2059 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2070 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2060 //string.dispose (); | 2071 //string.dispose (); |
2061 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); | 2072 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); |
2062 target.RemoveEventListener (cast(nsAString*)string, domEventListener, 0); | 2073 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2063 //string.dispose (); | 2074 //string.dispose (); |
2064 } | 2075 } |
2065 | 2076 |
2066 /* nsISupports */ | 2077 /* nsISupports */ |
2067 | 2078 |
2112 *ppvObject = cast(void*)cast(nsIContextMenuListener)this; | 2123 *ppvObject = cast(void*)cast(nsIContextMenuListener)this; |
2113 AddRef (); | 2124 AddRef (); |
2114 return XPCOM.NS_OK; | 2125 return XPCOM.NS_OK; |
2115 } | 2126 } |
2116 if (*riid == nsIURIContentListener.IID) { | 2127 if (*riid == nsIURIContentListener.IID) { |
2117 *ppvObject = cast(void*)cast(nsIUriContentListener)this; | 2128 *ppvObject = cast(void*)cast(nsIURIContentListener)this; |
2118 AddRef (); | 2129 AddRef (); |
2119 return XPCOM.NS_OK; | 2130 return XPCOM.NS_OK; |
2120 } | 2131 } |
2121 if (*riid == nsITooltipListener.IID) { | 2132 if (*riid == nsITooltipListener.IID) { |
2122 *ppvObject = cast(void*)cast(nsITooltipListener)this; | 2133 *ppvObject = cast(void*)cast(nsITooltipListener)this; |
2148 | 2159 |
2149 nsresult GetInterface ( nsID* riid, void** ppvObject) { | 2160 nsresult GetInterface ( nsID* riid, void** ppvObject) { |
2150 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; | 2161 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; |
2151 //nsID guid = new nsID (); | 2162 //nsID guid = new nsID (); |
2152 //XPCOM.memmove (guid, riid, nsID.sizeof); | 2163 //XPCOM.memmove (guid, riid, nsID.sizeof); |
2153 if ((*riid).Equals (nsIDOMWindow.IID)) { | 2164 if (*riid == nsIDOMWindow.IID) { |
2154 nsIDOMWindow aContentDOMWindow; | 2165 nsIDOMWindow aContentDOMWindow; |
2155 //int /*long*/[] aContentDOMWindow = new int /*long*/[1]; | 2166 //int /*long*/[] aContentDOMWindow = new int /*long*/[1]; |
2156 int rc = webBrowser.GetContentDOMWindow (&aContentDOMWindow); | 2167 int rc = webBrowser.GetContentDOMWindow (&aContentDOMWindow); |
2157 if (rc !is XPCOM.NS_OK) error (rc); | 2168 if (rc !is XPCOM.NS_OK) error (rc); |
2158 if (aContentDOMWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); | 2169 if (aContentDOMWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); |
2161 return rc; | 2172 return rc; |
2162 } | 2173 } |
2163 return QueryInterface (riid, ppvObject); | 2174 return QueryInterface (riid, ppvObject); |
2164 } | 2175 } |
2165 | 2176 |
2166 nsresult GetWeakReference (void** ppvObject) { | 2177 nsresult GetWeakReference (nsIWeakReference* ppvObject) { |
2167 *ppvObject = cast(void*)cast(nsIWeakReference)this; | 2178 *ppvObject = cast(nsIWeakReference)this; |
2168 //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); | 2179 //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); |
2169 AddRef (); | 2180 AddRef (); |
2170 return XPCOM.NS_OK; | 2181 return XPCOM.NS_OK; |
2171 } | 2182 } |
2172 | 2183 |
2247 * To handle this case, the variable request is set to 0 when the corresponding | 2258 * To handle this case, the variable request is set to 0 when the corresponding |
2248 * request is redirected. The following request received with the state STATE_STOP | 2259 * request is redirected. The following request received with the state STATE_STOP |
2249 * - the new request resulting from the redirection - is used to send | 2260 * - the new request resulting from the redirection - is used to send |
2250 * the ProgressListener.completed event. | 2261 * the ProgressListener.completed event. |
2251 */ | 2262 */ |
2252 if (request is aRequest || request is 0) { | 2263 if (request is aRequest || request is null) { |
2253 request = 0; | 2264 request = null; |
2254 if (!awaitingNavigate) { | 2265 if (!awaitingNavigate) { |
2255 StatusTextEvent event = new StatusTextEvent (browser); | 2266 StatusTextEvent event = new StatusTextEvent (browser); |
2256 event.display = browser.getDisplay (); | 2267 event.display = browser.getDisplay (); |
2257 event.widget = browser; | 2268 event.widget = browser; |
2258 event.text = ""; //$NON-NLS-1$ | 2269 event.text = ""; //$NON-NLS-1$ |
2273 * the earliest opportunity to do so. | 2284 * the earliest opportunity to do so. |
2274 */ | 2285 */ |
2275 //int /*long*/[] result = new int /*long*/[1]; | 2286 //int /*long*/[] result = new int /*long*/[1]; |
2276 // nsIWebProgress progress = new nsIWebProgress (aWebProgress); | 2287 // nsIWebProgress progress = new nsIWebProgress (aWebProgress); |
2277 nsIDOMWindow domWindow; | 2288 nsIDOMWindow domWindow; |
2278 int rc = progress.GetDOMWindow (&domWindow); | 2289 int rc = aWebProgress.GetDOMWindow (&domWindow); |
2279 if (rc !is XPCOM.NS_OK) error (rc); | 2290 if (rc !is XPCOM.NS_OK) error (rc); |
2280 if (domWindow is null) error (XPCOM.NS_NOINTERFACE); | 2291 if (domWindow is null) error (XPCOM.NS_NOINTERFACE); |
2281 //nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); | 2292 //nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); |
2282 | 2293 |
2283 //LONG ptrObject = new LONG (result[0]); | 2294 //LONG ptrObject = new LONG (result[0]); |
2303 | 2314 |
2304 /* | 2315 /* |
2305 * Remove and unreference the nsIDOMWindow from the collection of windows | 2316 * Remove and unreference the nsIDOMWindow from the collection of windows |
2306 * that are waiting to have DOM listeners hooked on them. | 2317 * that are waiting to have DOM listeners hooked on them. |
2307 */ | 2318 */ |
2308 unhookedDOMWindows = unhookedDOMWindows.arrayIndexRemove( domWindow); | 2319 unhookedDOMWindows = unhookedDOMWindows.arrayIndexRemove(index); |
2309 domWIndow.Release (); | 2320 domWindow.Release (); |
2310 } | 2321 } |
2311 domWindow.Release (); | 2322 domWindow.Release (); |
2312 } | 2323 } |
2313 return XPCOM.NS_OK; | 2324 return XPCOM.NS_OK; |
2314 } | 2325 } |
2342 | 2353 |
2343 //nsIWebProgress webProgress = new nsIWebProgress (aWebProgress); | 2354 //nsIWebProgress webProgress = new nsIWebProgress (aWebProgress); |
2344 | 2355 |
2345 nsIDOMWindow domWindow; | 2356 nsIDOMWindow domWindow; |
2346 //int /*long*/[] aDOMWindow = new int /*long*/[1]; | 2357 //int /*long*/[] aDOMWindow = new int /*long*/[1]; |
2347 int rc = webProgress.GetDOMWindow (&domWindow); | 2358 int rc = aWebProgress.GetDOMWindow (&domWindow); |
2348 if (rc !is XPCOM.NS_OK) error (rc); | 2359 if (rc !is XPCOM.NS_OK) error (rc); |
2349 if (domWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); | 2360 if (domWindow is null) error (XPCOM.NS_ERROR_NO_INTERFACE); |
2350 | 2361 |
2351 //nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]); | 2362 //nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]); |
2352 //int /*long*/[] aTop = new int /*long*/[1]; | 2363 //int /*long*/[] aTop = new int /*long*/[1]; |
2399 event.display = browser.getDisplay (); | 2410 event.display = browser.getDisplay (); |
2400 event.widget = browser; | 2411 event.widget = browser; |
2401 //int length = XPCOM.strlen_PRUnichar (aMessage); | 2412 //int length = XPCOM.strlen_PRUnichar (aMessage); |
2402 //char[] dest = new char[length]; | 2413 //char[] dest = new char[length]; |
2403 //XPCOM.memmove (dest, aMessage, length * 2); | 2414 //XPCOM.memmove (dest, aMessage, length * 2); |
2404 event.text = aMessage.fromString16z.toString; | 2415 event.text = Utf.toString(fromString16z(aMessage)); |
2405 for (int i = 0; i < statusTextListeners.length; i++) { | 2416 for (int i = 0; i < statusTextListeners.length; i++) { |
2406 statusTextListeners[i].changed (event); | 2417 statusTextListeners[i].changed (event); |
2407 } | 2418 } |
2408 return XPCOM.NS_OK; | 2419 return XPCOM.NS_OK; |
2409 } | 2420 } |
2421 event.widget = browser; | 2432 event.widget = browser; |
2422 //int length = XPCOM.strlen_PRUnichar (status); | 2433 //int length = XPCOM.strlen_PRUnichar (status); |
2423 //char[] dest = new char[length]; | 2434 //char[] dest = new char[length]; |
2424 //XPCOM.memmove (dest, status, length * 2); | 2435 //XPCOM.memmove (dest, status, length * 2); |
2425 //String string = new String (dest); | 2436 //String string = new String (dest); |
2426 event.text = status.fromString16z.toString; | 2437 event.text = Utf.toString(fromString16z(status)); |
2427 for (int i = 0; i < statusTextListeners.length; i++) { | 2438 for (int i = 0; i < statusTextListeners.length; i++) { |
2428 statusTextListeners[i].changed (event); | 2439 statusTextListeners[i].changed (event); |
2429 } | 2440 } |
2430 return XPCOM.NS_OK; | 2441 return XPCOM.NS_OK; |
2431 } | 2442 } |
2432 | 2443 |
2433 nsresult GetWebBrowser (nsIWebBrowser* aWebBrowser) { | 2444 nsresult GetWebBrowser (nsIWebBrowser* aWebBrowser) { |
2434 //int /*long*/[] ret = new int /*long*/[1]; | 2445 //int /*long*/[] ret = new int /*long*/[1]; |
2435 if (webBrowser !is null) { | 2446 if (webBrowser !is null) { |
2436 webBrowser.AddRef (); | 2447 webBrowser.AddRef (); |
2437 *aWebBrowser = cast(nsIWebBrowser)webBrowser; | 2448 *aWebBrowser = webBrowser; |
2438 } | 2449 } |
2439 //XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); | 2450 //XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); |
2440 return XPCOM.NS_OK; | 2451 return XPCOM.NS_OK; |
2441 } | 2452 } |
2442 | 2453 |
2443 nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) { | 2454 nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) { |
2444 if (webBrowser !is null) webBrowser.Release (); | 2455 if (webBrowser !is null) webBrowser.Release (); |
2445 webBrowser = aWebBrowser !is null ? cast(WebBrowser)cast(void*)aWebBrowser : null; | 2456 webBrowser = aWebBrowser !is null ? cast(nsIWebBrowser)cast(void*)aWebBrowser : null; |
2446 return XPCOM.NS_OK; | 2457 return XPCOM.NS_OK; |
2447 } | 2458 } |
2448 | 2459 |
2449 nsresult GetChromeFlags (PRUint32* aChromeFlags) { | 2460 nsresult GetChromeFlags (PRUint32* aChromeFlags) { |
2450 //int[] ret = new int[1]; | 2461 //int[] ret = new int[1]; |
2494 | 2505 |
2495 //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); | 2506 //nsIServiceManager serviceManager = new nsIServiceManager (result[0]); |
2496 //result[0] = 0; | 2507 //result[0] = 0; |
2497 //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true); | 2508 //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true); |
2498 nsIJSContextStack stack; | 2509 nsIJSContextStack stack; |
2499 rc = serviceManager.GetServiceByContractID (XPCOM.NS_CONTEXTSTACK_CONTRACTID, &nsIJSContextStack.IID, cast(void**)&stack); | 2510 rc = serviceManager.GetServiceByContractID (XPCOM.NS_CONTEXTSTACK_CONTRACTID.ptr, &nsIJSContextStack.IID, cast(void**)&stack); |
2500 if (rc !is XPCOM.NS_OK) error (rc); | 2511 if (rc !is XPCOM.NS_OK) error (rc); |
2501 if (stack is null) error (XPCOM.NS_NOINTERFACE); | 2512 if (stack is null) error (XPCOM.NS_NOINTERFACE); |
2502 serviceManager.Release (); | 2513 serviceManager.Release (); |
2503 | 2514 |
2504 //nsIJSContextStack stack = new nsIJSContextStack (result[0]); | 2515 //nsIJSContextStack stack = new nsIJSContextStack (result[0]); |
2505 //result[0] = 0; | 2516 //result[0] = 0; |
2506 rc = stack.Push (0); | 2517 rc = stack.Push (null); |
2507 if (rc !is XPCOM.NS_OK) error (rc); | 2518 if (rc !is XPCOM.NS_OK) error (rc); |
2508 | 2519 |
2509 Shell shell = browser.getShell (); | 2520 Shell shell = browser.getShell (); |
2510 Display display = browser.getDisplay (); | 2521 Display display = browser.getDisplay (); |
2511 while (!shell.isDisposed ()) { | 2522 while (!shell.isDisposed ()) { |
2512 if (!display.readAndDispatch ()) display.sleep (); | 2523 if (!display.readAndDispatch ()) display.sleep (); |
2513 } | 2524 } |
2514 | 2525 JSContext* result; |
2515 rc = stack.Pop (result); | 2526 rc = stack.Pop (&result); |
2516 if (rc !is XPCOM.NS_OK) error (rc); | 2527 if (rc !is XPCOM.NS_OK) error (rc); |
2517 stack.Release (); | 2528 stack.Release (); |
2518 return XPCOM.NS_OK; | 2529 return XPCOM.NS_OK; |
2519 } | 2530 } |
2520 | 2531 |
2583 return XPCOM.NS_OK; | 2594 return XPCOM.NS_OK; |
2584 } | 2595 } |
2585 | 2596 |
2586 nsresult GetVisibility (PRBool* aVisibility) { | 2597 nsresult GetVisibility (PRBool* aVisibility) { |
2587 bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); | 2598 bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); |
2588 *aVisible = visible ? 1 : 0; | 2599 *aVisibility = visible ? 1 : 0; |
2589 //XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ | 2600 //XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ |
2590 return XPCOM.NS_OK; | 2601 return XPCOM.NS_OK; |
2591 } | 2602 } |
2592 | 2603 |
2593 nsresult SetVisibility (PRBool aVisibility) { | 2604 nsresult SetVisibility (PRBool aVisibility) { |
2643 */ | 2654 */ |
2644 int length = XPCOM.strlen_PRUnichar (aTitle); | 2655 int length = XPCOM.strlen_PRUnichar (aTitle); |
2645 if (length > 0) { | 2656 if (length > 0) { |
2646 //char[] dest = new char[length]; | 2657 //char[] dest = new char[length]; |
2647 //XPCOM.memmove (dest, aTitle, length * 2); | 2658 //XPCOM.memmove (dest, aTitle, length * 2); |
2648 event.title = aTitle.fromString16z.toString; | 2659 event.title = Utf.toString(fromString16z(aTitle)); |
2649 } else { | 2660 } else { |
2650 event.title = getUrl (); | 2661 event.title = getUrl (); |
2651 } | 2662 } |
2652 for (int i = 0; i < titleListeners.length; i++) { | 2663 for (int i = 0; i < titleListeners.length; i++) { |
2653 titleListeners[i].changed (event); | 2664 titleListeners[i].changed (event); |
2707 if (awaitingNavigate) return XPCOM.NS_OK; | 2718 if (awaitingNavigate) return XPCOM.NS_OK; |
2708 | 2719 |
2709 //nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); | 2720 //nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); |
2710 //int /*long*/[] result = new int /*long*/[1]; | 2721 //int /*long*/[] result = new int /*long*/[1]; |
2711 nsIDOMMouseEvent domMouseEvent; | 2722 nsIDOMMouseEvent domMouseEvent; |
2712 int rc = domEvent.QueryInterface (&nsIDOMMouseEvent.IID, cast(void**)&domMouseEvent); | 2723 int rc = aEvent.QueryInterface (&nsIDOMMouseEvent.IID, cast(void**)&domMouseEvent); |
2713 if (rc !is XPCOM.NS_OK) error (rc); | 2724 if (rc !is XPCOM.NS_OK) error (rc); |
2714 if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE); | 2725 if (domMouseEvent is null) error (XPCOM.NS_NOINTERFACE); |
2715 | 2726 |
2716 //nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); | 2727 //nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); |
2717 PRInt32 aScreenX, aScreenY; | 2728 PRInt32 aScreenX, aScreenY; |
2744 //XPCOM.memmove (retval, new int[] {0}, 4); /* PRBool */ | 2755 //XPCOM.memmove (retval, new int[] {0}, 4); /* PRBool */ |
2745 return XPCOM.NS_OK; | 2756 return XPCOM.NS_OK; |
2746 } | 2757 } |
2747 //nsIURI location = new nsIURI (aURI); | 2758 //nsIURI location = new nsIURI (aURI); |
2748 scope auto aSpec = new nsEmbedCString; | 2759 scope auto aSpec = new nsEmbedCString; |
2749 location.GetSpec (cast(nsACString*)aSpec); | 2760 aURI.GetSpec (cast(nsACString*)aSpec); |
2750 //int length = XPCOM.nsEmbedCString_Length (aSpec); | 2761 //int length = XPCOM.nsEmbedCString_Length (aSpec); |
2751 //int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); | 2762 //int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); |
2752 //buffer = XPCOM.nsEmbedCString_get (aSpec); | 2763 //buffer = XPCOM.nsEmbedCString_get (aSpec); |
2753 //byte[] dest = new byte[length]; | 2764 //byte[] dest = new byte[length]; |
2754 //XPCOM.memmove (dest, buffer, length); | 2765 //XPCOM.memmove (dest, buffer, length); |
2790 bool preferred = false; | 2801 bool preferred = false; |
2791 auto size = strlen (aContentType); | 2802 auto size = strlen (aContentType); |
2792 if (size > 0) { | 2803 if (size > 0) { |
2793 //byte[] typeBytes = new byte[size + 1]; | 2804 //byte[] typeBytes = new byte[size + 1]; |
2794 //XPCOM.memmove (typeBytes, aContentType, size); | 2805 //XPCOM.memmove (typeBytes, aContentType, size); |
2795 String contentType = aContentType.fromStringz; | 2806 String contentType = fromStringz(aContentType); |
2796 | 2807 |
2797 /* do not attempt to handle known problematic content types */ | 2808 /* do not attempt to handle known problematic content types */ |
2798 if (!contentType.equals (XPCOM.CONTENT_MAYBETEXT) && !contentType.equals (XPCOM.CONTENT_MULTIPART)) { | 2809 if (!contentType.equals (XPCOM.CONTENT_MAYBETEXT) && !contentType.equals (XPCOM.CONTENT_MULTIPART)) { |
2799 /* determine whether browser can handle the content type */ | 2810 /* determine whether browser can handle the content type */ |
2800 // int /*long*/[] result = new int /*long*/[1]; | 2811 // int /*long*/[] result = new int /*long*/[1]; |
2806 //result[0] = 0; | 2817 //result[0] = 0; |
2807 | 2818 |
2808 /* First try to use the nsIWebNavigationInfo if it's available (>= mozilla 1.8) */ | 2819 /* First try to use the nsIWebNavigationInfo if it's available (>= mozilla 1.8) */ |
2809 //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, true); | 2820 //byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, true); |
2810 nsIWebNavigationInfo info; | 2821 nsIWebNavigationInfo info; |
2811 rc = serviceManager.GetServiceByContractID (XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, &nsIWebNavigationInfo.IID, cast(void**)&info); | 2822 rc = serviceManager.GetServiceByContractID (XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID.ptr, &nsIWebNavigationInfo.IID, cast(void**)&info); |
2812 if (rc is 0) { | 2823 if (rc is 0) { |
2813 //byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true); | 2824 //byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true); |
2814 scope auto typePtr = nsEmbedCString(contentType); | 2825 scope auto typePtr = new nsEmbedCString(contentType); |
2815 //nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]); | 2826 //nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]); |
2816 //result[0] = 0; | 2827 //result[0] = 0; |
2817 PRUint32 isSupportedResult; /* PRUint32 */ | 2828 PRUint32 isSupportedResult; /* PRUint32 */ |
2818 rc = info.IsTypeSupported (cast(nsACString*)typePtr, null, &isSupportedResult); | 2829 rc = info.IsTypeSupported (cast(nsACString*)typePtr, null, &isSupportedResult); |
2819 if (rc !is XPCOM.NS_OK) error (rc); | 2830 if (rc !is XPCOM.NS_OK) error (rc); |
2822 preferred = isSupportedResult !is 0; | 2833 preferred = isSupportedResult !is 0; |
2823 } else { | 2834 } else { |
2824 /* nsIWebNavigationInfo is not available, so do the type lookup */ | 2835 /* nsIWebNavigationInfo is not available, so do the type lookup */ |
2825 //result[0] = 0; | 2836 //result[0] = 0; |
2826 nsICategoryManager categoryManager; | 2837 nsICategoryManager categoryManager; |
2827 rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, &nsICategoryManager.IID, &categoryManager); | 2838 rc = serviceManager.GetService (&XPCOM.NS_CATEGORYMANAGER_CID, &nsICategoryManager.IID, cast(void**)&categoryManager); |
2828 if (rc !is XPCOM.NS_OK) error (rc); | 2839 if (rc !is XPCOM.NS_OK) error (rc); |
2829 if (categoryManager is null) error (XPCOM.NS_NOINTERFACE); | 2840 if (categoryManager is null) error (XPCOM.NS_NOINTERFACE); |
2830 | 2841 |
2831 //nsICategoryManager categoryManager = new nsICategoryManager (result[0]); | 2842 //nsICategoryManager categoryManager = new nsICategoryManager (result[0]); |
2832 //result[0] = 0; | 2843 //result[0] = 0; |
2874 if (awaitingNavigate) return XPCOM.NS_OK; | 2885 if (awaitingNavigate) return XPCOM.NS_OK; |
2875 | 2886 |
2876 //int length = XPCOM.strlen_PRUnichar (aTipText); | 2887 //int length = XPCOM.strlen_PRUnichar (aTipText); |
2877 //char[] dest = new char[length]; | 2888 //char[] dest = new char[length]; |
2878 //XPCOM.memmove (dest, aTipText, length * 2); | 2889 //XPCOM.memmove (dest, aTipText, length * 2); |
2879 String text = aTipText.fromString16z.toString; | 2890 String text = Utf.toString(fromString16z(aTipText)); |
2880 if (tip !is null && !tip.isDisposed ()) tip.dispose (); | 2891 if (tip !is null && !tip.isDisposed ()) tip.dispose (); |
2881 Display display = browser.getDisplay (); | 2892 Display display = browser.getDisplay (); |
2882 Shell parent = browser.getShell (); | 2893 Shell parent = browser.getShell (); |
2883 tip = new Shell (parent, DWT.ON_TOP); | 2894 tip = new Shell (parent, DWT.ON_TOP); |
2884 tip.setLayout (new FillLayout()); | 2895 tip.setLayout (new FillLayout()); |
2944 if (XPCOM.DOMEVENT_KEYDOWN.equals (typeString)) { | 2955 if (XPCOM.DOMEVENT_KEYDOWN.equals (typeString)) { |
2945 //int /*long*/[] result = new int /*long*/[1]; | 2956 //int /*long*/[] result = new int /*long*/[1]; |
2946 nsIDOMKeyEvent domKeyEvent; | 2957 nsIDOMKeyEvent domKeyEvent; |
2947 rc = event.QueryInterface (&nsIDOMKeyEvent.IID, cast(void**)&domKeyEvent); | 2958 rc = event.QueryInterface (&nsIDOMKeyEvent.IID, cast(void**)&domKeyEvent); |
2948 if (rc !is XPCOM.NS_OK) error (rc); | 2959 if (rc !is XPCOM.NS_OK) error (rc); |
2949 if (domKeyevent is null) error (XPCOM.NS_NOINTERFACE); | 2960 if (domKeyEvent is null) error (XPCOM.NS_NOINTERFACE); |
2950 //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); | 2961 //nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); |
2951 //result[0] = 0; | 2962 //result[0] = 0; |
2952 | 2963 |
2953 PRUint32 aKeyCode; /* PRUint32 */ | 2964 PRUint32 aKeyCode; /* PRUint32 */ |
2954 rc = domKeyEvent.GetKeyCode (&aKeyCode); | 2965 rc = domKeyEvent.GetKeyCode (&aKeyCode); |