Mercurial > projects > dwt-linux
comparison dwt/browser/Mozilla.d @ 348:9a4d7706df52
Test Update to fix linux XPCOM interface issues
author | John Reimer <terminal.node@gmail.com> |
---|---|
date | Fri, 31 Oct 2008 21:46:44 -0700 |
parents | 2e591eb01162 |
children | 373b48b9eaf0 |
comparison
equal
deleted
inserted
replaced
347:ff6dd48f5248 | 348:9a4d7706df52 |
---|---|
253 enumerator.Release (); | 253 enumerator.Release (); |
254 } | 254 } |
255 }; | 255 }; |
256 } | 256 } |
257 | 257 |
258 extern(D) | |
258 public void create (Composite parent, int style) { | 259 public void create (Composite parent, int style) { |
259 mozDelegate = new MozillaDelegate (super.browser); | 260 mozDelegate = new MozillaDelegate (super.browser); |
260 Display display = parent.getDisplay (); | 261 Display display = parent.getDisplay (); |
261 | 262 |
262 //int /*long*/[] result = new int /*long*/[1]; | 263 //int /*long*/[] result = new int /*long*/[1]; |
1401 for (int i = 0; i < folderEvents.length; i++) { | 1402 for (int i = 0; i < folderEvents.length; i++) { |
1402 browser.addListener (folderEvents[i], listener); | 1403 browser.addListener (folderEvents[i], listener); |
1403 } | 1404 } |
1404 } | 1405 } |
1405 | 1406 |
1407 extern(D) | |
1406 public bool back () { | 1408 public bool back () { |
1407 if (awaitingNavigate) return false; | 1409 if (awaitingNavigate) return false; |
1408 | 1410 |
1409 //int /*long*/[] result = new int /*long*/[1]; | 1411 //int /*long*/[] result = new int /*long*/[1]; |
1410 nsIWebNavigation webNavigation; | 1412 nsIWebNavigation webNavigation; |
1416 rc = webNavigation.GoBack (); | 1418 rc = webNavigation.GoBack (); |
1417 webNavigation.Release (); | 1419 webNavigation.Release (); |
1418 return rc is XPCOM.NS_OK; | 1420 return rc is XPCOM.NS_OK; |
1419 } | 1421 } |
1420 | 1422 |
1423 extern(D) | |
1421 public bool execute (String script) { | 1424 public bool execute (String script) { |
1422 if (awaitingNavigate) return false; | 1425 if (awaitingNavigate) return false; |
1423 | 1426 |
1424 String url = PREFIX_JAVASCRIPT ~ script ~ ";void(0);"; //$NON-NLS-1$ | 1427 String url = PREFIX_JAVASCRIPT ~ script ~ ";void(0);"; //$NON-NLS-1$ |
1425 //int /*long*/[] result = new int /*long*/[1]; | 1428 //int /*long*/[] result = new int /*long*/[1]; |
1435 rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); | 1438 rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); |
1436 webNavigation.Release (); | 1439 webNavigation.Release (); |
1437 return rc is XPCOM.NS_OK; | 1440 return rc is XPCOM.NS_OK; |
1438 } | 1441 } |
1439 | 1442 |
1443 extern(D) | |
1440 static Browser findBrowser (void* handle) { | 1444 static Browser findBrowser (void* handle) { |
1441 return MozillaDelegate.findBrowser (cast(GtkWidget*)handle); | 1445 return MozillaDelegate.findBrowser (cast(GtkWidget*)handle); |
1442 } | 1446 } |
1443 | 1447 |
1448 extern(D) | |
1444 public bool forward () { | 1449 public bool forward () { |
1445 if (awaitingNavigate) return false; | 1450 if (awaitingNavigate) return false; |
1446 | 1451 |
1447 //int /*long*/[] result = new int /*long*/[1]; | 1452 //int /*long*/[] result = new int /*long*/[1]; |
1448 nsIWebNavigation webNavigation; | 1453 nsIWebNavigation webNavigation; |
1455 webNavigation.Release (); | 1460 webNavigation.Release (); |
1456 | 1461 |
1457 return rc is XPCOM.NS_OK; | 1462 return rc is XPCOM.NS_OK; |
1458 } | 1463 } |
1459 | 1464 |
1465 extern(D) | |
1460 public String getText () { | 1466 public String getText () { |
1461 if (awaitingNavigate) return ""; //$NON-NLS-1$ | 1467 if (awaitingNavigate) return ""; //$NON-NLS-1$ |
1462 | 1468 |
1463 //int /*long*/[] result = new int /*long*/[1]; | 1469 //int /*long*/[] result = new int /*long*/[1]; |
1464 nsIDOMWindow window; | 1470 nsIDOMWindow window; |
1523 componentManager.Release (); | 1529 componentManager.Release (); |
1524 document.Release (); | 1530 document.Release (); |
1525 return chars.dup; | 1531 return chars.dup; |
1526 } | 1532 } |
1527 | 1533 |
1534 extern(D) | |
1528 public String getUrl () { | 1535 public String getUrl () { |
1529 if (awaitingNavigate) return ""; //$NON-NLS-1$ | 1536 if (awaitingNavigate) return ""; //$NON-NLS-1$ |
1530 | 1537 |
1531 //int /*long*/[] result = new int /*long*/[1]; | 1538 //int /*long*/[] result = new int /*long*/[1]; |
1532 nsIWebNavigation webNavigation; | 1539 nsIWebNavigation webNavigation; |
1561 */ | 1568 */ |
1562 if (location.equals (URI_FROMMEMORY)) location = ABOUT_BLANK; | 1569 if (location.equals (URI_FROMMEMORY)) location = ABOUT_BLANK; |
1563 return location; | 1570 return location; |
1564 } | 1571 } |
1565 | 1572 |
1573 extern(D) | |
1566 public Object getWebBrowser () { | 1574 public Object getWebBrowser () { |
1567 if ((browser.getStyle () & DWT.MOZILLA) is 0) return null; | 1575 if ((browser.getStyle () & DWT.MOZILLA) is 0) return null; |
1568 if (webBrowserObject !is null) return webBrowserObject; | 1576 if (webBrowserObject !is null) return webBrowserObject; |
1569 implMissing(__FILE__,__LINE__); | 1577 implMissing(__FILE__,__LINE__); |
1570 /+ | 1578 /+ |
1590 } | 1598 } |
1591 +/ | 1599 +/ |
1592 return null; | 1600 return null; |
1593 } | 1601 } |
1594 | 1602 |
1603 extern(D) | |
1595 public bool isBackEnabled () { | 1604 public bool isBackEnabled () { |
1596 if (awaitingNavigate) return false; | 1605 if (awaitingNavigate) return false; |
1597 | 1606 |
1598 //int /*long*/[] result = new int /*long*/[1]; | 1607 //int /*long*/[] result = new int /*long*/[1]; |
1599 nsIWebNavigation webNavigation; | 1608 nsIWebNavigation webNavigation; |
1606 rc = webNavigation.GetCanGoBack (&aCanGoBack); | 1615 rc = webNavigation.GetCanGoBack (&aCanGoBack); |
1607 webNavigation.Release (); | 1616 webNavigation.Release (); |
1608 return aCanGoBack !is 0; | 1617 return aCanGoBack !is 0; |
1609 } | 1618 } |
1610 | 1619 |
1620 extern(D) | |
1611 public bool isForwardEnabled () { | 1621 public bool isForwardEnabled () { |
1612 if (awaitingNavigate) return false; | 1622 if (awaitingNavigate) return false; |
1613 | 1623 |
1614 //int /*long*/[] result = new int /*long*/[1]; | 1624 //int /*long*/[] result = new int /*long*/[1]; |
1615 nsIWebNavigation webNavigation; | 1625 nsIWebNavigation webNavigation; |
1622 rc = webNavigation.GetCanGoForward (&aCanGoForward); | 1632 rc = webNavigation.GetCanGoForward (&aCanGoForward); |
1623 webNavigation.Release (); | 1633 webNavigation.Release (); |
1624 return aCanGoForward !is 0; | 1634 return aCanGoForward !is 0; |
1625 } | 1635 } |
1626 | 1636 |
1637 extern(D) | |
1627 static String error (int code) { | 1638 static String error (int code) { |
1628 throw new DWTError ("XPCOM error " ~ Integer.toString(code)); //$NON-NLS-1$ | 1639 throw new DWTError ("XPCOM error " ~ Integer.toString(code)); //$NON-NLS-1$ |
1629 } | 1640 } |
1630 | 1641 |
1642 extern(D) | |
1631 void onDispose (Display display) { | 1643 void onDispose (Display display) { |
1632 int rc = webBrowser.RemoveWebBrowserListener (cast(nsIWeakReference)this, &nsIWebProgressListener.IID); | 1644 int rc = webBrowser.RemoveWebBrowserListener (cast(nsIWeakReference)this, &nsIWebProgressListener.IID); |
1633 if (rc !is XPCOM.NS_OK) error (rc); | 1645 if (rc !is XPCOM.NS_OK) error (rc); |
1634 | 1646 |
1635 rc = webBrowser.SetParentURIContentListener (null); | 1647 rc = webBrowser.SetParentURIContentListener (null); |
1684 | 1696 |
1685 embedHandle = null; | 1697 embedHandle = null; |
1686 BrowserCount--; | 1698 BrowserCount--; |
1687 } | 1699 } |
1688 | 1700 |
1701 extern(D) | |
1689 void Activate () { | 1702 void Activate () { |
1690 //int /*long*/[] result = new int /*long*/[1]; | 1703 //int /*long*/[] result = new int /*long*/[1]; |
1691 nsIWebBrowserFocus webBrowserFocus; | 1704 nsIWebBrowserFocus webBrowserFocus; |
1692 int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); | 1705 int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); |
1693 if (rc !is XPCOM.NS_OK) error (rc); | 1706 if (rc !is XPCOM.NS_OK) error (rc); |
1696 //nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); | 1709 //nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); |
1697 rc = webBrowserFocus.Activate (); | 1710 rc = webBrowserFocus.Activate (); |
1698 if (rc !is XPCOM.NS_OK) error (rc); | 1711 if (rc !is XPCOM.NS_OK) error (rc); |
1699 webBrowserFocus.Release (); | 1712 webBrowserFocus.Release (); |
1700 } | 1713 } |
1701 | 1714 |
1715 extern(D) | |
1702 void Deactivate () { | 1716 void Deactivate () { |
1703 //int /*long*/[] result = new int /*long*/[1]; | 1717 //int /*long*/[] result = new int /*long*/[1]; |
1704 nsIWebBrowserFocus webBrowserFocus; | 1718 nsIWebBrowserFocus webBrowserFocus; |
1705 int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); | 1719 int rc = webBrowser.QueryInterface (&nsIWebBrowserFocus.IID, cast(void**)&webBrowserFocus); |
1706 if (rc !is XPCOM.NS_OK) error (rc); | 1720 if (rc !is XPCOM.NS_OK) error (rc); |
1710 rc = webBrowserFocus.Deactivate (); | 1724 rc = webBrowserFocus.Deactivate (); |
1711 if (rc !is XPCOM.NS_OK) error (rc); | 1725 if (rc !is XPCOM.NS_OK) error (rc); |
1712 webBrowserFocus.Release (); | 1726 webBrowserFocus.Release (); |
1713 } | 1727 } |
1714 | 1728 |
1729 extern(D) | |
1715 void onResize () { | 1730 void onResize () { |
1716 Rectangle rect = browser.getClientArea (); | 1731 Rectangle rect = browser.getClientArea (); |
1717 int width = Math.max (1, rect.width); | 1732 int width = Math.max (1, rect.width); |
1718 int height = Math.max (1, rect.height); | 1733 int height = Math.max (1, rect.height); |
1719 | 1734 |
1728 rc = baseWindow.SetPositionAndSize (0, 0, width, height, 1); | 1743 rc = baseWindow.SetPositionAndSize (0, 0, width, height, 1); |
1729 if (rc !is XPCOM.NS_OK) error (rc); | 1744 if (rc !is XPCOM.NS_OK) error (rc); |
1730 baseWindow.Release (); | 1745 baseWindow.Release (); |
1731 } | 1746 } |
1732 | 1747 |
1748 extern(D) | |
1733 public void refresh () { | 1749 public void refresh () { |
1734 if (awaitingNavigate) return; | 1750 if (awaitingNavigate) return; |
1735 | 1751 |
1736 //int /*long*/[] result = new int /*long*/[1]; | 1752 //int /*long*/[] result = new int /*long*/[1]; |
1737 nsIWebNavigation webNavigation; | 1753 nsIWebNavigation webNavigation; |
1754 * so this error code should be ignored. | 1770 * so this error code should be ignored. |
1755 */ | 1771 */ |
1756 if (rc !is XPCOM.NS_ERROR_INVALID_POINTER && rc !is XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc); | 1772 if (rc !is XPCOM.NS_ERROR_INVALID_POINTER && rc !is XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc); |
1757 } | 1773 } |
1758 | 1774 |
1775 extern(D) | |
1759 public bool setText (String html) { | 1776 public bool setText (String html) { |
1760 /* | 1777 /* |
1761 * Feature in Mozilla. The focus memory of Mozilla must be | 1778 * Feature in Mozilla. The focus memory of Mozilla must be |
1762 * properly managed through the nsIWebBrowserFocus interface. | 1779 * properly managed through the nsIWebBrowserFocus interface. |
1763 * In particular, nsIWebBrowserFocus.deactivate must be called | 1780 * In particular, nsIWebBrowserFocus.deactivate must be called |
1878 //XPCOM.nsEmbedCString_delete (aContentCharset); | 1895 //XPCOM.nsEmbedCString_delete (aContentCharset); |
1879 //XPCOM.nsEmbedCString_delete (aContentType); | 1896 //XPCOM.nsEmbedCString_delete (aContentType); |
1880 return true; | 1897 return true; |
1881 } | 1898 } |
1882 | 1899 |
1900 extern(D) | |
1883 public bool setUrl (String url) { | 1901 public bool setUrl (String url) { |
1884 awaitingNavigate = false; | 1902 awaitingNavigate = false; |
1885 | 1903 |
1886 //int /*long*/[] result = new int /*long*/[1]; | 1904 //int /*long*/[] result = new int /*long*/[1]; |
1887 nsIWebNavigation webNavigation; | 1905 nsIWebNavigation webNavigation; |
1895 rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); | 1913 rc = webNavigation.LoadURI (url.toString16().toString16z(), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); |
1896 webNavigation.Release (); | 1914 webNavigation.Release (); |
1897 return rc is XPCOM.NS_OK; | 1915 return rc is XPCOM.NS_OK; |
1898 } | 1916 } |
1899 | 1917 |
1918 extern(D) | |
1900 public void stop () { | 1919 public void stop () { |
1901 if (awaitingNavigate) return; | 1920 if (awaitingNavigate) return; |
1902 | 1921 |
1903 nsIWebNavigation webNavigation; | 1922 nsIWebNavigation webNavigation; |
1904 //int /*long*/[] result = new int /*long*/[1]; | 1923 //int /*long*/[] result = new int /*long*/[1]; |
1910 rc = webNavigation.Stop (nsIWebNavigation.STOP_ALL); | 1929 rc = webNavigation.Stop (nsIWebNavigation.STOP_ALL); |
1911 if (rc !is XPCOM.NS_OK) error (rc); | 1930 if (rc !is XPCOM.NS_OK) error (rc); |
1912 webNavigation.Release (); | 1931 webNavigation.Release (); |
1913 } | 1932 } |
1914 | 1933 |
1934 extern(D) | |
1915 void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { | 1935 void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { |
1916 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); | 1936 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); |
1917 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); | 1937 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1918 //string.dispose (); | 1938 //string.dispose (); |
1919 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); | 1939 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); |
1957 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); | 1977 string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP.toString16()); |
1958 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); | 1978 target.AddEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
1959 //string.dispose (); | 1979 //string.dispose (); |
1960 } | 1980 } |
1961 | 1981 |
1982 extern(D) | |
1962 void unhookDOMListeners () { | 1983 void unhookDOMListeners () { |
1963 //int /*long*/[] result = new int /*long*/[1]; | 1984 //int /*long*/[] result = new int /*long*/[1]; |
1964 nsIDOMWindow window; | 1985 nsIDOMWindow window; |
1965 int rc = webBrowser.GetContentDOMWindow (&window); | 1986 int rc = webBrowser.GetContentDOMWindow (&window); |
1966 if (rc !is XPCOM.NS_OK) error (rc); | 1987 if (rc !is XPCOM.NS_OK) error (rc); |
2012 } | 2033 } |
2013 frames.Release (); | 2034 frames.Release (); |
2014 window.Release (); | 2035 window.Release (); |
2015 } | 2036 } |
2016 | 2037 |
2038 extern(D) | |
2017 void unhookDOMListeners (nsIDOMEventTarget target) { | 2039 void unhookDOMListeners (nsIDOMEventTarget target) { |
2018 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); | 2040 scope auto string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS.toString16()); |
2019 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); | 2041 target.RemoveEventListener (cast(nsAString*)string, cast(nsIDOMEventListener)this, 0); |
2020 //string.dispose (); | 2042 //string.dispose (); |
2021 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); | 2043 string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD.toString16()); |
2053 //string.dispose (); | 2075 //string.dispose (); |
2054 } | 2076 } |
2055 | 2077 |
2056 /* nsISupports */ | 2078 /* nsISupports */ |
2057 | 2079 |
2080 extern(System) | |
2058 nsresult QueryInterface (nsID* riid, void** ppvObject) { | 2081 nsresult QueryInterface (nsID* riid, void** ppvObject) { |
2059 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; | 2082 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; |
2060 | 2083 |
2061 if (*riid == nsISupports.IID) { | 2084 if (*riid == nsISupports.IID) { |
2062 *ppvObject = cast(void*)cast(nsISupports)this; | 2085 *ppvObject = cast(void*)cast(nsISupports)this; |
2115 } | 2138 } |
2116 *ppvObject = null; | 2139 *ppvObject = null; |
2117 return XPCOM.NS_ERROR_NO_INTERFACE; | 2140 return XPCOM.NS_ERROR_NO_INTERFACE; |
2118 } | 2141 } |
2119 | 2142 |
2143 extern(System) | |
2120 nsrefcnt AddRef () { | 2144 nsrefcnt AddRef () { |
2121 refCount++; | 2145 refCount++; |
2122 return refCount; | 2146 return refCount; |
2123 } | 2147 } |
2124 | 2148 |
2149 extern(System) | |
2125 nsrefcnt Release () { | 2150 nsrefcnt Release () { |
2126 refCount--; | 2151 refCount--; |
2127 if (refCount is 0) return 0; | 2152 if (refCount is 0) return 0; |
2128 return refCount; | 2153 return refCount; |
2129 } | 2154 } |
2130 | 2155 |
2131 /* nsIWeakReference */ | 2156 /* nsIWeakReference */ |
2132 | 2157 |
2158 extern(System) | |
2133 nsresult QueryReferent (nsID* riid, void** ppvObject) { | 2159 nsresult QueryReferent (nsID* riid, void** ppvObject) { |
2134 return QueryInterface (riid, ppvObject); | 2160 return QueryInterface (riid, ppvObject); |
2135 } | 2161 } |
2136 | 2162 |
2137 /* nsIInterfaceRequestor */ | 2163 /* nsIInterfaceRequestor */ |
2138 | 2164 |
2165 extern(System) | |
2139 nsresult GetInterface ( nsID* riid, void** ppvObject) { | 2166 nsresult GetInterface ( nsID* riid, void** ppvObject) { |
2140 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; | 2167 if (riid is null || ppvObject is null) return XPCOM.NS_ERROR_NO_INTERFACE; |
2141 //nsID guid = new nsID (); | 2168 //nsID guid = new nsID (); |
2142 //XPCOM.memmove (guid, riid, nsID.sizeof); | 2169 //XPCOM.memmove (guid, riid, nsID.sizeof); |
2143 if (*riid == nsIDOMWindow.IID) { | 2170 if (*riid == nsIDOMWindow.IID) { |
2151 return rc; | 2178 return rc; |
2152 } | 2179 } |
2153 return QueryInterface (riid, ppvObject); | 2180 return QueryInterface (riid, ppvObject); |
2154 } | 2181 } |
2155 | 2182 |
2183 extern(System) | |
2156 nsresult GetWeakReference (nsIWeakReference* ppvObject) { | 2184 nsresult GetWeakReference (nsIWeakReference* ppvObject) { |
2157 *ppvObject = cast(nsIWeakReference)this; | 2185 *ppvObject = cast(nsIWeakReference)this; |
2158 //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); | 2186 //XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); |
2159 AddRef (); | 2187 AddRef (); |
2160 return XPCOM.NS_OK; | 2188 return XPCOM.NS_OK; |
2161 } | 2189 } |
2162 | 2190 |
2163 /* nsIWebProgressListener */ | 2191 /* nsIWebProgressListener */ |
2164 | 2192 |
2193 extern(System) | |
2165 nsresult OnStateChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus) { | 2194 nsresult OnStateChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus) { |
2166 if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) is 0) return XPCOM.NS_OK; | 2195 if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) is 0) return XPCOM.NS_OK; |
2167 if ((aStateFlags & nsIWebProgressListener.STATE_START) !is 0) { | 2196 if ((aStateFlags & nsIWebProgressListener.STATE_START) !is 0) { |
2168 if (request is null) request = aRequest; | 2197 if (request is null) request = aRequest; |
2169 | 2198 |
2301 domWindow.Release (); | 2330 domWindow.Release (); |
2302 } | 2331 } |
2303 return XPCOM.NS_OK; | 2332 return XPCOM.NS_OK; |
2304 } | 2333 } |
2305 | 2334 |
2335 extern(System) | |
2306 nsresult OnProgressChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress) { | 2336 nsresult OnProgressChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress) { |
2307 if (awaitingNavigate || super.progressListeners.length is 0) return XPCOM.NS_OK; | 2337 if (awaitingNavigate || super.progressListeners.length is 0) return XPCOM.NS_OK; |
2308 ProgressEvent event = new ProgressEvent (browser); | 2338 ProgressEvent event = new ProgressEvent (browser); |
2309 event.display = browser.getDisplay (); | 2339 event.display = browser.getDisplay (); |
2310 event.widget = browser; | 2340 event.widget = browser; |
2314 super.progressListeners[i].changed (event); | 2344 super.progressListeners[i].changed (event); |
2315 } | 2345 } |
2316 return XPCOM.NS_OK; | 2346 return XPCOM.NS_OK; |
2317 } | 2347 } |
2318 | 2348 |
2349 extern(System) | |
2319 nsresult OnLocationChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation) { | 2350 nsresult OnLocationChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation) { |
2320 /* | 2351 /* |
2321 * Feature in Mozilla. When a page is loaded via setText before a previous | 2352 * Feature in Mozilla. When a page is loaded via setText before a previous |
2322 * setText page load has completed, the expected OnStateChange STATE_STOP for the | 2353 * setText page load has completed, the expected OnStateChange STATE_STOP for the |
2323 * original setText never arrives because it gets replaced by the OnStateChange | 2354 * original setText never arrives because it gets replaced by the OnStateChange |
2381 locationListeners[i].changed (event); | 2412 locationListeners[i].changed (event); |
2382 } | 2413 } |
2383 return XPCOM.NS_OK; | 2414 return XPCOM.NS_OK; |
2384 } | 2415 } |
2385 | 2416 |
2417 extern(System) | |
2386 nsresult OnStatusChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar* aMessage) { | 2418 nsresult OnStatusChange (nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar* aMessage) { |
2387 if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; | 2419 if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; |
2388 StatusTextEvent event = new StatusTextEvent (browser); | 2420 StatusTextEvent event = new StatusTextEvent (browser); |
2389 event.display = browser.getDisplay (); | 2421 event.display = browser.getDisplay (); |
2390 event.widget = browser; | 2422 event.widget = browser; |
2396 statusTextListeners[i].changed (event); | 2428 statusTextListeners[i].changed (event); |
2397 } | 2429 } |
2398 return XPCOM.NS_OK; | 2430 return XPCOM.NS_OK; |
2399 } | 2431 } |
2400 | 2432 |
2433 extern(System) | |
2401 nsresult OnSecurityChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 state) { | 2434 nsresult OnSecurityChange (nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 state) { |
2402 return XPCOM.NS_OK; | 2435 return XPCOM.NS_OK; |
2403 } | 2436 } |
2404 | 2437 |
2405 /* nsIWebBrowserChrome */ | 2438 /* nsIWebBrowserChrome */ |
2406 | 2439 |
2440 extern(System) | |
2407 nsresult SetStatus (PRUint32 statusType, PRUnichar* status) { | 2441 nsresult SetStatus (PRUint32 statusType, PRUnichar* status) { |
2408 if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; | 2442 if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; |
2409 StatusTextEvent event = new StatusTextEvent (browser); | 2443 StatusTextEvent event = new StatusTextEvent (browser); |
2410 event.display = browser.getDisplay (); | 2444 event.display = browser.getDisplay (); |
2411 event.widget = browser; | 2445 event.widget = browser; |
2418 statusTextListeners[i].changed (event); | 2452 statusTextListeners[i].changed (event); |
2419 } | 2453 } |
2420 return XPCOM.NS_OK; | 2454 return XPCOM.NS_OK; |
2421 } | 2455 } |
2422 | 2456 |
2457 extern(System) | |
2423 nsresult GetWebBrowser (nsIWebBrowser* aWebBrowser) { | 2458 nsresult GetWebBrowser (nsIWebBrowser* aWebBrowser) { |
2424 //int /*long*/[] ret = new int /*long*/[1]; | 2459 //int /*long*/[] ret = new int /*long*/[1]; |
2425 if (webBrowser !is null) { | 2460 if (webBrowser !is null) { |
2426 webBrowser.AddRef (); | 2461 webBrowser.AddRef (); |
2427 *aWebBrowser = webBrowser; | 2462 *aWebBrowser = webBrowser; |
2428 } | 2463 } |
2429 //XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); | 2464 //XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); |
2430 return XPCOM.NS_OK; | 2465 return XPCOM.NS_OK; |
2431 } | 2466 } |
2432 | 2467 |
2468 extern(System) | |
2433 nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) { | 2469 nsresult SetWebBrowser (nsIWebBrowser aWebBrowser) { |
2434 if (webBrowser !is null) webBrowser.Release (); | 2470 if (webBrowser !is null) webBrowser.Release (); |
2435 webBrowser = aWebBrowser !is null ? cast(nsIWebBrowser)cast(void*)aWebBrowser : null; | 2471 webBrowser = aWebBrowser !is null ? cast(nsIWebBrowser)cast(void*)aWebBrowser : null; |
2436 return XPCOM.NS_OK; | 2472 return XPCOM.NS_OK; |
2437 } | 2473 } |
2438 | 2474 |
2475 extern(System) | |
2439 nsresult GetChromeFlags (PRUint32* aChromeFlags) { | 2476 nsresult GetChromeFlags (PRUint32* aChromeFlags) { |
2440 //int[] ret = new int[1]; | 2477 //int[] ret = new int[1]; |
2441 *aChromeFlags = chromeFlags; | 2478 *aChromeFlags = chromeFlags; |
2442 //XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */ | 2479 //XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */ |
2443 return XPCOM.NS_OK; | 2480 return XPCOM.NS_OK; |
2444 } | 2481 } |
2445 | 2482 |
2483 extern(System) | |
2446 nsresult SetChromeFlags (PRUint32 aChromeFlags) { | 2484 nsresult SetChromeFlags (PRUint32 aChromeFlags) { |
2447 chromeFlags = aChromeFlags; | 2485 chromeFlags = aChromeFlags; |
2448 return XPCOM.NS_OK; | 2486 return XPCOM.NS_OK; |
2449 } | 2487 } |
2450 | 2488 |
2489 extern(System) | |
2451 nsresult DestroyBrowserWindow () { | 2490 nsresult DestroyBrowserWindow () { |
2452 WindowEvent newEvent = new WindowEvent (browser); | 2491 WindowEvent newEvent = new WindowEvent (browser); |
2453 newEvent.display = browser.getDisplay (); | 2492 newEvent.display = browser.getDisplay (); |
2454 newEvent.widget = browser; | 2493 newEvent.widget = browser; |
2455 for (int i = 0; i < closeWindowListeners.length; i++) { | 2494 for (int i = 0; i < closeWindowListeners.length; i++) { |
2462 * The browser widget must be disposed in all cases. | 2501 * The browser widget must be disposed in all cases. |
2463 */ | 2502 */ |
2464 browser.dispose (); | 2503 browser.dispose (); |
2465 return XPCOM.NS_OK; | 2504 return XPCOM.NS_OK; |
2466 } | 2505 } |
2467 | 2506 |
2507 extern(System) | |
2468 nsresult SizeBrowserTo (PRInt32 aCX, PRInt32 aCY) { | 2508 nsresult SizeBrowserTo (PRInt32 aCX, PRInt32 aCY) { |
2469 size = new Point (aCX, aCY); | 2509 size = new Point (aCX, aCY); |
2470 bool isChrome = (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) !is 0; | 2510 bool isChrome = (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) !is 0; |
2471 if (isChrome) { | 2511 if (isChrome) { |
2472 Shell shell = browser.getShell (); | 2512 Shell shell = browser.getShell (); |
2473 shell.setSize (shell.computeSize (size.x, size.y)); | 2513 shell.setSize (shell.computeSize (size.x, size.y)); |
2474 } | 2514 } |
2475 return XPCOM.NS_OK; | 2515 return XPCOM.NS_OK; |
2476 } | 2516 } |
2477 | 2517 |
2518 extern(System) | |
2478 nsresult ShowAsModal () { | 2519 nsresult ShowAsModal () { |
2479 //int /*long*/[] result = new int /*long*/[1]; | 2520 //int /*long*/[] result = new int /*long*/[1]; |
2480 nsIServiceManager serviceManager; | 2521 nsIServiceManager serviceManager; |
2481 int rc = XPCOM.NS_GetServiceManager (&serviceManager); | 2522 int rc = XPCOM.NS_GetServiceManager (&serviceManager); |
2482 if (rc !is XPCOM.NS_OK) error (rc); | 2523 if (rc !is XPCOM.NS_OK) error (rc); |
2506 if (rc !is XPCOM.NS_OK) error (rc); | 2547 if (rc !is XPCOM.NS_OK) error (rc); |
2507 stack.Release (); | 2548 stack.Release (); |
2508 return XPCOM.NS_OK; | 2549 return XPCOM.NS_OK; |
2509 } | 2550 } |
2510 | 2551 |
2552 extern(System) | |
2511 nsresult IsWindowModal (PRBool* retval) { | 2553 nsresult IsWindowModal (PRBool* retval) { |
2512 *retval = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) !is 0 ? 1 : 0; | 2554 *retval = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) !is 0 ? 1 : 0; |
2513 //XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */ | 2555 //XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */ |
2514 return XPCOM.NS_OK; | 2556 return XPCOM.NS_OK; |
2515 } | 2557 } |
2516 | 2558 |
2559 extern(System) | |
2517 nsresult ExitModalEventLoop (nsresult aStatus) { | 2560 nsresult ExitModalEventLoop (nsresult aStatus) { |
2518 return XPCOM.NS_OK; | 2561 return XPCOM.NS_OK; |
2519 } | 2562 } |
2520 | 2563 |
2521 /* nsIEmbeddingSiteWindow */ | 2564 /* nsIEmbeddingSiteWindow */ |
2522 | 2565 |
2566 extern(System) | |
2523 nsresult SetDimensions (PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy) { | 2567 nsresult SetDimensions (PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy) { |
2524 if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { | 2568 if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { |
2525 location = new Point (x, y); | 2569 location = new Point (x, y); |
2526 browser.getShell ().setLocation (x, y); | 2570 browser.getShell ().setLocation (x, y); |
2527 } | 2571 } |
2532 browser.getShell ().setSize (cx, cy); | 2576 browser.getShell ().setSize (cx, cy); |
2533 } | 2577 } |
2534 return XPCOM.NS_OK; | 2578 return XPCOM.NS_OK; |
2535 } | 2579 } |
2536 | 2580 |
2581 extern(System) | |
2537 nsresult GetDimensions (PRUint32 flags, PRInt32* x, PRInt32* y, PRInt32* cx, PRInt32* cy) { | 2582 nsresult GetDimensions (PRUint32 flags, PRInt32* x, PRInt32* y, PRInt32* cx, PRInt32* cy) { |
2538 if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { | 2583 if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { |
2539 Point location = browser.getShell ().getLocation (); | 2584 Point location = browser.getShell ().getLocation (); |
2540 if (x !is null) *x = location.x; /* PRInt32 */ | 2585 if (x !is null) *x = location.x; /* PRInt32 */ |
2541 if (y !is null) *y = location.y; /* PRInt32 */ | 2586 if (y !is null) *y = location.y; /* PRInt32 */ |
2551 if (cy !is null) *cy = size.y; /* PRInt32 */ | 2596 if (cy !is null) *cy = size.y; /* PRInt32 */ |
2552 } | 2597 } |
2553 return XPCOM.NS_OK; | 2598 return XPCOM.NS_OK; |
2554 } | 2599 } |
2555 | 2600 |
2601 extern(System) | |
2556 nsresult SetFocus () { | 2602 nsresult SetFocus () { |
2557 //int /*long*/[] result = new int /*long*/[1]; | 2603 //int /*long*/[] result = new int /*long*/[1]; |
2558 nsIBaseWindow baseWindow; | 2604 nsIBaseWindow baseWindow; |
2559 int rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); | 2605 int rc = webBrowser.QueryInterface (&nsIBaseWindow.IID, cast(void**)&baseWindow); |
2560 if (rc !is XPCOM.NS_OK) error (rc); | 2606 if (rc !is XPCOM.NS_OK) error (rc); |
2571 * event on Browser focus listeners. | 2617 * event on Browser focus listeners. |
2572 */ | 2618 */ |
2573 return XPCOM.NS_OK; | 2619 return XPCOM.NS_OK; |
2574 } | 2620 } |
2575 | 2621 |
2622 extern(System) | |
2576 nsresult GetVisibility (PRBool* aVisibility) { | 2623 nsresult GetVisibility (PRBool* aVisibility) { |
2577 bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); | 2624 bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); |
2578 *aVisibility = visible ? 1 : 0; | 2625 *aVisibility = visible ? 1 : 0; |
2579 //XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ | 2626 //XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ |
2580 return XPCOM.NS_OK; | 2627 return XPCOM.NS_OK; |
2581 } | 2628 } |
2582 | 2629 |
2630 extern(System) | |
2583 nsresult SetVisibility (PRBool aVisibility) { | 2631 nsresult SetVisibility (PRBool aVisibility) { |
2584 if (isChild) { | 2632 if (isChild) { |
2585 WindowEvent event = new WindowEvent (browser); | 2633 WindowEvent event = new WindowEvent (browser); |
2586 event.display = browser.getDisplay (); | 2634 event.display = browser.getDisplay (); |
2587 event.widget = browser; | 2635 event.widget = browser; |
2615 visible = aVisibility !is 0; | 2663 visible = aVisibility !is 0; |
2616 } | 2664 } |
2617 return XPCOM.NS_OK; | 2665 return XPCOM.NS_OK; |
2618 } | 2666 } |
2619 | 2667 |
2668 extern(System) | |
2620 nsresult GetTitle (PRUnichar** aTitle) { | 2669 nsresult GetTitle (PRUnichar** aTitle) { |
2621 return XPCOM.NS_OK; | 2670 return XPCOM.NS_OK; |
2622 } | 2671 } |
2623 | 2672 |
2673 extern(System) | |
2624 nsresult SetTitle (PRUnichar* aTitle) { | 2674 nsresult SetTitle (PRUnichar* aTitle) { |
2625 if (awaitingNavigate || titleListeners.length is 0) return XPCOM.NS_OK; | 2675 if (awaitingNavigate || titleListeners.length is 0) return XPCOM.NS_OK; |
2626 TitleEvent event = new TitleEvent (browser); | 2676 TitleEvent event = new TitleEvent (browser); |
2627 event.display = browser.getDisplay (); | 2677 event.display = browser.getDisplay (); |
2628 event.widget = browser; | 2678 event.widget = browser; |
2643 titleListeners[i].changed (event); | 2693 titleListeners[i].changed (event); |
2644 } | 2694 } |
2645 return XPCOM.NS_OK; | 2695 return XPCOM.NS_OK; |
2646 } | 2696 } |
2647 | 2697 |
2698 extern(System) | |
2648 nsresult GetSiteWindow (void** aSiteWindow) { | 2699 nsresult GetSiteWindow (void** aSiteWindow) { |
2649 /* | 2700 /* |
2650 * Note. The handle is expected to be an HWND on Windows and | 2701 * Note. The handle is expected to be an HWND on Windows and |
2651 * a GtkWidget* on GTK. This callback is invoked on Windows | 2702 * a GtkWidget* on GTK. This callback is invoked on Windows |
2652 * when the javascript window.print is invoked and the print | 2703 * when the javascript window.print is invoked and the print |
2657 return XPCOM.NS_OK; | 2708 return XPCOM.NS_OK; |
2658 } | 2709 } |
2659 | 2710 |
2660 /* nsIWebBrowserChromeFocus */ | 2711 /* nsIWebBrowserChromeFocus */ |
2661 | 2712 |
2713 extern(System) | |
2662 nsresult FocusNextElement () { | 2714 nsresult FocusNextElement () { |
2663 /* | 2715 /* |
2664 * Bug in Mozilla embedding API. Mozilla takes back the focus after sending | 2716 * Bug in Mozilla embedding API. Mozilla takes back the focus after sending |
2665 * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced | 2717 * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced |
2666 * with the Mozilla application TestGtkEmbed. The workaround is to | 2718 * with the Mozilla application TestGtkEmbed. The workaround is to |
2673 } | 2725 } |
2674 }); | 2726 }); |
2675 return XPCOM.NS_OK; | 2727 return XPCOM.NS_OK; |
2676 } | 2728 } |
2677 | 2729 |
2730 extern(System) | |
2678 nsresult FocusPrevElement () { | 2731 nsresult FocusPrevElement () { |
2679 /* | 2732 /* |
2680 * Bug in Mozilla embedding API. Mozilla takes back the focus after sending | 2733 * Bug in Mozilla embedding API. Mozilla takes back the focus after sending |
2681 * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced | 2734 * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced |
2682 * with the Mozilla application TestGtkEmbed. The workaround is to | 2735 * with the Mozilla application TestGtkEmbed. The workaround is to |
2691 return XPCOM.NS_OK; | 2744 return XPCOM.NS_OK; |
2692 } | 2745 } |
2693 | 2746 |
2694 /* nsIContextMenuListener */ | 2747 /* nsIContextMenuListener */ |
2695 | 2748 |
2749 extern(System) | |
2696 nsresult OnShowContextMenu (PRUint32 aContextFlags, nsIDOMEvent aEvent, nsIDOMNode aNode) { | 2750 nsresult OnShowContextMenu (PRUint32 aContextFlags, nsIDOMEvent aEvent, nsIDOMNode aNode) { |
2697 if (awaitingNavigate) return XPCOM.NS_OK; | 2751 if (awaitingNavigate) return XPCOM.NS_OK; |
2698 | 2752 |
2699 //nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); | 2753 //nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); |
2700 //int /*long*/[] result = new int /*long*/[1]; | 2754 //int /*long*/[] result = new int /*long*/[1]; |
2726 return XPCOM.NS_OK; | 2780 return XPCOM.NS_OK; |
2727 } | 2781 } |
2728 | 2782 |
2729 /* nsIURIContentListener */ | 2783 /* nsIURIContentListener */ |
2730 | 2784 |
2785 extern(System) | |
2731 nsresult OnStartURIOpen (nsIURI aURI, PRBool* retval) { | 2786 nsresult OnStartURIOpen (nsIURI aURI, PRBool* retval) { |
2732 if (awaitingNavigate || locationListeners.length is 0) { | 2787 if (awaitingNavigate || locationListeners.length is 0) { |
2733 *retval = 0; | 2788 *retval = 0; |
2734 //XPCOM.memmove (retval, new int[] {0}, 4); /* PRBool */ | 2789 //XPCOM.memmove (retval, new int[] {0}, 4); /* PRBool */ |
2735 return XPCOM.NS_OK; | 2790 return XPCOM.NS_OK; |
2770 *retval = doit ? 0 : 1; | 2825 *retval = doit ? 0 : 1; |
2771 //XPCOM.memmove (retval, new int[] {doit ? 0 : 1}, 4); /* PRBool */ | 2826 //XPCOM.memmove (retval, new int[] {doit ? 0 : 1}, 4); /* PRBool */ |
2772 return XPCOM.NS_OK; | 2827 return XPCOM.NS_OK; |
2773 } | 2828 } |
2774 | 2829 |
2830 extern(System) | |
2775 nsresult DoContent (char* aContentType, PRBool aIsContentPreferred, nsIRequest aRequest, nsIStreamListener* aContentHandler, PRBool* retval) { | 2831 nsresult DoContent (char* aContentType, PRBool aIsContentPreferred, nsIRequest aRequest, nsIStreamListener* aContentHandler, PRBool* retval) { |
2776 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2832 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2777 } | 2833 } |
2778 | 2834 |
2835 extern(System) | |
2779 nsresult IsPreferred (char* aContentType, char** aDesiredContentType, PRBool* retval) { | 2836 nsresult IsPreferred (char* aContentType, char** aDesiredContentType, PRBool* retval) { |
2780 bool preferred = false; | 2837 bool preferred = false; |
2781 auto size = strlen (aContentType); | 2838 auto size = strlen (aContentType); |
2782 if (size > 0) { | 2839 if (size > 0) { |
2783 //byte[] typeBytes = new byte[size + 1]; | 2840 //byte[] typeBytes = new byte[size + 1]; |
2836 *aDesiredContentType = null; | 2893 *aDesiredContentType = null; |
2837 } | 2894 } |
2838 return XPCOM.NS_OK; | 2895 return XPCOM.NS_OK; |
2839 } | 2896 } |
2840 | 2897 |
2898 extern(System) | |
2841 nsresult CanHandleContent (char* aContentType, PRBool aIsContentPreferred, char** aDesiredContentType, PRBool* retval) { | 2899 nsresult CanHandleContent (char* aContentType, PRBool aIsContentPreferred, char** aDesiredContentType, PRBool* retval) { |
2842 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2900 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2843 } | 2901 } |
2844 | 2902 |
2903 extern(System) | |
2845 nsresult GetLoadCookie (nsISupports* aLoadCookie) { | 2904 nsresult GetLoadCookie (nsISupports* aLoadCookie) { |
2846 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2905 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2847 } | 2906 } |
2848 | 2907 |
2908 extern(System) | |
2849 nsresult SetLoadCookie (nsISupports aLoadCookie) { | 2909 nsresult SetLoadCookie (nsISupports aLoadCookie) { |
2850 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2910 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2851 } | 2911 } |
2852 | 2912 |
2913 extern(System) | |
2853 nsresult GetParentContentListener (nsIURIContentListener* aParentContentListener) { | 2914 nsresult GetParentContentListener (nsIURIContentListener* aParentContentListener) { |
2854 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2915 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2855 } | 2916 } |
2856 | 2917 |
2918 extern(System) | |
2857 nsresult SetParentContentListener (nsIURIContentListener aParentContentListener) { | 2919 nsresult SetParentContentListener (nsIURIContentListener aParentContentListener) { |
2858 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; | 2920 return XPCOM.NS_ERROR_NOT_IMPLEMENTED; |
2859 } | 2921 } |
2860 | 2922 |
2861 /* nsITooltipListener */ | 2923 /* nsITooltipListener */ |
2862 | 2924 |
2925 extern(System) | |
2863 nsresult OnShowTooltip (PRInt32 aXCoords, PRInt32 aYCoords, PRUnichar* aTipText) { | 2926 nsresult OnShowTooltip (PRInt32 aXCoords, PRInt32 aYCoords, PRUnichar* aTipText) { |
2864 if (awaitingNavigate) return XPCOM.NS_OK; | 2927 if (awaitingNavigate) return XPCOM.NS_OK; |
2865 | 2928 |
2866 //int length = XPCOM.strlen_PRUnichar (aTipText); | 2929 //int length = XPCOM.strlen_PRUnichar (aTipText); |
2867 //char[] dest = new char[length]; | 2930 //char[] dest = new char[length]; |
2890 tip.pack (); | 2953 tip.pack (); |
2891 tip.setVisible (true); | 2954 tip.setVisible (true); |
2892 return XPCOM.NS_OK; | 2955 return XPCOM.NS_OK; |
2893 } | 2956 } |
2894 | 2957 |
2958 extern(System) | |
2895 nsresult OnHideTooltip () { | 2959 nsresult OnHideTooltip () { |
2896 if (tip !is null && !tip.isDisposed ()) tip.dispose (); | 2960 if (tip !is null && !tip.isDisposed ()) tip.dispose (); |
2897 tip = null; | 2961 tip = null; |
2898 return XPCOM.NS_OK; | 2962 return XPCOM.NS_OK; |
2899 } | 2963 } |
2900 | 2964 |
2901 /* nsIDOMEventListener */ | 2965 /* nsIDOMEventListener */ |
2902 | 2966 |
2967 extern(System) | |
2903 nsresult HandleEvent (nsIDOMEvent event) { | 2968 nsresult HandleEvent (nsIDOMEvent event) { |
2904 //nsIDOMEvent domEvent = new nsIDOMEvent (event); | 2969 //nsIDOMEvent domEvent = new nsIDOMEvent (event); |
2905 | 2970 |
2906 scope auto type = new nsEmbedString; | 2971 scope auto type = new nsEmbedString; |
2907 int rc = event.GetType (cast(nsAString*)type); | 2972 int rc = event.GetType (cast(nsAString*)type); |