Mercurial > projects > dwt-linux
changeset 289:a67ca5131db1
reversal
author | John Reimer<terminal.node@gmail.com> |
---|---|
date | Tue, 05 Aug 2008 18:01:52 -0700 |
parents | 4ee8c4237614 |
children | 4c1340edee0d |
files | dwt/browser.old/AppFileLocProvider.d dwt/browser.old/Browser.d dwt/browser.old/CloseWindowListener.d dwt/browser.old/Download.d dwt/browser.old/DownloadFactory.d dwt/browser.old/DownloadFactory_1_8.d dwt/browser.old/Download_1_8.d dwt/browser.old/FilePicker.d dwt/browser.old/FilePickerFactory.d dwt/browser.old/FilePickerFactory_1_8.d dwt/browser.old/FilePicker_1_8.d dwt/browser.old/HelperAppLauncherDialog.d dwt/browser.old/HelperAppLauncherDialogFactory.d dwt/browser.old/InputStream.d dwt/browser.old/LocationAdapter.d dwt/browser.old/LocationEvent.d dwt/browser.old/LocationListener.d dwt/browser.old/Mozilla.d dwt/browser.old/MozillaDelegate.d dwt/browser.old/OpenWindowListener.d dwt/browser.old/ProgressAdapter.d dwt/browser.old/ProgressEvent.d dwt/browser.old/ProgressListener.d dwt/browser.old/PromptDialog.d dwt/browser.old/PromptDialog.d~ dwt/browser.old/PromptService2.d dwt/browser.old/PromptService2.d~ dwt/browser.old/PromptService2Factory.d dwt/browser.old/SimpleEnumerator.d dwt/browser.old/StatusTextEvent.d dwt/browser.old/StatusTextListener.d dwt/browser.old/TitleEvent.d dwt/browser.old/TitleListener.d dwt/browser.old/VisibilityWindowAdapter.d dwt/browser.old/VisibilityWindowListener.d dwt/browser.old/WebBrowser.d dwt/browser.old/WindowCreator2.d dwt/browser.old/WindowEvent.d dwt/internal/mozilla/Common.d dwt/internal/mozilla/gfxIImageFrame.d dwt/internal/mozilla/imgIContainer.d dwt/internal/mozilla/imgIContainerObserver.d dwt/internal/mozilla/nsEmbedString.d dwt/internal/mozilla/nsEmbedString2.d dwt/internal/mozilla/nsError.d dwt/internal/mozilla/nsIAppShell.d dwt/internal/mozilla/nsIAtom.d dwt/internal/mozilla/nsIAuthInformation.d dwt/internal/mozilla/nsIAuthPrompt.d dwt/internal/mozilla/nsIBaseWindow.d dwt/internal/mozilla/nsIBinaryInputStream.d dwt/internal/mozilla/nsIBinaryOutputStream.d dwt/internal/mozilla/nsICancelable.d dwt/internal/mozilla/nsICategoryManager.d dwt/internal/mozilla/nsIChannel.d dwt/internal/mozilla/nsIChromeEventHandler.d dwt/internal/mozilla/nsICollection.d dwt/internal/mozilla/nsIComponentManager.d dwt/internal/mozilla/nsIComponentRegistrar.d dwt/internal/mozilla/nsIContentViewer.d dwt/internal/mozilla/nsIContextMenuListener.d dwt/internal/mozilla/nsIContextMenuListener2.d dwt/internal/mozilla/nsICookie.d dwt/internal/mozilla/nsICookie2.d dwt/internal/mozilla/nsICookieManager.d dwt/internal/mozilla/nsICookieManager2.d dwt/internal/mozilla/nsID.d dwt/internal/mozilla/nsIDOMAbstractView.d dwt/internal/mozilla/nsIDOMAttr.d dwt/internal/mozilla/nsIDOMBarProp.d dwt/internal/mozilla/nsIDOMCDATASection.d dwt/internal/mozilla/nsIDOMCharacterData.d dwt/internal/mozilla/nsIDOMComment.d dwt/internal/mozilla/nsIDOMDOMImplementation.d dwt/internal/mozilla/nsIDOMDocument.d dwt/internal/mozilla/nsIDOMDocumentFragment.d dwt/internal/mozilla/nsIDOMDocumentType.d dwt/internal/mozilla/nsIDOMDocumentView.d dwt/internal/mozilla/nsIDOMElement.d dwt/internal/mozilla/nsIDOMEntityReference.d dwt/internal/mozilla/nsIDOMEvent.d dwt/internal/mozilla/nsIDOMEventGroup.d dwt/internal/mozilla/nsIDOMEventListener.d dwt/internal/mozilla/nsIDOMEventTarget.d dwt/internal/mozilla/nsIDOMKeyEvent.d dwt/internal/mozilla/nsIDOMMouseEvent.d dwt/internal/mozilla/nsIDOMNamedNodeMap.d dwt/internal/mozilla/nsIDOMNode.d dwt/internal/mozilla/nsIDOMNodeList.d dwt/internal/mozilla/nsIDOMProcessingInstruction.d dwt/internal/mozilla/nsIDOMRange.d dwt/internal/mozilla/nsIDOMSerializer.d dwt/internal/mozilla/nsIDOMStorage.d dwt/internal/mozilla/nsIDOMStorageItem.d dwt/internal/mozilla/nsIDOMText.d dwt/internal/mozilla/nsIDOMUIEvent.d dwt/internal/mozilla/nsIDOMWindow.d dwt/internal/mozilla/nsIDOMWindow2.d dwt/internal/mozilla/nsIDOMWindowCollection.d dwt/internal/mozilla/nsIDebug.d dwt/internal/mozilla/nsIDirectoryService.d dwt/internal/mozilla/nsIDocShell.d dwt/internal/mozilla/nsIDocShellLoadInfo.d dwt/internal/mozilla/nsIDocShellTreeItem.d dwt/internal/mozilla/nsIDocShellTreeOwner.d dwt/internal/mozilla/nsIDocumentCharsetInfo.d dwt/internal/mozilla/nsIDownload.d dwt/internal/mozilla/nsIDownload_1_8.d dwt/internal/mozilla/nsIEmbeddingSiteWindow.d dwt/internal/mozilla/nsIEmbeddingSiteWindow2.d dwt/internal/mozilla/nsIEnumerator.d dwt/internal/mozilla/nsIEventQueue.d dwt/internal/mozilla/nsIEventTarget.d dwt/internal/mozilla/nsIExternalHelperAppService.d dwt/internal/mozilla/nsIFactory.d dwt/internal/mozilla/nsIFile.d dwt/internal/mozilla/nsIFilePicker.d dwt/internal/mozilla/nsIFileURL.d dwt/internal/mozilla/nsIHelperAppLauncherDialog.d dwt/internal/mozilla/nsIHistoryEntry.d dwt/internal/mozilla/nsIIOService.d dwt/internal/mozilla/nsIIOService2.d dwt/internal/mozilla/nsIInputStream.d dwt/internal/mozilla/nsIInterfaceRequestor.d dwt/internal/mozilla/nsIJSContextStack.d dwt/internal/mozilla/nsILoadGroup.d dwt/internal/mozilla/nsILocalFile.d dwt/internal/mozilla/nsIMIMEInfo.d dwt/internal/mozilla/nsIMemory.d dwt/internal/mozilla/nsIModule.d dwt/internal/mozilla/nsIObjectInputStream.d dwt/internal/mozilla/nsIObjectOutputStream.d dwt/internal/mozilla/nsIObserver.d dwt/internal/mozilla/nsIObserverService.d dwt/internal/mozilla/nsIOutputStream.d dwt/internal/mozilla/nsIPrefBranch.d dwt/internal/mozilla/nsIPrefBranch2.d dwt/internal/mozilla/nsIPrefLocalizedString.d dwt/internal/mozilla/nsIPrefService.d dwt/internal/mozilla/nsIProgressDialog.d dwt/internal/mozilla/nsIProgressDialog_1_8.d dwt/internal/mozilla/nsIPrompt.d dwt/internal/mozilla/nsIPromptService.d dwt/internal/mozilla/nsIProperties.d dwt/internal/mozilla/nsIProtocolHandler.d dwt/internal/mozilla/nsIRequest.d dwt/internal/mozilla/nsIRequestObserver.d dwt/internal/mozilla/nsISHEntry.d dwt/internal/mozilla/nsISHistory.d dwt/internal/mozilla/nsISHistoryListener.d dwt/internal/mozilla/nsISecureBrowserUI.d dwt/internal/mozilla/nsISelection.d dwt/internal/mozilla/nsISerializable.d dwt/internal/mozilla/nsIServiceManager.d dwt/internal/mozilla/nsISimpleEnumerator.d dwt/internal/mozilla/nsIStreamListener.d dwt/internal/mozilla/nsIStringEnumerator.d dwt/internal/mozilla/nsISupports.d dwt/internal/mozilla/nsISupportsArray.d dwt/internal/mozilla/nsITooltipListener.d dwt/internal/mozilla/nsITraceRefcnt.d dwt/internal/mozilla/nsITransfer.d dwt/internal/mozilla/nsIURI.d dwt/internal/mozilla/nsIURIContentListener.d dwt/internal/mozilla/nsIURL.d dwt/internal/mozilla/nsIWeakReference.d dwt/internal/mozilla/nsIWebBrowser.d dwt/internal/mozilla/nsIWebBrowserChrome.d dwt/internal/mozilla/nsIWebBrowserChromeFocus.d dwt/internal/mozilla/nsIWebBrowserFocus.d dwt/internal/mozilla/nsIWebNavigation.d dwt/internal/mozilla/nsIWebNavigationInfo.d dwt/internal/mozilla/nsIWebProgress.d dwt/internal/mozilla/nsIWebProgressListener.d dwt/internal/mozilla/nsIWebProgressListener2.d dwt/internal/mozilla/nsIWindowCreator.d dwt/internal/mozilla/nsIWindowCreator2.d dwt/internal/mozilla/nsIWindowWatcher.d dwt/internal/mozilla/nsStringAPI.d dwt/internal/mozilla/nsXPCOM.d dwt/internal/mozilla/nsXPCOMGlue.d dwt/internal/mozilla/prinrval.d dwt/internal/mozilla/prio.d dwt/internal/mozilla/prlink.d dwt/internal/mozilla/prtime.d |
diffstat | 185 files changed, 0 insertions(+), 17146 deletions(-) [+] |
line wrap: on
line diff
--- a/dwt/browser.old/AppFileLocProvider.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,287 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ - -module dwt.browser.AppFileLocProvider; - -import dwt.dwthelper.utils; - -import dwt.internal.Compatibility; - -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDirectoryService; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsISupports; - -class AppFileLocProvider : nsISupports, nsIDirectoryServiceProvider2 -{ - // XPCOMObject supports; - // XPCOMObject directoryServiceProvider; - // XPCOMObject directoryServiceProvider2; - nsrefcnt _refCount = 0; - String mozillaPath, profilePath; - String[] pluginDirs; - bool isXULRunner; - - static String SEPARATOR_OS = System.getProperty ("file.separator"); //$NON-NLS-1$ - static String CHROME_DIR = "chrome"; //$NON-NLS-1$ - static String COMPONENTS_DIR = "components"; //$NON-NLS-1$ - static String HISTORY_FILE = "history.dat"; //$NON-NLS-1$ - static String LOCALSTORE_FILE = "localstore.rdf"; //$NON-NLS-1$ - static String MIMETYPES_FILE = "mimeTypes.rdf"; //$NON-NLS-1$ - static String PLUGINS_DIR = "plugins"; //$NON-NLS-1$ - static String USER_PLUGINS_DIR = ".mozilla" + SEPARATOR_OS + "plugins"; //$NON-NLS-1$ //$NON-NLS-2$ - static String PREFERENCES_FILE = "prefs.js"; //$NON-NLS-1$ - -AppFileLocProvider (String path) { - mozillaPath = path + SEPARATOR_OS; - createCOMInterfaces (); -} - - int AddRef () - { - refCount++; - return refCount; - } - - nsresult QueryInterface ( nsIID* riid, void** ppvObject) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if (riid == nsISupports.IID) - { - *ppvObject =cast(void*)cast(nsISupports)this; - AddRef (); - return NS_OK; - } - - if (riid == nsIDirectoryServiceProvider.IID) - { - *ppvObject = cast(void*)cast(nsIDirectoryServiceProvider)this; - AddRef (); - return NS_OK; - } - - if (riid == nsDirectoryServiceProvider2.IID) { - *ppvObject = cast(void*)cast(nsIDirectoryServiceProvider2)this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - return 0; - return _refCount; - } - -void setProfilePath (String path) { - profilePath = path; - if (!Compatibility.fileExists (path, "")) { //$NON-NLS-1$ - int /*long*/[] result = new int /*long*/[1]; - nsEmbedString pathString = new nsEmbedString (path); - int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); - pathString.dispose (); - - nsILocalFile file = new nsILocalFile (result [0]); - rc = file.Create (nsILocalFile.DIRECTORY_TYPE, 0700); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - file.Release (); - } -} - -/* nsIDirectoryServiceProvider2 */ - -int getFiles (int /*long*/ prop, int /*long*/ _retval) { - int size = XPCOM.strlen (prop); - byte[] bytes = new byte[size]; - XPCOM.memmove (bytes, prop, size); - String propertyName = new String (MozillaDelegate.mbcsToWcs (null, bytes)); - String[] propertyValues = null; - - if (propertyName.equals (XPCOM.NS_APP_PLUGINS_DIR_LIST)) { - if (pluginDirs is null) { - int index = 0; - /* set the first value(s) to the MOZ_PLUGIN_PATH environment variable value if it's defined */ - int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_PLUGIN_PATH, true)); - if (ptr !is 0) { - int length = C.strlen (ptr); - byte[] buffer = new byte[length]; - C.memmove (buffer, ptr, length); - String value = new String (MozillaDelegate.mbcsToWcs (null, buffer)); - if (value.length () > 0) { - String separator = System.getProperty ("path.separator"); // $NON-NLS-1$ - Vector segments = new Vector (); - int start, end = -1; - do { - start = end + 1; - end = value.indexOf (separator, start); - String segment; - if (end is -1) { - segment = value.substring (start); - } else { - segment = value.substring (start, end); - } - if (segment.length () > 0) segments.addElement (segment); - } while (end !is -1); - int segmentsSize = segments.size (); - pluginDirs = new String [segmentsSize + 2]; - for (index = 0; index < segmentsSize; index++) { - pluginDirs[index] = (String)segments.elementAt (index); - } - } - } - if (pluginDirs is null) { - pluginDirs = new String[2]; - } - - /* set the next value to the GRE path + "plugins" */ - pluginDirs[index++] = mozillaPath + PLUGINS_DIR; - - /* set the next value to the home directory + "/.mozilla/plugins" */ - pluginDirs[index++] = System.getProperty("user.home") + SEPARATOR_OS + USER_PLUGINS_DIR; - } - propertyValues = pluginDirs; - } - - XPCOM.memmove(_retval, new int /*long*/[] {0}, C.PTR_SIZEOF); - if (propertyValues !is null) { - int /*long*/[] result = new int /*long*/[1]; - nsISupports[] files = new nsISupports [propertyValues.length]; - int index = 0; - for (int i = 0; i < propertyValues.length; i++) { - nsEmbedString pathString = new nsEmbedString (propertyValues[i]); - int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result); - if (rc !is XPCOM.NS_ERROR_FILE_UNRECOGNIZED_PATH) { - /* value appears to be a valid pathname */ - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); - - nsILocalFile localFile = new nsILocalFile (result[0]); - result[0] = 0; - rc = localFile.QueryInterface (nsIFile.NS_IFILE_IID, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - localFile.Release (); - - nsIFile file = new nsIFile (result[0]); - files[index++] = file; - } - pathString.dispose (); - result[0] = 0; - } - - if (index < propertyValues.length) { - /* there were some invalid values so remove the trailing empty array slots */ - nsISupports[] temp = new nsISupports [index]; - System.arraycopy (files, 0, temp, 0, index); - files = temp; - } - - SimpleEnumerator enumerator = new SimpleEnumerator (files); - enumerator.AddRef (); - XPCOM.memmove (_retval, new int /*long*/[] {enumerator.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; - } - - return XPCOM.NS_ERROR_FAILURE; -} - -/* nsIDirectoryServiceProvider implementation */ - -int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) { - int size = XPCOM.strlen (prop); - byte[] bytes = new byte[size]; - XPCOM.memmove (bytes, prop, size); - String propertyName = new String (MozillaDelegate.mbcsToWcs (null, bytes)); - String propertyValue = null; - - if (propertyName.equals (XPCOM.NS_APP_HISTORY_50_FILE)) { - propertyValue = profilePath + HISTORY_FILE; - } else if (propertyName.equals (XPCOM.NS_APP_USER_MIMETYPES_50_FILE)) { - propertyValue = profilePath + MIMETYPES_FILE; - } else if (propertyName.equals (XPCOM.NS_APP_PREFS_50_FILE)) { - propertyValue = profilePath + PREFERENCES_FILE; - } else if (propertyName.equals (XPCOM.NS_APP_PREFS_50_DIR)) { - propertyValue = profilePath; - } else if (propertyName.equals (XPCOM.NS_APP_USER_CHROME_DIR)) { - propertyValue = profilePath + CHROME_DIR; - } else if (propertyName.equals (XPCOM.NS_APP_USER_PROFILE_50_DIR)) { - propertyValue = profilePath; - } else if (propertyName.equals (XPCOM.NS_APP_LOCALSTORE_50_FILE)) { - propertyValue = profilePath + LOCALSTORE_FILE; - } else if (propertyName.equals (XPCOM.NS_APP_CACHE_PARENT_DIR)) { - propertyValue = profilePath; - } else if (propertyName.equals (XPCOM.NS_OS_HOME_DIR)) { - propertyValue = System.getProperty("user.home"); //$NON-NLS-1$ - } else if (propertyName.equals (XPCOM.NS_OS_TEMP_DIR)) { - propertyValue = System.getProperty("java.io.tmpdir"); //$NON-NLS-1$ - } else if (propertyName.equals (XPCOM.NS_GRE_DIR)) { - propertyValue = mozillaPath; - } else if (propertyName.equals (XPCOM.NS_GRE_COMPONENT_DIR)) { - propertyValue = mozillaPath + COMPONENTS_DIR; - } else if (propertyName.equals (XPCOM.NS_XPCOM_INIT_CURRENT_PROCESS_DIR)) { - propertyValue = mozillaPath; - } else if (propertyName.equals (XPCOM.NS_OS_CURRENT_PROCESS_DIR)) { - propertyValue = mozillaPath; - } else if (propertyName.equals (XPCOM.NS_XPCOM_COMPONENT_DIR)) { - propertyValue = mozillaPath + COMPONENTS_DIR; - } else if (propertyName.equals (XPCOM.NS_XPCOM_CURRENT_PROCESS_DIR)) { - propertyValue = mozillaPath; - } else if (propertyName.equals (XPCOM.NS_APP_PREF_DEFAULTS_50_DIR)) { - /* - * Answering a value for this property causes problems in Mozilla versions - * < 1.7. Unfortunately this property is queried early enough in the - * Browser creation process that the Mozilla version being used is not - * yet determined. However it is known if XULRunner is being used or not. - * - * For now answer a value for this property iff XULRunner is the GRE. - * If the range of Mozilla versions supported by the Browser is changed - * in the future to be >= 1.7 then this value can always be answered. - */ - if (isXULRunner) propertyValue = profilePath; - } - - XPCOM.memmove (persistent, new int[] {1}, 4); /* PRBool */ - XPCOM.memmove (_retval, new int /*long*/[] {0}, C.PTR_SIZEOF); - if (propertyValue !is null && propertyValue.length () > 0) { - int /*long*/[] result = new int /*long*/[1]; - nsEmbedString pathString = new nsEmbedString (propertyValue); - int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); - pathString.dispose (); - - nsILocalFile localFile = new nsILocalFile (result [0]); - result[0] = 0; - rc = localFile.QueryInterface (nsIFile.NS_IFILE_IID, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - - XPCOM.memmove (_retval, new int /*long*/[] {result[0]}, C.PTR_SIZEOF); - localFile.Release (); - return XPCOM.NS_OK; - } - - return XPCOM.NS_ERROR_FAILURE; -} -}
--- a/dwt/browser.old/Browser.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,782 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.Browser; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.DWTError; -import dwt.DWTException; -import dwt.widgets.Composite; -import dwt.widgets.Display; -import dwt.widgets.Widget; - -/** - * Instances of this class implement the browser user interface - * metaphor. It allows the user to visualize and navigate through - * HTML documents. - * <p> - * Note that although this class is a subclass of <code>Composite</code>, - * it does not make sense to set a layout on it. - * </p> - * <dl> - * <dt><b>Styles:</b></dt> - * <dd>MOZILLA</dd> - * <dt><b>Events:</b></dt> - * <dd>CloseWindowListener, LocationListener, OpenWindowListener, ProgressListener, StatusTextListener, TitleListener, VisibilityWindowListener</dd> - * </dl> - * <p> - * IMPORTANT: This class is <em>not</em> intended to be subclassed. - * </p> - * - * @since 3.0 - */ - -public class Browser extends Composite { - WebBrowser webBrowser; - int userStyle; - - static final String PACKAGE_PREFIX = "dwt.browser."; //$NON-NLS-1$ - static final String NO_INPUT_METHOD = "dwt.internal.gtk.noInputMethod"; //$NON-NLS-1$ - -/** - * Constructs a new instance of this class given its parent - * and a style value describing its behavior and appearance. - * <p> - * The style value is either one of the style constants defined in - * class <code>DWT</code> which is applicable to instances of this - * class, or must be built by <em>bitwise OR</em>'ing together - * (that is, using the <code>int</code> "|" operator) two or more - * of those <code>DWT</code> style constants. The class description - * lists the style constants that are applicable to the class. - * Style bits are also inherited from superclasses. - * </p> - * - * @param parent a widget which will be the parent of the new instance (cannot be null) - * @param style the style of widget to construct - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the parent is null</li> - * </ul> - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li> - * </ul> - * @exception DWTError <ul> - * <li>ERROR_NO_HANDLES if a handle could not be obtained for browser creation</li> - * </ul> - * - * @see Widget#getStyle - * - * @since 3.0 - */ -public Browser (Composite parent, int style) { - super (checkParent (parent), checkStyle (style)); - userStyle = style; - - String platform = DWT.getPlatform (); - Display display = parent.getDisplay (); - if ("gtk".equals (platform)) display.setData (NO_INPUT_METHOD, null); //$NON-NLS-1$ - String className = null; - if ((style & DWT.MOZILLA) !is 0) { - className = "dwt.browser.Mozilla"; //$NON-NLS-1$ - } else { - if ("win32".equals (platform) || "wpf".equals (platform)) { //$NON-NLS-1$ $NON-NLS-2$ - className = "dwt.browser.IE"; //$NON-NLS-1$ - } else if ("motif".equals (platform)) { //$NON-NLS-1$ - className = "dwt.browser.Mozilla"; //$NON-NLS-1$ - } else if ("gtk".equals (platform)) { //$NON-NLS-1$ - className = "dwt.browser.Mozilla"; //$NON-NLS-1$ - } else if ("carbon".equals (platform) || "cocoa".equals (platform)) { //$NON-NLS-1$ - className = "dwt.browser.Safari"; //$NON-NLS-1$ - } else if ("photon".equals (platform)) { //$NON-NLS-1$ - className = "dwt.browser.Voyager"; //$NON-NLS-1$ - } else { - dispose (); - DWT.error (DWT.ERROR_NO_HANDLES); - } - } - - try { - Class clazz = Class.forName (className); - webBrowser = (WebBrowser)clazz.newInstance (); - } catch (ClassNotFoundException e) { - } catch (IllegalAccessException e) { - } catch (InstantiationException e) { - } - if (webBrowser is null) { - dispose (); - DWT.error (DWT.ERROR_NO_HANDLES); - } - - webBrowser.setBrowser (this); - webBrowser.create (parent, style); -} - -static Composite checkParent (Composite parent) { - String platform = DWT.getPlatform (); - if (!"gtk".equals (platform)) return parent; //$NON-NLS-1$ - - /* - * Note. Mozilla provides all IM support needed for text input in web pages. - * If DWT creates another input method context for the widget it will cause - * indeterminate results to happen (hangs and crashes). The fix is to prevent - * DWT from creating an input method context for the Browser widget. - */ - if (parent !is null && !parent.isDisposed ()) { - Display display = parent.getDisplay (); - if (display !is null) { - if (display.getThread () is Thread.currentThread ()) { - display.setData (NO_INPUT_METHOD, "true"); //$NON-NLS-1$ - } - } - } - return parent; -} - -static int checkStyle(int style) { - String platform = DWT.getPlatform (); - if ((style & DWT.MOZILLA) !is 0) { - if ("carbon".equals (platform)) return style | DWT.EMBEDDED; //$NON-NLS-1$ - if ("motif".equals (platform)) return style | DWT.EMBEDDED; //$NON-NLS-1$ - return style; - } - - if ("win32".equals (platform)) { //$NON-NLS-1$ - /* - * For IE on win32 the border is supplied by the embedded browser, so remove - * the style so that the parent Composite will not draw a second border. - */ - return style & ~DWT.BORDER; - } else if ("motif".equals (platform)) { //$NON-NLS-1$ - return style | DWT.EMBEDDED; - } - return style; -} - -/** - * Clears all session cookies from all current Browser instances. - * - * @since 3.2 - */ -public static void clearSessions () { - WebBrowser.clearSessions (); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when the window hosting the receiver should be closed. - * <p> - * This notification occurs when a javascript command such as - * <code>window.close</code> gets executed by a <code>Browser</code>. - * </p> - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addCloseWindowListener (CloseWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addCloseWindowListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when the current location has changed or is about to change. - * <p> - * This notification typically occurs when the application navigates - * to a new location with {@link #setUrl(String)} or when the user - * activates a hyperlink. - * </p> - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addLocationListener (LocationListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addLocationListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when a new window needs to be created. - * <p> - * This notification occurs when a javascript command such as - * <code>window.open</code> gets executed by a <code>Browser</code>. - * </p> - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addOpenWindowListener (OpenWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addOpenWindowListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when a progress is made during the loading of the current - * URL or when the loading of the current URL has been completed. - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addProgressListener (ProgressListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addProgressListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when the status text is changed. - * <p> - * The status text is typically displayed in the status bar of - * a browser application. - * </p> - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addStatusTextListener (StatusTextListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addStatusTextListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when the title of the current document is available - * or has changed. - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addTitleListener (TitleListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addTitleListener (listener); -} - -/** - * Adds the listener to the collection of listeners who will be - * notified when a window hosting the receiver needs to be displayed - * or hidden. - * - * @param listener the listener which should be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void addVisibilityWindowListener (VisibilityWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.addVisibilityWindowListener (listener); -} - -/** - * Navigate to the previous session history item. - * - * @return <code>true</code> if the operation was successful and <code>false</code> otherwise - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @see #forward - * - * @since 3.0 - */ -public bool back () { - checkWidget(); - return webBrowser.back (); -} - -protected void checkSubclass () { - String name = getClass ().getName (); - int index = name.lastIndexOf ('.'); - if (!name.substring (0, index + 1).equals (PACKAGE_PREFIX)) { - DWT.error (DWT.ERROR_INVALID_SUBCLASS); - } -} - -/** - * Execute the specified script. - * - * <p> - * Execute a script containing javascript commands in the context of the current document. - * - * @param script the script with javascript commands - * - * @return <code>true</code> if the operation was successful and <code>false</code> otherwise - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the script is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.1 - */ -public bool execute (String script) { - checkWidget(); - if (script is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - return webBrowser.execute (script); -} - -/** - * Navigate to the next session history item. - * - * @return <code>true</code> if the operation was successful and <code>false</code> otherwise - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @see #back - * - * @since 3.0 - */ -public bool forward () { - checkWidget(); - return webBrowser.forward (); -} - -public int getStyle () { - /* - * If DWT.BORDER was specified at creation time then getStyle() should answer - * it even though it is removed for IE on win32 in checkStyle(). - */ - return super.getStyle () | (userStyle & DWT.BORDER); -} - -/** - * Returns a string with HTML that represents the content of the current page. - * - * @return HTML representing the current page or an empty <code>String</code> - * if this is empty - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.4 - */ -public String getText () { - checkWidget(); - return webBrowser.getText (); -} - -/** - * Returns the current URL. - * - * @return the current URL or an empty <code>String</code> if there is no current URL - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @see #setUrl - * - * @since 3.0 - */ -public String getUrl () { - checkWidget(); - return webBrowser.getUrl (); -} - -/** - * Returns the JavaXPCOM <code>nsIWebBrowser</code> for the receiver, or <code>null</code> - * if it is not available. In order for an <code>nsIWebBrowser</code> to be returned all - * of the following must be true: <ul> - * <li>the receiver's style must be <code>DWT.MOZILLA</code></li> - * <li>the classes from JavaXPCOM >= 1.8.1.2 must be resolvable at runtime</li> - * <li>the version of the underlying XULRunner must be >= 1.8.1.2</li> - * </ul> - * - * @return the receiver's JavaXPCOM <code>nsIWebBrowser</code> or <code>null</code> - * - * @since 3.3 - */ -public Object getWebBrowser () { - checkWidget(); - return webBrowser.getWebBrowser (); -} - -/** - * Returns <code>true</code> if the receiver can navigate to the - * previous session history item, and <code>false</code> otherwise. - * - * @return the receiver's back command enabled state - * - * @exception DWTException <ul> - * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> - * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> - * </ul> - * - * @see #back - */ -public bool isBackEnabled () { - checkWidget(); - return webBrowser.isBackEnabled (); -} - -public bool isFocusControl () { - checkWidget(); - if (webBrowser.isFocusControl ()) return true; - return super.isFocusControl (); -} - -/** - * Returns <code>true</code> if the receiver can navigate to the - * next session history item, and <code>false</code> otherwise. - * - * @return the receiver's forward command enabled state - * - * @exception DWTException <ul> - * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> - * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> - * </ul> - * - * @see #forward - */ -public bool isForwardEnabled () { - checkWidget(); - return webBrowser.isForwardEnabled (); -} - -/** - * Refresh the current page. - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void refresh () { - checkWidget(); - webBrowser.refresh (); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when the window hosting the receiver should be closed. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeCloseWindowListener (CloseWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeCloseWindowListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when the current location is changed or about to be changed. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeLocationListener (LocationListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeLocationListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when a new window needs to be created. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeOpenWindowListener (OpenWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeOpenWindowListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when a progress is made during the loading of the current - * URL or when the loading of the current URL has been completed. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeProgressListener (ProgressListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeProgressListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when the status text is changed. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeStatusTextListener (StatusTextListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeStatusTextListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when the title of the current document is available - * or has changed. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeTitleListener (TitleListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeTitleListener (listener); -} - -/** - * Removes the listener from the collection of listeners who will - * be notified when a window hosting the receiver needs to be displayed - * or hidden. - * - * @param listener the listener which should no longer be notified - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the listener is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void removeVisibilityWindowListener (VisibilityWindowListener listener) { - checkWidget(); - if (listener is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - webBrowser.removeVisibilityWindowListener (listener); -} - -/** - * Renders HTML. - * - * <p> - * The html parameter is Unicode encoded since it is a java <code>String</code>. - * As a result, the HTML meta tag charset should not be set. The charset is implied - * by the <code>String</code> itself. - * - * @param html the HTML content to be rendered - * - * @return true if the operation was successful and false otherwise. - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the html is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @see #setUrl - * - * @since 3.0 - */ -public bool setText (String html) { - checkWidget(); - if (html is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - return webBrowser.setText (html); -} - -/** - * Loads a URL. - * - * @param url the URL to be loaded - * - * @return true if the operation was successful and false otherwise. - * - * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT - if the url is null</li> - * </ul> - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @see #getUrl - * - * @since 3.0 - */ -public bool setUrl (String url) { - checkWidget(); - if (url is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); - return webBrowser.setUrl (url); -} - -/** - * Stop any loading and rendering activity. - * - * @exception DWTException <ul> - * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li> - * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li> - * </ul> - * - * @since 3.0 - */ -public void stop () { - checkWidget(); - webBrowser.stop (); -} -}
--- a/dwt/browser.old/CloseWindowListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.CloseWindowListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link WindowEvent} notification when a {@link Browser} is - * about to be closed and when its host window should be closed - * by the application. - * - * @see Browser#addCloseWindowListener(CloseWindowListener) - * @see Browser#removeCloseWindowListener(CloseWindowListener) - * @see OpenWindowListener - * @see VisibilityWindowListener - * - * @since 3.0 - */ -public interface CloseWindowListener : DWTEventListener { - -/** - * This method is called when the window hosting a {@link Browser} should be closed. - * Application would typically close the {@link dwt.widgets.Shell} that - * hosts the <code>Browser</code>. The <code>Browser</code> is disposed after this - * notification. - * - * <p>The following fields in the <code>WindowEvent</code> apply: - * <ul> - * <li>(in) widget the <code>Browser</code> that is going to be disposed - * </ul></p> - * - * @param event the <code>WindowEvent</code> that specifies the <code>Browser</code> - * that is going to be disposed - * - * @see dwt.widgets.Shell#close() - * - * @since 3.0 - */ - public void close(WindowEvent event); -}
--- a/dwt/browser.old/Download.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,388 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.Download; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.internal.C; -import dwt.internal.Compatibility; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDownload; -import dwt.internal.mozilla.nsIHelperAppLauncher; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIProgressDialog; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebProgressListener; -import dwt.layout.GridData; -import dwt.layout.GridLayout; -import dwt.widgets.Button; -import dwt.widgets.Event; -import dwt.widgets.Label; -import dwt.widgets.Listener; -import dwt.widgets.Shell; - -class Download { - XPCOMObject supports; - XPCOMObject download; - XPCOMObject progressDialog; - XPCOMObject webProgressListener; - nsIHelperAppLauncher helperAppLauncher; - int refCount = 0; - - Shell shell; - Label status; - Button cancel; - -Download () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - download = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);} - public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);} - public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);} - public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);} - public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);} - public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);} - public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);} - public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);} - public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);} - public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);} - public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);} - }; - - progressDialog = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);} - public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);} - public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);} - public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);} - public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);} - public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);} - public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);} - public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);} - public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);} - public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);} - public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);} - public int /*long*/ method16 (int /*long*/[] args) {return Open (args[0]);} - public int /*long*/ method17 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);} - public int /*long*/ method18 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);} - public int /*long*/ method19 (int /*long*/[] args) {return GetDialog (args[0]);} - public int /*long*/ method20 (int /*long*/[] args) {return SetDialog (args[0]);} - }; - - webProgressListener = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);} - public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (download !is null) { - download.dispose (); - download = null; - } - if (progressDialog !is null) { - progressDialog.dispose (); - progressDialog = null; - } - if (webProgressListener !is null) { - webProgressListener.dispose (); - webProgressListener = null; - } -} - -int /*long*/ getAddress () { - return progressDialog.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIDownload.NS_IDOWNLOAD_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIProgressDialog.NS_IPROGRESSDIALOG_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {webProgressListener.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIDownload */ - -/* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */ -int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aPersist) { - nsIURI source = new nsIURI (aSource); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - int rc = source.GetHost (aSpec); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - int length = XPCOM.nsEmbedCString_Length (aSpec); - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String url = new String (dest); - - /* - * As of mozilla 1.7 the second argument of the nsIDownload interface's - * Init function changed from nsILocalFile to nsIURI. Detect which of - * these interfaces the second argument implements and act accordingly. - */ - String filename = null; - nsISupports supports = new nsISupports (aTarget); - int /*long*/[] result = new int /*long*/[1]; - rc = supports.QueryInterface (nsIURI.NS_IURI_IID, result); - if (rc is 0) { /* >= 1.7 */ - nsIURI target = new nsIURI (result[0]); - result[0] = 0; - int /*long*/ aPath = XPCOM.nsEmbedCString_new (); - rc = target.GetPath (aPath); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - length = XPCOM.nsEmbedCString_Length (aPath); - buffer = XPCOM.nsEmbedCString_get (aPath); - dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aPath); - filename = new String (dest); - int separator = filename.lastIndexOf (System.getProperty ("file.separator")); //$NON-NLS-1$ - filename = filename.substring (separator + 1); - target.Release (); - } else { /* < 1.7 */ - nsILocalFile target = new nsILocalFile (aTarget); - int /*long*/ aNativeTarget = XPCOM.nsEmbedCString_new (); - rc = target.GetNativeLeafName (aNativeTarget); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - length = XPCOM.nsEmbedCString_Length (aNativeTarget); - buffer = XPCOM.nsEmbedCString_get (aNativeTarget); - dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aNativeTarget); - filename = new String (dest); - } - - Listener listener = new Listener () { - public void handleEvent (Event event) { - if (event.widget is cancel) { - shell.close (); - } - if (helperAppLauncher !is null) { - helperAppLauncher.Cancel (); - helperAppLauncher.Release (); - } - shell = null; - helperAppLauncher = null; - } - }; - shell = new Shell (DWT.DIALOG_TRIM); - String msg = Compatibility.getMessage ("SWT_Download_File", new Object[] {filename}); //$NON-NLS-1$ - shell.setText (msg); - GridLayout gridLayout = new GridLayout (); - gridLayout.marginHeight = 15; - gridLayout.marginWidth = 15; - gridLayout.verticalSpacing = 20; - shell.setLayout(gridLayout); - msg = Compatibility.getMessage ("SWT_Download_Location", new Object[] {filename, url}); //$NON-NLS-1$ - new Label (shell, DWT.SIMPLE).setText (msg); - status = new Label (shell, DWT.SIMPLE); - msg = Compatibility.getMessage ("SWT_Download_Started"); //$NON-NLS-1$ - status.setText (msg); - GridData data = new GridData (); - data.grabExcessHorizontalSpace = true; - data.grabExcessVerticalSpace = true; - status.setLayoutData (data); - - cancel = new Button (shell, DWT.PUSH); - cancel.setText (DWT.getMessage ("SWT_Cancel")); //$NON-NLS-1$ - data = new GridData (); - data.horizontalAlignment = GridData.CENTER; - cancel.setLayoutData (data); - cancel.addListener (DWT.Selection, listener); - shell.addListener (DWT.Close, listener); - shell.pack (); - shell.open (); - return XPCOM.NS_OK; -} - -int GetSource (int /*long*/ aSource) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetTarget (int /*long*/ aTarget) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetPersist (int /*long*/ aPersist) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetPercentComplete (int /*long*/ aPercentComplete) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetDisplayName (int /*long*/ aDisplayName) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetDisplayName (int /*long*/ aDisplayName) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetStartTime (int /*long*/ aStartTime) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetMIMEInfo (int /*long*/ aMIMEInfo) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetListener (int /*long*/ aListener) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetListener (int /*long*/ aListener) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetObserver (int /*long*/ aObserver) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetObserver (int /*long*/ aObserver) { - if (aObserver !is 0) { - nsISupports supports = new nsISupports (aObserver); - int /*long*/[] result = new int /*long*/[1]; - int rc = supports.QueryInterface (nsIHelperAppLauncher.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - helperAppLauncher = new nsIHelperAppLauncher (result[0]); - } - return XPCOM.NS_OK; -} - -/* nsIProgressDialog */ -int Open (int /*long*/ aParent) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetCancelDownloadOnClose (int aCancelDownloadOnClose) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetDialog (int /*long*/ aDialog) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetDialog (int /*long*/ aDialog) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -/* nsIWebProgressListener */ - -int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) { - if ((aStateFlags & nsIWebProgressListener.STATE_STOP) !is 0) { - if (helperAppLauncher !is null) helperAppLauncher.Release (); - helperAppLauncher = null; - if (shell !is null && !shell.isDisposed ()) shell.dispose (); - shell = null; - } - return XPCOM.NS_OK; -} - -int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) { - int currentKBytes = aCurTotalProgress / 1024; - int totalKBytes = aMaxTotalProgress / 1024; - if (shell !is null && !shell.isDisposed ()) { - Object[] arguments = {new Integer (currentKBytes), new Integer (totalKBytes)}; - String statusMsg = Compatibility.getMessage ("SWT_Download_Status", arguments); //$NON-NLS-1$ - status.setText (statusMsg); - shell.layout (true); - shell.getDisplay ().update (); - } - return XPCOM.NS_OK; -} - -int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) { - return XPCOM.NS_OK; -} - -int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) { - return XPCOM.NS_OK; -} - -int OnSecurityChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int state) { - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/DownloadFactory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.DownloadFactory; - -import dwt.dwthelper.utils; - -import dwt.browser.Download; - -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISupports; - -class DownloadFactory : nsIFactory -{ - int _refCount = 0; - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - int QueryInterface ( ref nsIID riid, void** ppvObject) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if ( riid == nsISupports.IID) - { - *ppvObject = cast(void*)cast(nsISupports)this; - AddRef (); - return NS_OK; - } - - if ( riid == nsIFactory.IID) - { - *ppvObject = cast(void*)cast(nsIFactory)this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - _refCount = 0; - return _refCount; - } - -/* nsIFactory */ - - nsresult CreateInstance ( nsISupports aOuter, nsIID* iid, void** result) - { - Download download = new Download (); - download.AddRef (); - nsresult rv = download.QueryInterface( iid, result ); - return rv; - } - - nsresult LockFactory (int lock) - { - return NS_OK; - } -}
--- a/dwt/browser.old/DownloadFactory_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.DownloadFactory_1_8; - -import dwt.dwthelper.utils; - -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISupports; - -class DownloadFactory_1_8 { - XPCOMObject supports; - XPCOMObject factory; - int refCount = 0; - -DownloadFactory_1_8 () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (factory !is null) { - factory.dispose (); - factory = null; - } -} - -int /*long*/ getAddress () { - return factory.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIFactory */ - -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) { - Download_1_8 download = new Download_1_8 (); - download.AddRef (); - XPCOM.memmove (result, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -int LockFactory (int lock) { - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/Download_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,407 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.Download_1_8; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.internal.C; -import dwt.internal.Compatibility; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsICancelable; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDownload_1_8; -import dwt.internal.mozilla.nsIProgressDialog_1_8; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebProgressListener; -import dwt.layout.GridData; -import dwt.layout.GridLayout; -import dwt.widgets.Button; -import dwt.widgets.Event; -import dwt.widgets.Label; -import dwt.widgets.Listener; -import dwt.widgets.Shell; - -class Download_1_8 { - XPCOMObject supports; - XPCOMObject download; - XPCOMObject progressDialog; - XPCOMObject webProgressListener; - nsICancelable cancelable; - int refCount = 0; - - Shell shell; - Label status; - Button cancel; - - static final bool is32 = C.PTR_SIZEOF is 4; - -Download_1_8 () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - download = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);} - public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);} - public int /*long*/ method8 (int /*long*/[] args) { - if (args.length is 10) { - return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]); - } else { - return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]); - } - } - public int /*long*/ method9 (int /*long*/[] args) { - if (args.length is 8) { - return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); - } else { - return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - } - public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);} - public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);} - public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);} - public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);} - public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);} - public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);} - public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);} - public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);} - public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);} - }; - - progressDialog = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);} - public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);} - public int /*long*/ method8 (int /*long*/[] args) { - if (args.length is 10) { - return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]); - } else { - return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]); - } - } - public int /*long*/ method9 (int /*long*/[] args) { - if (args.length is 8) { - return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); - } else { - return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - } - public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);} - public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);} - public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);} - public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);} - public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);} - public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);} - public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);} - public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);} - public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);} - public int /*long*/ method20 (int /*long*/[] args) {return Open (args[0]);} - public int /*long*/ method21 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);} - public int /*long*/ method22 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);} - public int /*long*/ method23 (int /*long*/[] args) {return GetObserver (args[0]);} - public int /*long*/ method24 (int /*long*/[] args) {return SetObserver (args[0]);} - public int /*long*/ method25 (int /*long*/[] args) {return GetDialog (args[0]);} - public int /*long*/ method26 (int /*long*/[] args) {return SetDialog (args[0]);} - }; - - webProgressListener = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);} - public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);} - }; -} - -void disposeCOMInterfaces() { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (download !is null) { - download.dispose (); - download = null; - } - if (progressDialog !is null) { - progressDialog.dispose (); - progressDialog = null; - } - if (webProgressListener !is null) { - webProgressListener.dispose (); - webProgressListener = null; - } -} - -int /*long*/ getAddress () { - return progressDialog.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIDownload_1_8.NS_IDOWNLOAD_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIProgressDialog_1_8.NS_IPROGRESSDIALOG_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {webProgressListener.getAddress ()}, C.PTR_SIZEOF); - AddRef(); - return XPCOM.NS_OK; - } - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIDownload */ - -/* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */ -int Init_32 (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aTempFile, int /*long*/ aCancelable) { - long startTime = (startTime2 << 32) + startTime1; - return Init (aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable); -} - -int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aTempFile, int /*long*/ aCancelable) { - cancelable = new nsICancelable (aCancelable); - nsIURI source = new nsIURI (aSource); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - int rc = source.GetHost (aSpec); - if (rc !is XPCOM.NS_OK) Mozilla.error(rc); - int length = XPCOM.nsEmbedCString_Length (aSpec); - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String url = new String (dest); - - nsIURI target = new nsIURI (aTarget); - int /*long*/ aPath = XPCOM.nsEmbedCString_new (); - rc = target.GetPath (aPath); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - length = XPCOM.nsEmbedCString_Length (aPath); - buffer = XPCOM.nsEmbedCString_get (aPath); - dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aPath); - String filename = new String (dest); - int separator = filename.lastIndexOf (System.getProperty ("file.separator")); //$NON-NLS-1$ - filename = filename.substring (separator + 1); - - Listener listener = new Listener() { - public void handleEvent (Event event) { - if (event.widget is cancel) { - shell.close (); - } - if (cancelable !is null) { - int rc = cancelable.Cancel (XPCOM.NS_BINDING_ABORTED); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - } - shell = null; - cancelable = null; - } - }; - shell = new Shell (DWT.DIALOG_TRIM); - String msg = Compatibility.getMessage ("SWT_Download_File", new Object[] {filename}); //$NON-NLS-1$ - shell.setText (msg); - GridLayout gridLayout = new GridLayout (); - gridLayout.marginHeight = 15; - gridLayout.marginWidth = 15; - gridLayout.verticalSpacing = 20; - shell.setLayout (gridLayout); - msg = Compatibility.getMessage ("SWT_Download_Location", new Object[] {filename, url}); //$NON-NLS-1$ - new Label (shell, DWT.SIMPLE).setText (msg); - status = new Label (shell, DWT.SIMPLE); - msg = Compatibility.getMessage ("SWT_Download_Started"); //$NON-NLS-1$ - status.setText (msg); - GridData data = new GridData (); - data.grabExcessHorizontalSpace = true; - data.grabExcessVerticalSpace = true; - status.setLayoutData (data); - - cancel = new Button (shell, DWT.PUSH); - cancel.setText (DWT.getMessage ("SWT_Cancel")); //$NON-NLS-1$ - data = new GridData (); - data.horizontalAlignment = GridData.CENTER; - cancel.setLayoutData (data); - cancel.addListener (DWT.Selection, listener); - shell.addListener (DWT.Close, listener); - shell.pack (); - shell.open (); - return XPCOM.NS_OK; -} - -int GetAmountTransferred (int /*long*/ arg0) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetCancelable (int /*long*/ arg0) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetDisplayName (int /*long*/ aDisplayName) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetMIMEInfo (int /*long*/ aMIMEInfo) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetPercentComplete (int /*long*/ aPercentComplete) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetSize (int /*long*/ arg0) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetSource (int /*long*/ aSource) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetStartTime (int /*long*/ aStartTime) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetTarget (int /*long*/ aTarget) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetTargetFile (int /*long*/ arg0) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -/* nsIProgressDialog */ -int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetDialog (int /*long*/ aDialog) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetObserver (int /*long*/ aObserver) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int Open (int /*long*/ aParent) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetCancelDownloadOnClose (int aCancelDownloadOnClose) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetDialog (int /*long*/ aDialog) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetObserver (int /*long*/ aObserver) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -/* nsIWebProgressListener */ - -int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) { - return XPCOM.NS_OK; -} - -int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) { - return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress); -} - -/* Note. The last 4 args in the original interface are defined as PRInt64. These each translate into two java ints. */ -int OnProgressChange64_32 (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aCurSelfProgress1, int /*long*/ aCurSelfProgress2, int /*long*/ aMaxSelfProgress1, int /*long*/ aMaxSelfProgress2, int /*long*/ aCurTotalProgress1, int /*long*/ aCurTotalProgress2, int /*long*/ aMaxTotalProgress1, int /*long*/ aMaxTotalProgress2) { - long aCurSelfProgress = (aCurSelfProgress2 << 32) + aCurSelfProgress1; - long aMaxSelfProgress = (aMaxSelfProgress2 << 32) + aMaxSelfProgress1; - long aCurTotalProgress = (aCurTotalProgress2 << 32) + aCurTotalProgress1; - long aMaxTotalProgress = (aMaxTotalProgress2 << 32) + aMaxTotalProgress1; - return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress); -} - -int OnProgressChange64 (int /*long*/ aWebProgress, int /*long*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) { - long currentKBytes = aCurTotalProgress / 1024; - long totalKBytes = aMaxTotalProgress / 1024; - if (shell !is null && !shell.isDisposed ()) { - Object[] arguments = {new Long (currentKBytes), new Long (totalKBytes)}; - String statusMsg = Compatibility.getMessage ("SWT_Download_Status", arguments); //$NON-NLS-1$ - status.setText (statusMsg); - shell.layout (true); - shell.getDisplay ().update (); - } - return XPCOM.NS_OK; -} - -int OnSecurityChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int state) { - return XPCOM.NS_OK; -} - -int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) { - if ((aStateFlags & nsIWebProgressListener.STATE_STOP) !is 0) { - cancelable = null; - if (shell !is null && !shell.isDisposed ()) shell.dispose (); - shell = null; - } - return XPCOM.NS_OK; -} - -int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) { - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/FilePicker.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,453 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ - -module dwt.browser.FilePicker; - -import tango.io.model.IFile; -import Utf = tango.text.convert.Utf; - -import dwt.dwthelper.utils; - -import dwt.DWT; - -import XPCOM = dwt.internal.mozilla.nsXPCOM; - -import dwt.browser.Mozilla; -import dwt.browser.MozillaDelegate; - -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFilePicker; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsSimpleEnumerator; -import dwt.internal.mozilla.nsStringAPI; -import dwt.internal.mozilla.nsError; - -import dwt.widgets.DirectoryDialog; -import dwt.widgets.Display; -import dwt.widgets.FileDialog; -import dwt.widgets.Shell; - - -class FilePicker : nsISupports, nsIFilePicker -{ - /************************************************************************** - - **************************************************************************/ - - private - { - int _refCount = 0; - short _mode; - - nsIDOMWindow _parent; - - String[] _files; - String _masks; - String _defaultFilename, - _directory, - _title; - } - /************************************************************************** - - **************************************************************************/ - - static final String SEPARATOR = FileConst.FileSeparatorChar; - - /************************************************************************** - - **************************************************************************/ - - this () - { - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult QueryInterface ( inout nsID riid, void** ppvObject) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if (riid == nsISupports.IID) - { - *ppvObject = cast(void*)cast(nsISupports) this; - AddRef (); - return NS_OK; - } - - if (riid == nsIFilePicker.IID)) - { - *ppvObject = cast(void*)cast(nsIFilePicker) this; - AddRef (); - return NS_OK; - } - - if (riid == nsIFilePicker_1_8.IID) - { - *ppvObject = cast(void*)cast(nsIFilePicker_1_8) this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt Release () - { - _refCount--; - - if (_refCount is 0) - // No big deal here; just allow the GC to reap this object - // once all references are expired. -JJR - // delete this; - return 0; - - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - /* SWT Comment: - * - * As of Mozilla 1.8 some of nsIFilePicker's string arguments changed type. This method - * answers a java string based on the type of string that is appropriate for the Mozilla - * version being used. - */ - - override String parseAString (nsEmbedString str) - { - return null; - } - - /************************************************************************** - - **************************************************************************/ - - /* nsIFilePicker */ - - nsresult Init (nsIDOMWindow parent, nsAString* title, PRInt16 mode) - { - _parent = parent; - _mode = mode; - _title = parseAString (title); - return XPCOM; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult Show (PRUint32* retval) - { - if (_mode is nsIFilePicker.modeGetFolder) - { - /* picking a directory */ - int result = this.showDirectoryPicker (); - *retval = result; - return NS_OK; - } - - /* picking a file */ - int style = _mode is nsIFilePicker.modeSave ? DWT.SAVE : DWT.OPEN; - - if (_mode is nsIFilePicker.modeOpenMultiple) - style |= DWT.MULTI; - - Display display = Display.getCurrent (); - Shell parent = null; // TODO compute parent - - if (parent is null) - { - parent = new Shell (display); - } - - FileDialog dialog = new FileDialog (parent, style); - - if (_title !is null) - dialog.setText (_title); - - if (_directory !is null) - dialog.setFilterPath (_directory); - - if (_masks !is null) { - String[] str ~= _masks; - dialog.setFilterExtensions ( str ); - } - - if (_defaultFilename !is null) - dialog.setFileName (_defaultFilename); - - String filename = dialog.open (); - files = dialog.getFileNames (); - _directory = dialog.getFilterPath (); - _title = _defaultFilename = null; - _masks = null; - int result = filename is null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK; - *retval = result; - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - int showDirectoryPicker () - { - Display display = Display.getCurrent (); - Shell parent = null; // TODO compute parent - - if (parent is null) - { - parent = new Shell (display); - } - - DirectoryDialog dialog = new DirectoryDialog (parent, DWT.NONE); - - if (_title !is null) - dialog.setText (_title); - if (_directory !is null) - dialog.setFilterPath (_directory); - _directory = dialog.open (); - _title = _defaultFilename = null; - _files = _masks = null; - return _directory is null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult GetFiles ( nsISimpleEnumerator* aFiles) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult GetFileURL (nsIFileURL aFileURL) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult GetFile (nsILocalFile* aFile) - { - String filename = ""; //$NON-NLS-1$ - - if (_directory !is null) - filename ~= _directory ~ SEPARATOR; - if (_files !is null && _files.length > 0) - filename ~= _files[0]; - - // Create a nsEmbedString which will be automatically disposed - // at the end of scope. - scope auto path = new nsEmbedString( filename ); - - nsresult rc = XPCOM.NS_NewLocalFile ( cast(nsAString*)path, 1, aFile); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (aFile is null) - Mozilla.error (NS_ERROR_NULL_POINTER); - - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult SetDisplayDirectory (nsILocalFile aDisplayDirectory) - { - if (aDisplayDirectory is null) - return NS_OK; - - scope auto pathname = new nsEmbedCString; - aDisplayDirectory.GetNativePath ( cast(nsACString*)pathname ); - // TODO: CHECK IF THIS DOES CORRECT STRING CONVERSION -JJR - char[] buffer = pathname.toString(); - char[] chars = MozillaDelegate.mbcsToWcs (null, buffer); - // "buffer" contains a dup'ed string so we can safely reuse - // it's memory for the _directory member. -JJR - _directory = buffer; - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult GetDisplayDirectory (nsILocalFile* aDisplayDirectory) - { - String directoryName = _directory !is null ? _directory : ""; //$NON-NLS-1$ - scope auto path = new nsEmbedString (directoryName); - nsresult rc = XPCOM.NS_NewLocalFile ( cast(nsAString*)path, 1, aDisplayDirectory); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (aDisplayDirectory is null) - Mozilla.error (NS_ERROR_NULL_POINTER); - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult SetFilterIndex (PRInt32 aFilterIndex) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nresult GetFilterIndex (PRInt32* aFilterIndex) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - int SetDefaultExtension (nsAString* aDefaultExtension) - { - /* note that the type of argument 1 changed as of Mozilla 1.8 */ - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - int GetDefaultExtension (nsAString* aDefaultExtension) - { - /* note that the type of argument 1 changed as of Mozilla 1.8 */ - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nresult SetDefaultString (nsAString* aDefaultString) - { - defaultFilename = parseAString (aDefaultString); - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nresult GetDefaultString (nsAString* aDefaultString) - { - /* note that the type of argument 1 changed as of Mozilla 1.8 */ - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nresult AppendFilter (nsAString* title, nsAString* filter) - { - /* note that the type of arguments 1 and 2 changed as of Mozilla 1.8 */ - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - nresult AppendFilters (PRInt32 filterMask) - { - String addFilters; - - switch (filterMask) - { - case nsIFilePicker.filterAll: - case nsIFilePicker.filterApps: - _masks = null; /* this is equivalent to no filter */ - break; - case nsIFilePicker.filterHTML: - addFilters = "*.htm;*.html" ; - break; - case nsIFilePicker.filterImages: - addFilters = "*.gif;*.jpeg;*.jpg;*.png"; - break; - case nsIFilePicker.filterText: - addFilters = "*.txt"; - break; - case nsIFilePicker.filterXML: - addFilters = "*.xml"; - break; - case nsIFilePicker.filterXUL: - addFilters = "*.xul"; - break; - } - - if (_masks is null) - { - _masks = addFilters; - } else { - if (addFilters !is null) - _masks ~= addFilters; - } - return NS_OK; - } - -/****************************************************************************** - - FilePicker for Mozilla Version 1.8 - -******************************************************************************/ - -class FilePicker_1_8 : FilePicker -{ - String parseAString (nsEmbedString str) - { - if (str is null) - return null; - return Utf.toString( str.toString16() ); - } -} \ No newline at end of file
--- a/dwt/browser.old/FilePickerFactory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ - -module dwt.browser.FilePickerFactory; - -import dwt.dwthelper.utils; - -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla. -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISupports; - -class FilePickerFactory : nsISupports, nsIFactory -{ - - /************************************************************************** - - **************************************************************************/ - - int _refCount = 0; - - /************************************************************************** - - **************************************************************************/ - - this () - { - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - int QueryInterface ( ref nsID riid, void** ppvObject) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if (guid == nsISupports.IID)) - { - *ppvObject = cast(void*)cast(nsISupports) this; - AddRef (); - return NS_OK; - } - - if (guid == nsIFactory.IID) - { - *ppvObject = cast(void*)cast(nsIFactory) this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - return 0; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - /* nsIFactory */ - - nsresult CreateInstance (nsISupports aOuter, nsIID* iid, void** result) - { - if (result is null) - return NS_ERROR_INVALID_ARG; - - FilePicker picker = new FilePicker (); - picker.AddRef (); - - nsresult rv = picker.QueryInterface( iid, result ); - - // TODO: If the query fails, the error should be checked and the - // newly created object deleted. In C++, this is done - // like so: - // - // if (NS_FAILED(rv)) { - // *result = nsnull; - // delete picker; - // } - // - // Deletion of the object really isn't critical here for D, but - // it may be considered "good habit" to do anyway for XPCOM objects. - // For now, just return the rv value. NS_FAILED needs to be - // ported first. -JJR - - return rv; - } - - nsresult LockFactory (int lock) - { - return NS_OK; - } - -} \ No newline at end of file
--- a/dwt/browser.old/FilePickerFactory_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.FilePickerFactory_1_8; - -import dwt.dwthelper.utils; - -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; - -class FilePickerFactory_1_8 extends FilePickerFactory { - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);} - }; -} - -/* nsIFactory */ - -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) { - FilePicker_1_8 picker = new FilePicker_1_8 (); - picker.AddRef (); - XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -}
--- a/dwt/browser.old/FilePicker_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.FilePicker_1_8; - -import dwt.dwthelper.utils; - -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; - -class FilePicker_1_8 extends FilePicker { - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - filePicker = new XPCOMObject (new int[] {2, 0, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], (short)args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return AppendFilters ((int)/*64*/args[0]);} - public int /*long*/ method5 (int /*long*/[] args) {return AppendFilter (args[0], args[1]);} - public int /*long*/ method6 (int /*long*/[] args) {return GetDefaultString (args[0]);} - public int /*long*/ method7 (int /*long*/[] args) {return SetDefaultString (args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return GetDefaultExtension (args[0]);} - public int /*long*/ method9 (int /*long*/[] args) {return SetDefaultExtension (args[0]);} - public int /*long*/ method10 (int /*long*/[] args) {return GetFilterIndex (args[0]);} - public int /*long*/ method11 (int /*long*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return GetDisplayDirectory (args[0]);} - public int /*long*/ method13 (int /*long*/[] args) {return SetDisplayDirectory (args[0]);} - public int /*long*/ method14 (int /*long*/[] args) {return GetFile (args[0]);} - public int /*long*/ method15 (int /*long*/[] args) {return GetFileURL (args[0]);} - public int /*long*/ method16 (int /*long*/[] args) {return GetFiles (args[0]);} - public int /*long*/ method17 (int /*long*/[] args) {return Show (args[0]);} - }; -} - -/* - * As of Mozilla 1.8 some of nsIFilePicker's string arguments changed type. This method - * answers a java string based on the type of string that is appropriate for the Mozilla - * version being used. - */ -String parseAString (int /*long*/ string) { - if (string is 0) return null; - int length = XPCOM.nsEmbedString_Length (string); - int /*long*/ buffer = XPCOM.nsEmbedString_get (string); - char[] chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - return new String (chars); -} -}
--- a/dwt/browser.old/HelperAppLauncherDialog.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.HelperAppLauncherDialog; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIHelperAppLauncher; -import dwt.internal.mozilla.nsIHelperAppLauncherDialog; -import dwt.internal.mozilla.nsIHelperAppLauncher_1_8; -import dwt.internal.mozilla.nsIHelperAppLauncher_1_9; -import dwt.internal.mozilla.nsISupports; -import dwt.widgets.FileDialog; -import dwt.widgets.Shell; - -class HelperAppLauncherDialog { - XPCOMObject supports; - XPCOMObject helperAppLauncherDialog; - int refCount = 0; - -HelperAppLauncherDialog () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 5}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return Show (args[0], args[1], (int)/*64*/args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], args[4]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (helperAppLauncherDialog !is null) { - helperAppLauncherDialog.dispose (); - helperAppLauncherDialog = null; - } -} - -int /*long*/ getAddress () { - return helperAppLauncherDialog.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIHelperAppLauncherDialog.NS_IHELPERAPPLAUNCHERDIALOG_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - /* - * Note. This instance lives as long as the download it is binded to. - * Its reference count is expected to go down to 0 when the download - * has completed or when it has been cancelled. E.g. when the user - * cancels the File Dialog, cancels or closes the Download Dialog - * and when the Download Dialog goes away after the download is completed. - */ - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIHelperAppLauncherDialog */ - -int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) { - /* - * The interface for nsIHelperAppLauncher changed in GRE versions 1.8 and 1.9. Query for - * each of these interfaces in turn until one is found. - */ - nsISupports supports = new nsISupports (aLauncher); - int /*long*/[] result = new int /*long*/[1]; - int rc = supports.QueryInterface (nsIHelperAppLauncher_1_9.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc is 0) { - nsIHelperAppLauncher_1_9 helperAppLauncher = new nsIHelperAppLauncher_1_9 (aLauncher); - rc = helperAppLauncher.SaveToDisk (0, 0); - helperAppLauncher.Release (); - return rc; - } - - result[0] = 0; - rc = supports.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc is 0) { - nsIHelperAppLauncher_1_8 helperAppLauncher = new nsIHelperAppLauncher_1_8 (aLauncher); - rc = helperAppLauncher.SaveToDisk (0, 0); - helperAppLauncher.Release (); - return rc; - } - - nsIHelperAppLauncher helperAppLauncher = new nsIHelperAppLauncher (aLauncher); /* < 1.8 */ - return helperAppLauncher.SaveToDisk (0, 0); -} - -int PromptForSaveToFile (int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4) { - int /*long*/ aDefaultFile, aSuggestedFileExtension, _retval; - bool hasLauncher = false; - - /* - * The interface for nsIHelperAppLauncherDialog changed as of mozilla 1.5 when an - * extra argument was added to the PromptForSaveToFile method (this resulted in all - * subsequent arguments shifting right). The workaround is to provide an XPCOMObject - * that fits the newer API, and to use the first argument's type to infer whether - * the old or new nsIHelperAppLauncherDialog interface is being used (and by extension - * the ordering of the arguments). In mozilla >= 1.5 the first argument is an - * nsIHelperAppLauncher. - */ - /* - * The interface for nsIHelperAppLauncher changed as of mozilla 1.8, so the first - * argument must be queried for both the old and new nsIHelperAppLauncher interfaces. - */ - bool using_1_8 = false, using_1_9 = false; - nsISupports support = new nsISupports (arg0); - int /*long*/[] result = new int /*long*/[1]; - int rc = support.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc is 0) { - using_1_8 = true; - hasLauncher = true; - new nsISupports (result[0]).Release (); - } else { - result[0] = 0; - rc = support.QueryInterface (nsIHelperAppLauncher_1_9.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc is 0) { - using_1_9 = true; - hasLauncher = true; - new nsISupports (result[0]).Release (); - } else { - result[0] = 0; - rc = support.QueryInterface (nsIHelperAppLauncher.NS_IHELPERAPPLAUNCHER_IID, result); - if (rc is 0) { - hasLauncher = true; - new nsISupports (result[0]).Release (); - } - } - } - result[0] = 0; - - if (hasLauncher) { /* >= 1.5 */ - aDefaultFile = arg2; - aSuggestedFileExtension = arg3; - _retval = arg4; - } else { /* 1.4 */ - aDefaultFile = arg1; - aSuggestedFileExtension = arg2; - _retval = arg3; - } - - int length = XPCOM.strlen_PRUnichar (aDefaultFile); - char[] dest = new char[length]; - XPCOM.memmove (dest, aDefaultFile, length * 2); - String defaultFile = new String (dest); - - length = XPCOM.strlen_PRUnichar (aSuggestedFileExtension); - dest = new char[length]; - XPCOM.memmove (dest, aSuggestedFileExtension, length * 2); - String suggestedFileExtension = new String (dest); - - Shell shell = new Shell (); - FileDialog fileDialog = new FileDialog (shell, DWT.SAVE); - fileDialog.setFileName (defaultFile); - fileDialog.setFilterExtensions (new String[] {suggestedFileExtension}); - String name = fileDialog.open (); - shell.close (); - if (name is null) { - if (hasLauncher) { - if (using_1_8) { - nsIHelperAppLauncher_1_8 launcher = new nsIHelperAppLauncher_1_8 (arg0); - rc = launcher.Cancel (XPCOM.NS_BINDING_ABORTED); - } else if (using_1_9) { - nsIHelperAppLauncher_1_9 launcher = new nsIHelperAppLauncher_1_9 (arg0); - rc = launcher.Cancel (XPCOM.NS_BINDING_ABORTED); - } else { - nsIHelperAppLauncher launcher = new nsIHelperAppLauncher (arg0); - rc = launcher.Cancel (); - } - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - return XPCOM.NS_OK; - } - return XPCOM.NS_ERROR_FAILURE; - } - nsEmbedString path = new nsEmbedString (name); - rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, result); - path.dispose (); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); - /* Our own nsIDownload has been registered during the Browser initialization. It will be invoked by Mozilla. */ - XPCOM.memmove (_retval, result, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/HelperAppLauncherDialogFactory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.HelperAppLauncherDialogFactory; - -import dwt.dwthelper.utils; - -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISupports; - -class HelperAppLauncherDialogFactory { - XPCOMObject supports; - XPCOMObject factory; - int refCount = 0; - -HelperAppLauncherDialogFactory () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (factory !is null) { - factory.dispose (); - factory = null; - } -} - -int /*long*/ getAddress () { - return factory.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIFactory */ - -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) { - HelperAppLauncherDialog helperAppLauncherDialog = new HelperAppLauncherDialog (); - helperAppLauncherDialog.AddRef (); - XPCOM.memmove (result, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -int LockFactory (int lock) { - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/InputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ - -module dwt.browser.InputStream; - -import dwt.dwthelper.utils; - -import dwt.internal.mozilla.nsError; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsISupports; - -import Math = tango.math.Math; - -/****************************************************************************** - - COMMENTS: SWT implements this class as a replacement for the XPCOM - implementation; it may be possible to use the XPCOM one instead - (which also may be safer for D), but for now we'll follow SWT's example - and use this reimplementation of InputStream. It should be trivial to - move over to strict XPCOM implementation should the need arise. It appears - that the Java SWT source uses many workarounds in order to use the XPCOM - interface. For D, I remove much of the Java layered callback - approach since it is no longer necessary. -JJR - -******************************************************************************/ - -class InputStream : nsIInputStream -{ - int _refCount = 0; - int _index = 0; - byte[] _buffer; - - /************************************************************************** - - **************************************************************************/ - - this (byte[] buffer) - { - this._buffer = buffer; - index = 0; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult QueryInterface ( inout nsID riid, void** ppvObject) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - nsID guid = riid; - - if (guid == nsISupports.NS_ISUPPORTS_IID) - { - *ppvObject = cast(void*)cast(nsISupports) this; - this.AddRef (); - return NS_OK; - } - - if (guid == nsIInputStream.NS_IINPUTSTREAM_IID) - { - *ppvObject = cast(void*)cast(nsIInputStream) this; - this.AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - return 0 - // delete this; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult Close () - { - _buffer = null; - _index = 0; - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult Available ( PRUint32* retval) - { - PRUint32 available = buffer is null ? 0 : buffer.length - _index; - *retval = available; - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult Read(byte* aBuf, PRUint32 aCount, PRUint32* retval) - { - int max = Math.min (aCount, _buffer is null ? 0 : _buffer.length - _index); - - if (max > 0) - { - aBuf[0..max] = _buffer[_index..$]; - _index += max; - } - - *retval = max; - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult ReadSegments (nsWriteSegmentFun aWriter, void* aClosure, PRUint32 aCount, PRUint32* retval) - { - int max = Math.min (aCount, buffer is null ? 0 : buffer.length - _index); - PRUint32 cnt = max; - - while (cnt > 0) - { - PRUint32 aWriteCount; - nsresult rc = aWriter ( cast(nsIInputStream)this, aClosure, buffer.ptr, _index, cnt, &aWriteCount); - if (rc !is NS_OK) break; - _index += aWriteCount; - cnt -= aWriteCount; - } - - *retval = (max - cnt); - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult IsNonBlocking ( PRUint32* retval) - { - *retval = 0; - return NS_OK; - } -}
--- a/dwt/browser.old/LocationAdapter.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.LocationAdapter; - -import dwt.browser.LocationListener; -import dwt.browser.LocationEvent; -import dwt.dwthelper.utils; - -/** - * This adapter class provides default implementations for the - * methods described by the {@link LocationListener} interface. - * <p> - * Classes that wish to deal with {@link LocationEvent}'s can - * extend this class and override only the methods which they are - * interested in. - * </p> - * - * @since 3.0 - */ -public abstract class LocationAdapter : LocationListener { - - public void changing(LocationEvent event) { - } - - public void changed(LocationEvent event) { - } -}
--- a/dwt/browser.old/LocationEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.LocationEvent; - -import dwt.dwthelper.utils; - -import dwt.events.TypedEvent; -import dwt.widgets.Widget; - -/** - * A <code>LocationEvent</code> is sent by a {@link Browser} to - * {@link LocationListener}'s when the <code>Browser</code> - * navigates to a different URL. This notification typically - * occurs when the application navigates to a new location with - * {@link Browser#setUrl(String)} or when the user activates a - * hyperlink. - * - * @since 3.0 - */ -public class LocationEvent : TypedEvent { - /** current location */ - public String location; - - /** - * A flag indicating whether the location opens in the top frame - * or not. - */ - public bool top; - - /** - * A flag indicating whether the location loading should be allowed. - * Setting this field to <code>false</code> will cancel the operation. - */ - public bool doit; - - static final long serialVersionUID = 3906644198244299574L; - -LocationEvent(Widget w) { - super(w); -} - -/** - * Returns a string containing a concise, human-readable - * description of the receiver. - * - * @return a string representation of the event - */ -public String toString() { - String string = super.toString (); - return string.substring (0, string.length() - 1) // remove trailing '}' - + " location=" + location - + " top=" + top - + " doit=" + doit - + "}"; -} -}
--- a/dwt/browser.old/LocationListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.LocationListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link LocationEvent} notification when a {@link Browser} - * navigates to a different URL. - * - * @see Browser#addLocationListener(LocationListener) - * @see Browser#removeLocationListener(LocationListener) - * - * @since 3.0 - */ -public interface LocationListener extends DWTEventListener { - -/** - * This method is called when the current location is about to be changed. - * <p> - * - * <p>The following fields in the <code>LocationEvent</code> apply: - * <ul> - * <li>(in) location the location to be loaded - * <li>(in) widget the <code>Browser</code> whose location is changing - * <li>(in/out) doit can be set to <code>false</code> to prevent the location - * from being loaded - * </ul> - * - * @param event the <code>LocationEvent</code> that specifies the location - * to be loaded by a <code>Browser</code> - * - * @since 3.0 - */ -public void changing(LocationEvent event); - -/** - * This method is called when the current location is changed. - * <p> - * - * <p>The following fields in the <code>LocationEvent</code> apply: - * <ul> - * <li>(in) location the current location - * <li>(in) top <code>true</code> if the location opens in the top frame or - * <code>false</code> otherwise - * <li>(in) widget the <code>Browser</code> whose location has changed - * </ul> - * - * @param event the <code>LocationEvent</code> that specifies the new - * location of a <code>Browser</code> - * - * @since 3.0 - */ -public void changed(LocationEvent event); - -}
--- a/dwt/browser.old/Mozilla.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.Mozilla; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.DWTError; -import dwt.graphics.Device; -import dwt.graphics.Point; -import dwt.graphics.Rectangle; - -import dwt.internal.Compatibility; -import dwt.internal.LONG; -import dwt.internal.Library; - -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsError; - -import dwt.internal.mozilla.nsIAppShell; -import dwt.internal.mozilla.nsIBaseWindow; -import dwt.internal.mozilla.nsICategoryManager; -import dwt.internal.mozilla.nsIComponentManager; -import dwt.internal.mozilla.nsIComponentRegistrar; -import dwt.internal.mozilla.nsIContextMenuListener; -import dwt.internal.mozilla.nsICookie; -import dwt.internal.mozilla.nsICookieManager; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMEvent; -import dwt.internal.mozilla.nsIDOMEventTarget; -import dwt.internal.mozilla.nsIDOMKeyEvent; -import dwt.internal.mozilla.nsIDOMMouseEvent; -import dwt.internal.mozilla.nsIDOMSerializer; -import dwt.internal.mozilla.nsIDOMSerializer_1_7; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIDOMWindowCollection; -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.nsIIOService; -import dwt.internal.mozilla.nsIInterfaceRequestor; -import dwt.internal.mozilla.nsIJSContextStack; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIObserverService; -import dwt.internal.mozilla.nsIPrefBranch; -import dwt.internal.mozilla.nsIPrefLocalizedString; -import dwt.internal.mozilla.nsIPrefService; -import dwt.internal.mozilla.nsIProperties; -import dwt.internal.mozilla.nsIServiceManager; -import dwt.internal.mozilla.nsISimpleEnumerator; -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; -import dwt.internal.mozilla.nsIWeakReference; -import dwt.internal.mozilla.nsIWebBrowser; -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIWebBrowserChromeFocus; -import dwt.internal.mozilla.nsIWebBrowserFocus; -import dwt.internal.mozilla.nsIWebNavigation; -import dwt.internal.mozilla.nsIWebNavigationInfo; -import dwt.internal.mozilla.nsIWebProgress; -import dwt.internal.mozilla.nsIWebProgressListener; -import dwt.internal.mozilla.nsIWindowWatcher; - -import dwt.layout.FillLayout; -import dwt.widgets.Composite; -import dwt.widgets.Display; -import dwt.widgets.Event; -import dwt.widgets.Label; -import dwt.widgets.Listener; -import dwt.widgets.Menu; -import dwt.widgets.Shell; - -class Mozilla : nsIWebBrowser, nsIWeakReference, - nsIWebProgressListener, nsIWebBrowserChrome, - nsIWebBrowserChromeFocus, nsIEmbeddingSiteWindow, - nsIInterfaceRequestor, nsISupportsWeakReference, - nsIContextMenuListener, nsIUriContentListener, - nsIToolTipListener, nsIDOMEventListener -{ - int /*long*/ embedHandle; - nsIWebBrowser webBrowser; - Object webBrowserObject; - MozillaDelegate mozDelegate; - - int chromeFlags = nsIWebBrowserChrome.CHROME_DEFAULT; - int refCount, lastKeyCode, lastCharCode; - int /*long*/ request; - Point location, size; - bool visible, isChild, ignoreDispose, awaitingNavigate; - Shell tip = null; - Listener listener; - - // replace with appropriate D/Tango data structure - Vector unhookedDOMWindows = new Vector (); - - static nsIAppShell AppShell; - static AppFileLocProvider LocationProvider; - static WindowCreator2 WindowCreator; - static int BrowserCount; - static bool Initialized, IsPre_1_8, PerformedVersionCheck, XPCOMWasGlued, XPCOMInitWasGlued; - - /* XULRunner detect constants */ - static final String GRERANGE_LOWER = "1.8.1.2"; //$NON-NLS-1$ - static final String GRERANGE_LOWER_FALLBACK = "1.8"; //$NON-NLS-1$ - static final bool LowerRangeInclusive = true; - static final String GRERANGE_UPPER = "1.9.*"; //$NON-NLS-1$ - static final bool UpperRangeInclusive = true; - - static final int MAX_PORT = 65535; - static final String SEPARATOR_OS = System.getProperty ("file.separator"); //$NON-NLS-1$ - static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$ - static final String DISPOSE_LISTENER_HOOKED = "dwt.browser.Mozilla.disposeListenerHooked"; //$NON-NLS-1$ - static final String PREFIX_JAVASCRIPT = "javascript:"; //$NON-NLS-1$ - static final String PREFERENCE_CHARSET = "intl.charset.default"; //$NON-NLS-1$ - static final String PREFERENCE_DISABLEOPENDURINGLOAD = "dom.disable_open_during_load"; //$NON-NLS-1$ - static final String PREFERENCE_DISABLEWINDOWSTATUSCHANGE = "dom.disable_window_status_change"; //$NON-NLS-1$ - static final String PREFERENCE_LANGUAGES = "intl.accept_languages"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYHOST_FTP = "network.proxy.ftp"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYPORT_FTP = "network.proxy.ftp_port"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYHOST_HTTP = "network.proxy.http"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYPORT_HTTP = "network.proxy.http_port"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYHOST_SSL = "network.proxy.ssl"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYPORT_SSL = "network.proxy.ssl_port"; //$NON-NLS-1$ - static final String PREFERENCE_PROXYTYPE = "network.proxy.type"; //$NON-NLS-1$ - static final String PROFILE_AFTER_CHANGE = "profile-after-change"; //$NON-NLS-1$ - static final String PROFILE_BEFORE_CHANGE = "profile-before-change"; //$NON-NLS-1$ - static final String PROFILE_DIR = SEPARATOR_OS + "eclipse" + SEPARATOR_OS; //$NON-NLS-1$ - static final String PROFILE_DO_CHANGE = "profile-do-change"; //$NON-NLS-1$ - static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$ - static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$ - static final String SEPARATOR_LOCALE = "-"; //$NON-NLS-1$ - static final String SHUTDOWN_PERSIST = "shutdown-persist"; //$NON-NLS-1$ - static final String STARTUP = "startup"; //$NON-NLS-1$ - static final String TOKENIZER_LOCALE = ","; //$NON-NLS-1$ - static final String URI_FROMMEMORY = "file:///"; //$NON-NLS-1$ - static final String XULRUNNER_PATH = "dwt.browser.XULRunnerPath"; //$NON-NLS-1$ - - // TEMPORARY CODE - static final String GRE_INITIALIZED = "dwt.browser.XULRunnerInitialized"; //$NON-NLS-1$ - - static { - MozillaClearSessions = new Runnable () { - public void run () { - if (!Initialized) return; - int /*long*/[] result = new int /*long*/[1]; - int rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_COOKIEMANAGER_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsICookieManager.NS_ICOOKIEMANAGER_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsICookieManager manager = new nsICookieManager (result[0]); - result[0] = 0; - rc = manager.GetEnumerator (result); - if (rc !is XPCOM.NS_OK) error (rc); - manager.Release (); - - nsISimpleEnumerator enumerator = new nsISimpleEnumerator (result[0]); - int[] moreElements = new int[1]; /* PRBool */ - rc = enumerator.HasMoreElements (moreElements); - if (rc !is XPCOM.NS_OK) error (rc); - while (moreElements[0] !is 0) { - result[0] = 0; - rc = enumerator.GetNext (result); - if (rc !is XPCOM.NS_OK) error (rc); - nsICookie cookie = new nsICookie (result[0]); - long[] expires = new long[1]; - rc = cookie.GetExpires (expires); - if (expires[0] is 0) { - /* indicates a session cookie */ - int /*long*/ domain = XPCOM.nsEmbedCString_new (); - int /*long*/ name = XPCOM.nsEmbedCString_new (); - int /*long*/ path = XPCOM.nsEmbedCString_new (); - cookie.GetHost (domain); - cookie.GetName (name); - cookie.GetPath (path); - rc = manager.Remove (domain, name, path, 0); - XPCOM.nsEmbedCString_delete (domain); - XPCOM.nsEmbedCString_delete (name); - XPCOM.nsEmbedCString_delete (path); - if (rc !is XPCOM.NS_OK) error (rc); - } - cookie.Release (); - rc = enumerator.HasMoreElements (moreElements); - if (rc !is XPCOM.NS_OK) error (rc); - } - enumerator.Release (); - } - }; - } - -public void create (Composite parent, int style) { - mozDelegate = new MozillaDelegate (browser); - Display display = parent.getDisplay (); - - int /*long*/[] result = new int /*long*/[1]; - if (!Initialized) { - bool initLoaded = false; - bool IsXULRunner = false; - - String greInitialized = System.getProperty (GRE_INITIALIZED); - if ("true".equals (greInitialized)) { //$NON-NLS-1$ - /* - * Another browser has already initialized xulrunner in this process, - * so just bind to it instead of trying to initialize a new one. - */ - Initialized = true; - } - String mozillaPath = System.getProperty (XULRUNNER_PATH); - if (mozillaPath is null) { - try { - String libName = mozDelegate.getSWTInitLibraryName (); - Library.loadLibrary (libName); - initLoaded = true; - } catch (UnsatisfiedLinkError e) { - /* - * If this library failed to load then do not attempt to detect a - * xulrunner to use. The Browser may still be usable if MOZILLA_FIVE_HOME - * points at a GRE. - */ - } - } else { - mozillaPath += SEPARATOR_OS + mozDelegate.getLibraryName (); - IsXULRunner = true; - } - - if (initLoaded) { - /* attempt to discover a XULRunner to use as the GRE */ - GREVersionRange range = new GREVersionRange (); - byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true); - int /*long*/ lower = C.malloc (bytes.length); - C.memmove (lower, bytes, bytes.length); - range.lower = lower; - range.lowerInclusive = LowerRangeInclusive; - - bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_UPPER, true); - int /*long*/ upper = C.malloc (bytes.length); - C.memmove (upper, bytes, bytes.length); - range.upper = upper; - range.upperInclusive = UpperRangeInclusive; - - int length = XPCOMInit.PATH_MAX; - int /*long*/ greBuffer = C.malloc (length); - int /*long*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF); - int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length); - - /* - * A XULRunner was not found that supports wrapping of XPCOM handles as JavaXPCOM objects. - * Drop the lower version bound and try to detect an earlier XULRunner installation. - */ - if (rc !is XPCOM.NS_OK) { - C.free (lower); - bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER_FALLBACK, true); - lower = C.malloc (bytes.length); - C.memmove (lower, bytes, bytes.length); - range.lower = lower; - rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length); - } - - C.free (lower); - C.free (upper); - C.free (propertiesPtr); - if (rc is XPCOM.NS_OK) { - /* indicates that a XULRunner was found */ - length = C.strlen (greBuffer); - bytes = new byte[length]; - C.memmove (bytes, greBuffer, length); - mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, bytes)); - IsXULRunner = mozillaPath.length () > 0; - - /* - * Test whether the detected XULRunner can be used as the GRE before loading swt's - * XULRunner library. If it cannot be used then fall back to attempting to use - * the GRE pointed to by MOZILLA_FIVE_HOME. - * - * One case where this will fail is attempting to use a 64-bit xulrunner while swt - * is running in 32-bit mode, or vice versa. - */ - if (IsXULRunner) { - byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true); - rc = XPCOMInit.XPCOMGlueStartup (path); - if (rc !is XPCOM.NS_OK) { - IsXULRunner = false; /* failed */ - mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS)); - if (Device.DEBUG) System.out.println ("cannot use detected XULRunner: " + mozillaPath); //$NON-NLS-1$ - } else { - XPCOMInitWasGlued = true; - } - } - } - C.free (greBuffer); - } - - if (IsXULRunner) { - if (Device.DEBUG) System.out.println ("XULRunner path: " + mozillaPath); //$NON-NLS-1$ - try { - Library.loadLibrary ("swt-xulrunner"); //$NON-NLS-1$ - } catch (UnsatisfiedLinkError e) { - DWT.error (DWT.ERROR_NO_HANDLES, e); - } - byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true); - int rc = XPCOM.XPCOMGlueStartup (path); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - XPCOMWasGlued = true; - - /* - * Remove the trailing xpcom lib name from mozillaPath because the - * Mozilla.initialize and NS_InitXPCOM2 invocations require a directory name only. - */ - mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS)); - } else { - if ((style & DWT.MOZILLA) !is 0) { - browser.dispose (); - String errorString = (mozillaPath !is null && mozillaPath.length () > 0) ? - " [Failed to use detected XULRunner: " + mozillaPath + "]" : - " [Could not detect registered XULRunner to use]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - DWT.error (DWT.ERROR_NO_HANDLES, null, errorString); - } - - /* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */ - int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true)); - if (ptr !is 0) { - int length = C.strlen (ptr); - byte[] buffer = new byte[length]; - C.memmove (buffer, ptr, length); - mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, buffer)); - } else { - browser.dispose (); - DWT.error (DWT.ERROR_NO_HANDLES, null, " [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]"); //$NON-NLS-1$ - } - if (Device.DEBUG) System.out.println ("Mozilla path: " + mozillaPath); //$NON-NLS-1$ - - /* - * Note. Embedding a Mozilla GTK1.2 causes a crash. The workaround - * is to check the version of GTK used by Mozilla by looking for - * the libwidget_gtk.so library used by Mozilla GTK1.2. Mozilla GTK2 - * uses the libwidget_gtk2.so library. - */ - if (Compatibility.fileExists (mozillaPath, "components/libwidget_gtk.so")) { //$NON-NLS-1$ - browser.dispose (); - DWT.error (DWT.ERROR_NO_HANDLES, null, " [Mozilla GTK2 required (GTK1.2 detected)]"); //$NON-NLS-1$ - } - - try { - Library.loadLibrary ("swt-mozilla"); //$NON-NLS-1$ - } catch (UnsatisfiedLinkError e) { - try { - /* - * The initial loadLibrary attempt may have failed as a result of the user's - * system not having libstdc++.so.6 installed, so try to load the alternate - * swt mozilla library that depends on libswtc++.so.5 instead. - */ - Library.loadLibrary ("swt-mozilla-gcc3"); //$NON-NLS-1$ - } catch (UnsatisfiedLinkError ex) { - browser.dispose (); - /* - * Print the error from the first failed attempt since at this point it's - * known that the failure was not due to the libstdc++.so.6 dependency. - */ - DWT.error (DWT.ERROR_NO_HANDLES, e, " [MOZILLA_FIVE_HOME='" + mozillaPath + "']"); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - } - - if (!Initialized) { - int /*long*/[] retVal = new int /*long*/[1]; - nsEmbedString pathString = new nsEmbedString (mozillaPath); - int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, retVal); - pathString.dispose (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (retVal[0] is 0) { - browser.dispose (); - error (XPCOM.NS_ERROR_NULL_POINTER); - } - - LocationProvider = new AppFileLocProvider (mozillaPath); - LocationProvider.AddRef (); - - nsIFile localFile = new nsILocalFile (retVal[0]); - rc = XPCOM.NS_InitXPCOM2 (0, localFile.getAddress(), LocationProvider.getAddress ()); - localFile.Release (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - DWT.error (DWT.ERROR_NO_HANDLES, null, " [MOZILLA_FIVE_HOME may not point at an embeddable GRE] [NS_InitEmbedding " + mozillaPath + " error " + rc + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - System.setProperty (GRE_INITIALIZED, "true"); //$NON-NLS-1$ - if (IsXULRunner) { - System.setProperty (XULRUNNER_PATH, mozillaPath); - } - } - - /* If JavaXPCOM is detected then attempt to initialize it with the XULRunner being used */ - if (IsXULRunner) { - try { - Class clazz = Class.forName ("org.mozilla.xpcom.Mozilla"); //$NON-NLS-1$ - Method method = clazz.getMethod ("getInstance", new Class[0]); //$NON-NLS-1$ - Object mozilla = method.invoke (null, new Object[0]); - method = clazz.getMethod ("getComponentManager", new Class[0]); //$NON-NLS-1$ - try { - method.invoke (mozilla, new Object[0]); - } catch (InvocationTargetException e) { - /* indicates that JavaXPCOM has not been initialized yet */ - Class fileClass = Class.forName ("java.io.File"); //$NON-NLS-1$ - method = clazz.getMethod ("initialize", new Class[] {fileClass}); //$NON-NLS-1$ - Constructor constructor = fileClass.getDeclaredConstructor (new Class[] {String.class}); - Object argument = constructor.newInstance (new Object[] {mozillaPath}); - method.invoke (mozilla, new Object[] {argument}); - } - } catch (ClassNotFoundException e) { - /* JavaXPCOM is not on the classpath */ - } catch (NoSuchMethodException e) { - /* the JavaXPCOM on the classpath does not implement initialize() */ - } catch (IllegalArgumentException e) { - } catch (IllegalAccessException e) { - } catch (InvocationTargetException e) { - } catch (InstantiationException e) { - } - } - - int rc = XPCOM.NS_GetComponentManager (result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIComponentManager componentManager = new nsIComponentManager (result[0]); - result[0] = 0; - if (mozDelegate.needsSpinup ()) { - /* nsIAppShell is discontinued as of xulrunner 1.9, so do not fail if it is not found */ - rc = componentManager.CreateInstance (XPCOM.NS_APPSHELL_CID, 0, nsIAppShell.NS_IAPPSHELL_IID, result); - if (rc !is XPCOM.NS_ERROR_NO_INTERFACE) { - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - AppShell = new nsIAppShell (result[0]); - rc = AppShell.Create (0, null); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - rc = AppShell.Spinup (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - } - result[0] = 0; - } - - WindowCreator = new WindowCreator2 (); - WindowCreator.AddRef (); - - rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WINDOWWATCHER_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIWindowWatcher.NS_IWINDOWWATCHER_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIWindowWatcher windowWatcher = new nsIWindowWatcher (result[0]); - result[0] = 0; - rc = windowWatcher.SetWindowCreator (WindowCreator.getAddress()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - windowWatcher.Release (); - - /* compute the profile directory and set it on the AppFileLocProvider */ - if (LocationProvider !is null) { - byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DIRECTORYSERVICE_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (buffer, nsIDirectoryService.NS_IDIRECTORYSERVICE_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIDirectoryService directoryService = new nsIDirectoryService (result[0]); - result[0] = 0; - rc = directoryService.QueryInterface (nsIProperties.NS_IPROPERTIES_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - directoryService.Release (); - - nsIProperties properties = new nsIProperties (result[0]); - result[0] = 0; - buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_APP_APPLICATION_REGISTRY_DIR, true); - rc = properties.Get (buffer, nsIFile.NS_IFILE_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - properties.Release (); - - nsIFile profileDir = new nsIFile (result[0]); - result[0] = 0; - int /*long*/ path = XPCOM.nsEmbedCString_new (); - rc = profileDir.GetNativePath (path); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - int length = XPCOM.nsEmbedCString_Length (path); - int /*long*/ ptr = XPCOM.nsEmbedCString_get (path); - buffer = new byte [length]; - XPCOM.memmove (buffer, ptr, length); - String profilePath = new String (MozillaDelegate.mbcsToWcs (null, buffer)) + PROFILE_DIR; - LocationProvider.setProfilePath (profilePath); - LocationProvider.isXULRunner = IsXULRunner; - XPCOM.nsEmbedCString_delete (path); - profileDir.Release (); - - /* notify observers of a new profile directory being used */ - buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIObserverService observerService = new nsIObserverService (result[0]); - result[0] = 0; - buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_DO_CHANGE, true); - length = STARTUP.length (); - char[] chars = new char [length + 1]; - STARTUP.getChars (0, length, chars, 0); - rc = observerService.NotifyObservers (0, buffer, chars); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_AFTER_CHANGE, true); - rc = observerService.NotifyObservers (0, buffer, chars); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - observerService.Release (); - } - - /* - * As a result of using a common profile the user cannot change their locale - * and charset. The fix for this is to set mozilla's locale and charset - * preference values according to the user's current locale and charset. - */ - aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIPrefService.NS_IPREFSERVICE_IID, result); - serviceManager.Release (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIPrefService prefService = new nsIPrefService (result[0]); - result[0] = 0; - byte[] buffer = new byte[1]; - rc = prefService.GetBranch (buffer, result); /* empty buffer denotes root preference level */ - prefService.Release (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIPrefBranch prefBranch = new nsIPrefBranch (result[0]); - result[0] = 0; - - /* get Mozilla's current locale preference value */ - String prefLocales = null; - nsIPrefLocalizedString localizedString = null; - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_LANGUAGES, true); - rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result); - /* - * Feature of Debian. For some reason attempting to query for the current locale - * preference fails on Debian. The workaround for this is to assume a value of - * "en-us,en" since this is typically the default value when mozilla is used without - * a profile. - */ - if (rc !is XPCOM.NS_OK) { - prefLocales = "en-us,en" + TOKENIZER_LOCALE; //$NON-NLS-1$ - } else { - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - localizedString = new nsIPrefLocalizedString (result[0]); - result[0] = 0; - rc = localizedString.ToString (result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - int length = XPCOM.strlen_PRUnichar (result[0]); - char[] dest = new char[length]; - XPCOM.memmove (dest, result[0], length * 2); - prefLocales = new String (dest) + TOKENIZER_LOCALE; - } - result[0] = 0; - - /* - * construct the new locale preference value by prepending the - * user's current locale and language to the original value - */ - Locale locale = Locale.getDefault (); - String language = locale.getLanguage (); - String country = locale.getCountry (); - StringBuffer stringBuffer = new StringBuffer (language); - stringBuffer.append (SEPARATOR_LOCALE); - stringBuffer.append (country.toLowerCase ()); - stringBuffer.append (TOKENIZER_LOCALE); - stringBuffer.append (language); - stringBuffer.append (TOKENIZER_LOCALE); - String newLocales = stringBuffer.toString (); - - int start, end = -1; - do { - start = end + 1; - end = prefLocales.indexOf (TOKENIZER_LOCALE, start); - String token; - if (end is -1) { - token = prefLocales.substring (start); - } else { - token = prefLocales.substring (start, end); - } - if (token.length () > 0) { - token = (token + TOKENIZER_LOCALE).trim (); - /* ensure that duplicate locale values are not added */ - if (newLocales.indexOf (token) is -1) { - stringBuffer.append (token); - } - } - } while (end !is -1); - newLocales = stringBuffer.toString (); - if (!newLocales.equals (prefLocales)) { - /* write the new locale value */ - newLocales = newLocales.substring (0, newLocales.length () - TOKENIZER_LOCALE.length ()); /* remove trailing tokenizer */ - int length = newLocales.length (); - char[] charBuffer = new char[length + 1]; - newLocales.getChars (0, length, charBuffer, 0); - if (localizedString is null) { - byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true); - rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - localizedString = new nsIPrefLocalizedString (result[0]); - result[0] = 0; - } - localizedString.SetDataWithLength (length, charBuffer); - rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress()); - } - if (localizedString !is null) { - localizedString.Release (); - localizedString = null; - } - - /* get Mozilla's current charset preference value */ - String prefCharset = null; - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_CHARSET, true); - rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result); - /* - * Feature of Debian. For some reason attempting to query for the current charset - * preference fails on Debian. The workaround for this is to assume a value of - * "ISO-8859-1" since this is typically the default value when mozilla is used - * without a profile. - */ - if (rc !is XPCOM.NS_OK) { - prefCharset = "ISO-8859-1"; //$NON_NLS-1$ - } else { - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - localizedString = new nsIPrefLocalizedString (result[0]); - result[0] = 0; - rc = localizedString.ToString (result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - int length = XPCOM.strlen_PRUnichar (result[0]); - char[] dest = new char[length]; - XPCOM.memmove (dest, result[0], length * 2); - prefCharset = new String (dest); - } - result[0] = 0; - - String newCharset = System.getProperty ("file.encoding"); // $NON-NLS-1$ - if (!newCharset.equals (prefCharset)) { - /* write the new charset value */ - int length = newCharset.length (); - char[] charBuffer = new char[length + 1]; - newCharset.getChars (0, length, charBuffer, 0); - if (localizedString is null) { - byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true); - rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - localizedString = new nsIPrefLocalizedString (result[0]); - result[0] = 0; - } - localizedString.SetDataWithLength (length, charBuffer); - rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ()); - } - if (localizedString !is null) localizedString.Release (); - - /* - * Check for proxy values set as documented java properties and update mozilla's - * preferences with these values if needed. - */ - String proxyHost = System.getProperty (PROPERTY_PROXYHOST); - String proxyPortString = System.getProperty (PROPERTY_PROXYPORT); - - int port = -1; - if (proxyPortString !is null) { - try { - int value = Integer.valueOf (proxyPortString).intValue (); - if (0 <= value && value <= MAX_PORT) port = value; - } catch (NumberFormatException e) { - /* do nothing, java property has non-integer value */ - } - } - - if (proxyHost !is null) { - byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true); - rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - localizedString = new nsIPrefLocalizedString (result[0]); - result[0] = 0; - int length = proxyHost.length (); - char[] charBuffer = new char[length + 1]; - proxyHost.getChars (0, length, charBuffer, 0); - rc = localizedString.SetDataWithLength (length, charBuffer); - if (rc !is XPCOM.NS_OK) error (rc); - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_FTP, true); - rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ()); - if (rc !is XPCOM.NS_OK) error (rc); - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_HTTP, true); - rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ()); - if (rc !is XPCOM.NS_OK) error (rc); - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_SSL, true); - rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ()); - if (rc !is XPCOM.NS_OK) error (rc); - localizedString.Release (); - } - - if (port !is -1) { - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_FTP, true); - rc = prefBranch.SetIntPref (buffer, port); - if (rc !is XPCOM.NS_OK) error (rc); - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_HTTP, true); - rc = prefBranch.SetIntPref (buffer, port); - if (rc !is XPCOM.NS_OK) error (rc); - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_SSL, true); - rc = prefBranch.SetIntPref (buffer, port); - if (rc !is XPCOM.NS_OK) error (rc); - } - - if (proxyHost !is null || port !is -1) { - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYTYPE, true); - rc = prefBranch.SetIntPref (buffer, 1); - if (rc !is XPCOM.NS_OK) error (rc); - } - - /* - * Ensure that windows that are shown during page loads are not blocked. Firefox may - * try to block these by default since such windows are often unwelcome, but this - * assumption should not be made in the Browser's context. Since the Browser client - * is responsible for creating the new Browser and Shell in an OpenWindowListener, - * they should decide whether the new window is unwelcome or not and act accordingly. - */ - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEOPENDURINGLOAD, true); - rc = prefBranch.SetBoolPref (buffer, 0); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - - /* Ensure that the status text can be set through means like javascript */ - buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEWINDOWSTATUSCHANGE, true); - rc = prefBranch.SetBoolPref (buffer, 0); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - - prefBranch.Release (); - - PromptService2Factory factory = new PromptService2Factory (); - factory.AddRef (); - - rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]); - result[0] = 0; - aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PROMPTSERVICE_CONTRACTID, true); - byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "Prompt Service", true); //$NON-NLS-1$ - rc = componentRegistrar.RegisterFactory (XPCOM.NS_PROMPTSERVICE_CID, aClassName, aContractID, factory.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - factory.Release (); - - HelperAppLauncherDialogFactory dialogFactory = new HelperAppLauncherDialogFactory (); - dialogFactory.AddRef (); - aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID, true); - aClassName = MozillaDelegate.wcsToMbcs (null, "Helper App Launcher Dialog", true); //$NON-NLS-1$ - rc = componentRegistrar.RegisterFactory (XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CID, aClassName, aContractID, dialogFactory.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - dialogFactory.Release (); - - /* - * This Download factory will be used if the GRE version is < 1.8. - * If the GRE version is 1.8.x then the Download factory that is registered later for - * contract "Transfer" will be used. - * If the GRE version is >= 1.9 then no Download factory is registered because this - * functionality is provided by the GRE. - */ - DownloadFactory downloadFactory = new DownloadFactory (); - downloadFactory.AddRef (); - aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DOWNLOAD_CONTRACTID, true); - aClassName = MozillaDelegate.wcsToMbcs (null, "Download", true); //$NON-NLS-1$ - rc = componentRegistrar.RegisterFactory (XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - downloadFactory.Release (); - - FilePickerFactory pickerFactory = IsXULRunner ? new FilePickerFactory_1_8 () : new FilePickerFactory (); - pickerFactory.AddRef (); - aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_FILEPICKER_CONTRACTID, true); - aClassName = MozillaDelegate.wcsToMbcs (null, "FilePicker", true); //$NON-NLS-1$ - rc = componentRegistrar.RegisterFactory (XPCOM.NS_FILEPICKER_CID, aClassName, aContractID, pickerFactory.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - pickerFactory.Release (); - - componentRegistrar.Release (); - componentManager.Release (); - - Initialized = true; - } - - if (display.getData (DISPOSE_LISTENER_HOOKED) is null) { - display.setData (DISPOSE_LISTENER_HOOKED, DISPOSE_LISTENER_HOOKED); - display.addListener (DWT.Dispose, new Listener () { - public void handleEvent (Event event) { - if (BrowserCount > 0) return; /* another display is still active */ - - int /*long*/[] result = new int /*long*/[1]; - int rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIObserverService observerService = new nsIObserverService (result[0]); - result[0] = 0; - buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_BEFORE_CHANGE, true); - int length = SHUTDOWN_PERSIST.length (); - char[] chars = new char [length + 1]; - SHUTDOWN_PERSIST.getChars (0, length, chars, 0); - rc = observerService.NotifyObservers (0, buffer, chars); - if (rc !is XPCOM.NS_OK) error (rc); - observerService.Release (); - - if (LocationProvider !is null) { - String prefsLocation = LocationProvider.profilePath + AppFileLocProvider.PREFERENCES_FILE; - nsEmbedString pathString = new nsEmbedString (prefsLocation); - rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER); - pathString.dispose (); - - nsILocalFile localFile = new nsILocalFile (result [0]); - result[0] = 0; - rc = localFile.QueryInterface (nsIFile.NS_IFILE_IID, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - localFile.Release (); - - nsIFile prefFile = new nsIFile (result[0]); - result[0] = 0; - - buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (buffer, nsIPrefService.NS_IPREFSERVICE_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIPrefService prefService = new nsIPrefService (result[0]); - result[0] = 0; - rc = prefService.SavePrefFile(prefFile.getAddress ()); - prefService.Release (); - prefFile.Release (); - } - serviceManager.Release (); - - if (XPCOMWasGlued) { - XPCOM.XPCOMGlueShutdown (); - XPCOMWasGlued = false; - } - if (XPCOMInitWasGlued) { - XPCOMInit.XPCOMGlueShutdown (); - XPCOMInitWasGlued = false; - } - Initialized = false; - } - }); - } - - BrowserCount++; - int rc = XPCOM.NS_GetComponentManager (result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIComponentManager componentManager = new nsIComponentManager (result[0]); - result[0] = 0; - nsID NS_IWEBBROWSER_CID = new nsID ("F1EAC761-87E9-11d3-AF80-00A024FFC08C"); //$NON-NLS-1$ - rc = componentManager.CreateInstance (NS_IWEBBROWSER_CID, 0, nsIWebBrowser.NS_IWEBBROWSER_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - webBrowser = new nsIWebBrowser (result[0]); - result[0] = 0; - - createCOMInterfaces (); - AddRef (); - - rc = webBrowser.SetContainerWindow (webBrowserChrome.getAddress()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - - rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); - } - - nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); - result[0] = 0; - Rectangle rect = browser.getClientArea (); - if (rect.isEmpty ()) { - rect.width = 1; - rect.height = 1; - } - - embedHandle = mozDelegate.getHandle (); - - rc = baseWindow.InitWindow (embedHandle, 0, 0, 0, rect.width, rect.height); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (XPCOM.NS_ERROR_FAILURE); - } - rc = baseWindow.Create (); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (XPCOM.NS_ERROR_FAILURE); - } - rc = baseWindow.SetVisibility (1); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (XPCOM.NS_ERROR_FAILURE); - } - baseWindow.Release (); - - if (!PerformedVersionCheck) { - PerformedVersionCheck = true; - - /* - * Check for the availability of the pre-1.8 implementation of nsIDocShell - * to determine if the GRE's version is < 1.8. - */ - rc = webBrowser.QueryInterface (nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (XPCOM.NS_ERROR_FAILURE); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); - } - nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor (result[0]); - result[0] = 0; - - rc = interfaceRequestor.GetInterface (nsIDocShell.NS_IDOCSHELL_IID, result); - if (rc is XPCOM.NS_OK && result[0] !is 0) { - IsPre_1_8 = true; - new nsISupports (result[0]).Release (); - } - result[0] = 0; - - /* - * A Download factory for contract "Transfer" must be registered iff the GRE's version is 1.8.x. - * Check for the availability of the 1.8 implementation of nsIDocShell to determine if the - * GRE's version is 1.8.x. - * If the GRE version is < 1.8 then the previously-registered Download factory for contract - * "Download" will be used. - * If the GRE version is >= 1.9 then no Download factory is registered because this - * functionality is provided by the GRE. - */ - if (!IsPre_1_8) { - rc = interfaceRequestor.GetInterface (nsIDocShell_1_8.NS_IDOCSHELL_IID, result); - if (rc is XPCOM.NS_OK && result[0] !is 0) { /* 1.8 */ - new nsISupports (result[0]).Release (); - result[0] = 0; - rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_NOINTERFACE); - } - - nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]); - DownloadFactory_1_8 downloadFactory_1_8 = new DownloadFactory_1_8 (); - downloadFactory_1_8.AddRef (); - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_TRANSFER_CONTRACTID, true); - byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "Transfer", true); //$NON-NLS-1$ - rc = componentRegistrar.RegisterFactory (XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory_1_8.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - downloadFactory_1_8.Release (); - componentRegistrar.Release (); - } else { /* >= 1.9 */ - /* - * Bug in XULRunner 1.9. Mozilla no longer clears its background before initial content has - * been set. As a result embedders appear broken if they do not immediately navigate to a url. - * The workaround for this is to navigate to about:blank immediately so that the background is - * cleared, but do not fire any corresponding events or allow Browser API calls to reveal this. - * Once the client does a proper navigate with either setUrl() or setText() then resume as - * normal. The Mozilla bug for this is https://bugzilla.mozilla.org/show_bug.cgi?id=415789. - */ - awaitingNavigate = true; - rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - if (result[0] is 0) { - browser.dispose (); - error (XPCOM.NS_ERROR_NO_INTERFACE); - } - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - char[] uri = new char[ABOUT_BLANK.length () + 1]; - ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0); - rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); - webNavigation.Release (); - } - } - result[0] = 0; - interfaceRequestor.Release (); - } - componentManager.Release (); - - rc = webBrowser.AddWebBrowserListener (weakReference.getAddress (), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - - rc = webBrowser.SetParentURIContentListener (uriContentListener.getAddress ()); - if (rc !is XPCOM.NS_OK) { - browser.dispose (); - error (rc); - } - - mozDelegate.init (); - - listener = new Listener () { - public void handleEvent (Event event) { - switch (event.type) { - case DWT.Dispose: { - /* make this handler run after other dispose listeners */ - if (ignoreDispose) { - ignoreDispose = false; - break; - } - ignoreDispose = true; - browser.notifyListeners (event.type, event); - event.type = DWT.NONE; - onDispose (event.display); - break; - } - case DWT.Resize: onResize (); break; - case DWT.FocusIn: Activate (); break; - case DWT.Activate: Activate (); break; - case DWT.Deactivate: { - Display display = event.display; - if (Mozilla.this.browser is display.getFocusControl ()) Deactivate (); - break; - } - case DWT.Show: { - /* - * Feature in GTK Mozilla. Mozilla does not show up when - * its container (a GTK fixed handle) is made visible - * after having been hidden. The workaround is to reset - * its size after the container has been made visible. - */ - Display display = event.display; - display.asyncExec(new Runnable () { - public void run() { - if (browser.isDisposed ()) return; - onResize (); - } - }); - break; - } - } - } - }; - int[] folderEvents = new int[] { - DWT.Dispose, - DWT.Resize, - DWT.FocusIn, - DWT.Activate, - DWT.Deactivate, - DWT.Show, - DWT.KeyDown // needed to make browser traversable - }; - for (int i = 0; i < folderEvents.length; i++) { - browser.addListener (folderEvents[i], listener); - } -} - -public bool back () { - if (awaitingNavigate) return false; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - rc = webNavigation.GoBack (); - webNavigation.Release (); - return rc is XPCOM.NS_OK; -} - -void createCOMInterfaces () { - // Create each of the interfaces that this object implements - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - weakReference = new XPCOMObject (new int[] {2, 0, 0, 2}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return QueryReferent (args[0], args[1]);} - }; - - webProgressListener = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);} - public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);} - }; - - webBrowserChrome = new XPCOMObject (new int[] {2, 0, 0, 2, 1, 1, 1, 1, 0, 2, 0, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return SetStatus ((int)/*64*/args[0], args[1]);} - public int /*long*/ method4 (int /*long*/[] args) {return GetWebBrowser (args[0]);} - public int /*long*/ method5 (int /*long*/[] args) {return SetWebBrowser (args[0]);} - public int /*long*/ method6 (int /*long*/[] args) {return GetChromeFlags (args[0]);} - public int /*long*/ method7 (int /*long*/[] args) {return SetChromeFlags ((int)/*64*/args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return DestroyBrowserWindow ();} - public int /*long*/ method9 (int /*long*/[] args) {return SizeBrowserTo ((int)/*64*/args[0], (int)/*64*/args[1]);} - public int /*long*/ method10 (int /*long*/[] args) {return ShowAsModal ();} - public int /*long*/ method11 (int /*long*/[] args) {return IsWindowModal (args[0]);} - public int /*long*/ method12 (int /*long*/[] args) {return ExitModalEventLoop ((int)/*64*/args[0]);} - }; - - webBrowserChromeFocus = new XPCOMObject (new int[] {2, 0, 0, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return FocusNextElement ();} - public int /*long*/ method4 (int /*long*/[] args) {return FocusPrevElement ();} - }; - - embeddingSiteWindow = new XPCOMObject (new int[] {2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return SetDimensions ((int)/*64*/args[0], (int)/*64*/args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4]);} - public int /*long*/ method4 (int /*long*/[] args) {return GetDimensions ((int)/*64*/args[0], args[1], args[2], args[3], args[4]);} - public int /*long*/ method5 (int /*long*/[] args) {return SetFocus ();} - public int /*long*/ method6 (int /*long*/[] args) {return GetVisibility (args[0]);} - public int /*long*/ method7 (int /*long*/[] args) {return SetVisibility ((int)/*64*/args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return GetTitle (args[0]);} - public int /*long*/ method9 (int /*long*/[] args) {return SetTitle (args[0]);} - public int /*long*/ method10 (int /*long*/[] args) {return GetSiteWindow (args[0]);} - }; - - interfaceRequestor = new XPCOMObject (new int[] {2, 0, 0, 2} ){ - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return GetInterface (args[0], args[1]);} - }; - - supportsWeakReference = new XPCOMObject (new int[] {2, 0, 0, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return GetWeakReference (args[0]);} - }; - - contextMenuListener = new XPCOMObject (new int[] {2, 0, 0, 3}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnShowContextMenu ((int)/*64*/args[0], args[1], args[2]);} - }; - - uriContentListener = new XPCOMObject (new int[] {2, 0, 0, 2, 5, 3, 4, 1, 1, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnStartURIOpen (args[0], args[1]);} - public int /*long*/ method4 (int /*long*/[] args) {return DoContent (args[0], (int)/*64*/args[1], args[2], args[3], args[4]);} - public int /*long*/ method5 (int /*long*/[] args) {return IsPreferred (args[0], args[1], args[2]);} - public int /*long*/ method6 (int /*long*/[] args) {return CanHandleContent (args[0], (int)/*64*/args[1], args[2], args[3]);} - public int /*long*/ method7 (int /*long*/[] args) {return GetLoadCookie (args[0]);} - public int /*long*/ method8 (int /*long*/[] args) {return SetLoadCookie (args[0]);} - public int /*long*/ method9 (int /*long*/[] args) {return GetParentContentListener (args[0]);} - public int /*long*/ method10 (int /*long*/[] args) {return SetParentContentListener (args[0]);} - }; - - tooltipListener = new XPCOMObject (new int[] {2, 0, 0, 3, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return OnShowTooltip ((int)/*64*/args[0], (int)/*64*/args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return OnHideTooltip ();} - }; - - domEventListener = new XPCOMObject (new int[] {2, 0, 0, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return HandleEvent (args[0]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (weakReference !is null) { - weakReference.dispose (); - weakReference = null; - } - if (webProgressListener !is null) { - webProgressListener.dispose (); - webProgressListener = null; - } - if (webBrowserChrome !is null) { - webBrowserChrome.dispose (); - webBrowserChrome = null; - } - if (webBrowserChromeFocus !is null) { - webBrowserChromeFocus.dispose (); - webBrowserChromeFocus = null; - } - if (embeddingSiteWindow !is null) { - embeddingSiteWindow.dispose (); - embeddingSiteWindow = null; - } - if (interfaceRequestor !is null) { - interfaceRequestor.dispose (); - interfaceRequestor = null; - } - if (supportsWeakReference !is null) { - supportsWeakReference.dispose (); - supportsWeakReference = null; - } - if (contextMenuListener !is null) { - contextMenuListener.dispose (); - contextMenuListener = null; - } - if (uriContentListener !is null) { - uriContentListener.dispose (); - uriContentListener = null; - } - if (tooltipListener !is null) { - tooltipListener.dispose (); - tooltipListener = null; - } - if (domEventListener !is null) { - domEventListener.dispose (); - domEventListener = null; - } -} - -public bool execute (String script) { - if (awaitingNavigate) return false; - - String url = PREFIX_JAVASCRIPT + script + ";void(0);"; //$NON-NLS-1$ - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - char[] arg = url.toCharArray (); - char[] c = new char[arg.length+1]; - System.arraycopy (arg, 0, c, 0, arg.length); - rc = webNavigation.LoadURI (c, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); - webNavigation.Release (); - return rc is XPCOM.NS_OK; -} - -static Browser findBrowser (int /*long*/ handle) { - return MozillaDelegate.findBrowser (handle); -} - -public bool forward () { - if (awaitingNavigate) return false; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - rc = webNavigation.GoForward (); - webNavigation.Release (); - - return rc is XPCOM.NS_OK; -} - -public String getText () { - if (awaitingNavigate) return ""; //$NON-NLS-1$ - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.GetContentDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIDOMWindow window = new nsIDOMWindow (result[0]); - result[0] = 0; - rc = window.GetDocument (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - window.Release (); - - int /*long*/ document = result[0]; - result[0] = 0; - rc = XPCOM.NS_GetComponentManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIComponentManager componentManager = new nsIComponentManager (result[0]); - result[0] = 0; - byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DOMSERIALIZER_CONTRACTID, true); - char[] chars = null; - - rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIDOMSerializer_1_7.NS_IDOMSERIALIZER_IID, result); - if (rc is XPCOM.NS_OK) { /* mozilla >= 1.7 */ - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIDOMSerializer_1_7 serializer = new nsIDOMSerializer_1_7 (result[0]); - result[0] = 0; - int /*long*/ string = XPCOM.nsEmbedString_new (); - rc = serializer.SerializeToString (document, string); - serializer.Release (); - - int length = XPCOM.nsEmbedString_Length (string); - int /*long*/ buffer = XPCOM.nsEmbedString_get (string); - chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - XPCOM.nsEmbedString_delete (string); - } else { /* mozilla < 1.7 */ - rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIDOMSerializer.NS_IDOMSERIALIZER_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIDOMSerializer serializer = new nsIDOMSerializer (result[0]); - result[0] = 0; - rc = serializer.SerializeToString (document, result); - serializer.Release (); - - int length = XPCOM.strlen_PRUnichar (result[0]); - chars = new char[length]; - XPCOM.memmove (chars, result[0], length * 2); - } - - componentManager.Release (); - new nsISupports (document).Release (); - return new String (chars); -} - -public String getUrl () { - if (awaitingNavigate) return ""; //$NON-NLS-1$ - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - int /*long*/[] aCurrentURI = new int /*long*/[1]; - rc = webNavigation.GetCurrentURI (aCurrentURI); - if (rc !is XPCOM.NS_OK) error (rc); - webNavigation.Release (); - - byte[] dest = null; - if (aCurrentURI[0] !is 0) { - nsIURI uri = new nsIURI (aCurrentURI[0]); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - rc = uri.GetSpec (aSpec); - if (rc !is XPCOM.NS_OK) error (rc); - int length = XPCOM.nsEmbedCString_Length (aSpec); - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - uri.Release (); - } - if (dest is null) return ""; //$NON-NLS-1$ - - String location = new String (dest); - /* - * If the URI indicates that the page is being rendered from memory - * (via setText()) then set it to about:blank to be consistent with IE. - */ - if (location.equals (URI_FROMMEMORY)) location = ABOUT_BLANK; - return location; -} - -public Object getWebBrowser () { - if ((browser.getStyle () & DWT.MOZILLA) is 0) return null; - if (webBrowserObject !is null) return webBrowserObject; - - try { - Class clazz = Class.forName ("org.mozilla.xpcom.Mozilla"); //$NON-NLS-1$ - Method method = clazz.getMethod ("getInstance", new Class[0]); //$NON-NLS-1$ - Object mozilla = method.invoke (null, new Object[0]); - method = clazz.getMethod ("wrapXPCOMObject", new Class[] {Long.TYPE, String.class}); //$NON-NLS-1$ - webBrowserObject = method.invoke (mozilla, new Object[] {new Long (webBrowser.getAddress ()), nsIWebBrowser.NS_IWEBBROWSER_IID_STR}); - /* - * The following AddRef() is needed to offset the automatic Release() that - * will be performed by JavaXPCOM when webBrowserObject is finalized. - */ - webBrowser.AddRef (); - return webBrowserObject; - } catch (ClassNotFoundException e) { - } catch (NoSuchMethodException e) { - } catch (IllegalArgumentException e) { - } catch (IllegalAccessException e) { - } catch (InvocationTargetException e) { - } - return null; -} - -public bool isBackEnabled () { - if (awaitingNavigate) return false; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - int[] aCanGoBack = new int[1]; /* PRBool */ - rc = webNavigation.GetCanGoBack (aCanGoBack); - webNavigation.Release (); - return aCanGoBack[0] !is 0; -} - -public bool isForwardEnabled () { - if (awaitingNavigate) return false; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - int[] aCanGoForward = new int[1]; /* PRBool */ - rc = webNavigation.GetCanGoForward (aCanGoForward); - webNavigation.Release (); - return aCanGoForward[0] !is 0; -} - -static String error (int code) { - throw new DWTError ("XPCOM error " + code); //$NON-NLS-1$ -} - -void onDispose (Display display) { - int rc = webBrowser.RemoveWebBrowserListener (weakReference.getAddress (), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID); - if (rc !is XPCOM.NS_OK) error (rc); - - rc = webBrowser.SetParentURIContentListener (0); - if (rc !is XPCOM.NS_OK) error (rc); - - unhookDOMListeners (); - if (listener !is null) { - int[] folderEvents = new int[] { - DWT.Dispose, - DWT.Resize, - DWT.FocusIn, - DWT.Activate, - DWT.Deactivate, - DWT.Show, - DWT.KeyDown, - }; - for (int i = 0; i < folderEvents.length; i++) { - browser.removeListener (folderEvents[i], listener); - } - listener = null; - } - - int /*long*/[] result = new int /*long*/[1]; - rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); - rc = baseWindow.Destroy (); - if (rc !is XPCOM.NS_OK) error (rc); - baseWindow.Release (); - - Release (); - webBrowser.Release (); - webBrowser = null; - webBrowserObject = null; - - if (tip !is null && !tip.isDisposed ()) tip.dispose (); - tip = null; - location = size = null; - - Enumeration elements = unhookedDOMWindows.elements (); - while (elements.hasMoreElements ()) { - LONG ptrObject = (LONG)elements.nextElement (); - new nsISupports (ptrObject.value).Release (); - } - unhookedDOMWindows = null; - - mozDelegate.onDispose (embedHandle); - mozDelegate = null; - - embedHandle = 0; - BrowserCount--; -} - -void Activate () { - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); - rc = webBrowserFocus.Activate (); - if (rc !is XPCOM.NS_OK) error (rc); - webBrowserFocus.Release (); -} - -void Deactivate () { - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus (result[0]); - rc = webBrowserFocus.Deactivate (); - if (rc !is XPCOM.NS_OK) error (rc); - webBrowserFocus.Release (); -} - -void onResize () { - Rectangle rect = browser.getClientArea (); - int width = Math.max (1, rect.width); - int height = Math.max (1, rect.height); - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - 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); - baseWindow.Release (); -} - -public void refresh () { - if (awaitingNavigate) return; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error(rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - rc = webNavigation.Reload (nsIWebNavigation.LOAD_FLAGS_NONE); - webNavigation.Release (); - if (rc is XPCOM.NS_OK) return; - /* - * Feature in Mozilla. Reload returns an error code NS_ERROR_INVALID_POINTER - * when it is called immediately after a request to load a new document using - * LoadURI. The workaround is to ignore this error code. - * - * Feature in Mozilla. Attempting to reload a file that no longer exists - * returns an error code of NS_ERROR_FILE_NOT_FOUND. This is equivalent to - * 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); -} - -public bool setText (String html) { - /* - * Feature in Mozilla. The focus memory of Mozilla must be - * properly managed through the nsIWebBrowserFocus interface. - * In particular, nsIWebBrowserFocus.deactivate must be called - * when the focus moves from the browser (or one of its children - * managed by Mozilla to another widget. We currently do not - * get notified when a widget takes focus away from the Browser. - * As a result, deactivate is not properly called. This causes - * Mozilla to retake focus the next time a document is loaded. - * This breaks the case where the HTML loaded in the Browser - * varies while the user enters characters in a text widget. The text - * widget loses focus every time new content is loaded. - * The current workaround is to call deactivate everytime if - * the browser currently does not have focus. A better workaround - * 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 (); - - /* convert the String containing HTML to an array of bytes with UTF-8 data */ - byte[] data = null; - try { - data = html.getBytes ("UTF-8"); //$NON-NLS-1$ - } catch (UnsupportedEncodingException e) { - return false; - } - - awaitingNavigate = false; - - byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$ - int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length); - byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", true); //$NON-NLS-1$ - int /*long*/ aContentCharset = XPCOM.nsEmbedCString_new (contentCharsetBuffer, contentCharsetBuffer.length); - - int /*long*/[] result = new int /*long*/[1]; - int rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, nsIIOService.NS_IIOSERVICE_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIIOService ioService = new nsIIOService (result[0]); - result[0] = 0; - /* - * Note. Mozilla ignores LINK tags used to load CSS stylesheets - * when the URI protocol for the nsInputStreamChannel - * is about:blank. The fix is to specify the file protocol. - */ - byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length); - rc = ioService.NewURI (aSpec, null, 0, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - XPCOM.nsEmbedCString_delete (aSpec); - ioService.Release (); - - nsIURI uri = new nsIURI (result[0]); - result[0] = 0; - - rc = webBrowser.QueryInterface (nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor (result[0]); - result[0] = 0; - - /* - * Feature in Mozilla. LoadStream invokes the nsIInputStream argument - * through a different thread. The callback mechanism must attach - * a non java thread to the JVM otherwise the nsIInputStream Read and - * Close methods never get called. - */ - InputStream inputStream = new InputStream (data); - inputStream.AddRef (); - - rc = interfaceRequestor.GetInterface (nsIDocShell_1_9.NS_IDOCSHELL_IID, result); - if (rc is XPCOM.NS_OK) { - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - nsIDocShell_1_9 docShell = new nsIDocShell_1_9 (result[0]); - rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); - docShell.Release (); - } else { - result[0] = 0; - rc = interfaceRequestor.GetInterface (nsIDocShell_1_8.NS_IDOCSHELL_IID, result); - if (rc is XPCOM.NS_OK) { - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - nsIDocShell_1_8 docShell = new nsIDocShell_1_8 (result[0]); - rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); - docShell.Release (); - } else { - result[0] = 0; - rc = interfaceRequestor.GetInterface (nsIDocShell.NS_IDOCSHELL_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - nsIDocShell docShell = new nsIDocShell (result[0]); - rc = docShell.LoadStream (inputStream.getAddress (), uri.getAddress (), aContentType, aContentCharset, 0); - docShell.Release (); - } - } - if (rc !is XPCOM.NS_OK) error (rc); - result[0] = 0; - - inputStream.Release (); - interfaceRequestor.Release (); - uri.Release (); - XPCOM.nsEmbedCString_delete (aContentCharset); - XPCOM.nsEmbedCString_delete (aContentType); - return true; -} - -public bool setUrl (String url) { - awaitingNavigate = false; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - char[] uri = new char[url.length () + 1]; - url.getChars (0, url.length (), uri, 0); - rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0); - webNavigation.Release (); - return rc is XPCOM.NS_OK; -} - -public void stop () { - if (awaitingNavigate) return; - - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]); - rc = webNavigation.Stop (nsIWebNavigation.STOP_ALL); - if (rc !is XPCOM.NS_OK) error (rc); - webNavigation.Release (); -} - -void hookDOMListeners (nsIDOMEventTarget target, bool isTop) { - nsEmbedString string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - - /* - * Only hook mouseover and mouseout if the target is a top-level frame, so that mouse moves - * between frames will not generate events. - */ - if (isTop && mozDelegate.hookEnterExit ()) { - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - } - - string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); - target.AddEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); -} - -void unhookDOMListeners () { - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.GetContentDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMWindow window = new nsIDOMWindow (result[0]); - result[0] = 0; - rc = window.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); - result[0] = 0; - unhookDOMListeners (target); - target.Release (); - - /* Listeners must be unhooked in pages contained in frames */ - rc = window.GetFrames (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - nsIDOMWindowCollection frames = new nsIDOMWindowCollection (result[0]); - result[0] = 0; - int[] frameCount = new int[1]; - rc = frames.GetLength (frameCount); /* PRUint32 */ - if (rc !is XPCOM.NS_OK) error (rc); - int count = frameCount[0]; - - if (count > 0) { - for (int i = 0; i < count; i++) { - rc = frames.Item (i, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMWindow frame = new nsIDOMWindow (result[0]); - result[0] = 0; - rc = frame.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - target = new nsIDOMEventTarget (result[0]); - result[0] = 0; - unhookDOMListeners (target); - target.Release (); - frame.Release (); - } - } - frames.Release (); - window.Release (); -} - -void unhookDOMListeners (nsIDOMEventTarget target) { - nsEmbedString string = new nsEmbedString (XPCOM.DOMEVENT_FOCUS); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_UNLOAD); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDOWN); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEUP); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEMOVE); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEWHEEL); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEDRAG); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOVER); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_MOUSEOUT); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYDOWN); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYPRESS); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); - string = new nsEmbedString (XPCOM.DOMEVENT_KEYUP); - target.RemoveEventListener (string.getAddress (), domEventListener.getAddress (), 0); - string.dispose (); -} - -/* nsISupports */ - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWeakReference.NS_IWEAKREFERENCE_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {webProgressListener.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWebBrowserChrome.NS_IWEBBROWSERCHROME_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {webBrowserChrome.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWebBrowserChromeFocus.NS_IWEBBROWSERCHROMEFOCUS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {webBrowserChromeFocus.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIEmbeddingSiteWindow.NS_IEMBEDDINGSITEWINDOW_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {embeddingSiteWindow.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {interfaceRequestor.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsISupportsWeakReference.NS_ISUPPORTSWEAKREFERENCE_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supportsWeakReference.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIContextMenuListener.NS_ICONTEXTMENULISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {contextMenuListener.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIURIContentListener.NS_IURICONTENTLISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {uriContentListener.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsITooltipListener.NS_ITOOLTIPLISTENER_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {tooltipListener.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int AddRef () { - refCount++; - return refCount; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIWeakReference */ - -int QueryReferent (int /*long*/ riid, int /*long*/ ppvObject) { - return QueryInterface (riid, ppvObject); -} - -/* nsIInterfaceRequestor */ - -int GetInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - if (guid.Equals (nsIDOMWindow.NS_IDOMWINDOW_IID)) { - int /*long*/[] aContentDOMWindow = new int /*long*/[1]; - int rc = webBrowser.GetContentDOMWindow (aContentDOMWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (aContentDOMWindow[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - XPCOM.memmove (ppvObject, aContentDOMWindow, C.PTR_SIZEOF); - return rc; - } - return QueryInterface (riid, ppvObject); -} - -int GetWeakReference (int /*long*/ ppvObject) { - XPCOM.memmove (ppvObject, new int /*long*/[] {weakReference.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; -} - -/* nsIWebProgressListener */ - -int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) { - if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) is 0) return XPCOM.NS_OK; - if ((aStateFlags & nsIWebProgressListener.STATE_START) !is 0) { - if (request is 0) request = aRequest; - - if (!awaitingNavigate) { - /* - * Add the page's nsIDOMWindow to the collection of windows that will - * have DOM listeners added to them later on in the page loading - * process. These listeners cannot be added yet because the - * nsIDOMWindow is not ready to take them at this stage. - */ - int /*long*/[] result = new int /*long*/[1]; - nsIWebProgress progress = new nsIWebProgress (aWebProgress); - int rc = progress.GetDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - unhookedDOMWindows.addElement (new LONG (result[0])); - } - } else if ((aStateFlags & nsIWebProgressListener.STATE_REDIRECTING) !is 0) { - if (request is aRequest) request = 0; - } else if ((aStateFlags & nsIWebProgressListener.STATE_STOP) !is 0) { - /* - * If this page's nsIDOMWindow handle is still in unhookedDOMWindows then - * add its DOM listeners now. It's possible for this to happen since - * there is no guarantee that a STATE_TRANSFERRING state change will be - * received for every window in a page, which is when these listeners - * are typically added. - */ - int /*long*/[] result = new int /*long*/[1]; - nsIWebProgress progress = new nsIWebProgress (aWebProgress); - int rc = progress.GetDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); - - LONG ptrObject = new LONG (result[0]); - result[0] = 0; - int index = unhookedDOMWindows.indexOf (ptrObject); - if (index !is -1) { - rc = webBrowser.GetContentDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - bool isTop = result[0] is domWindow.getAddress (); - new nsISupports (result[0]).Release (); - result[0] = 0; - - rc = domWindow.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); - result[0] = 0; - hookDOMListeners (target, isTop); - target.Release (); - - /* - * Remove and unreference the nsIDOMWindow from the collection of windows - * that are waiting to have DOM listeners hooked on them. - */ - unhookedDOMWindows.remove (ptrObject); - new nsISupports (ptrObject.value).Release (); - } - domWindow.Release (); - - /* - * Feature in Mozilla. When a request is redirected (STATE_REDIRECTING), - * it never reaches the state STATE_STOP and it is replaced with a new request. - * The new request is received when it is in the state STATE_STOP. - * To handle this case, the variable request is set to 0 when the corresponding - * request is redirected. The following request received with the state STATE_STOP - * - the new request resulting from the redirection - is used to send - * the ProgressListener.completed event. - */ - if (request is aRequest || request is 0) { - request = 0; - if (!awaitingNavigate) { - StatusTextEvent event = new StatusTextEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - event.text = ""; //$NON-NLS-1$ - for (int i = 0; i < statusTextListeners.length; i++) { - statusTextListeners[i].changed (event); - } - ProgressEvent event2 = new ProgressEvent (browser); - event2.display = browser.getDisplay (); - event2.widget = browser; - for (int i = 0; i < progressListeners.length; i++) { - progressListeners[i].completed (event2); - } - } - } - } else if ((aStateFlags & nsIWebProgressListener.STATE_TRANSFERRING) !is 0) { - /* - * Hook DOM listeners to the page's nsIDOMWindow here because this is - * the earliest opportunity to do so. - */ - int /*long*/[] result = new int /*long*/[1]; - nsIWebProgress progress = new nsIWebProgress (aWebProgress); - int rc = progress.GetDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMWindow domWindow = new nsIDOMWindow (result[0]); - - LONG ptrObject = new LONG (result[0]); - result[0] = 0; - int index = unhookedDOMWindows.indexOf (ptrObject); - if (index !is -1) { - rc = webBrowser.GetContentDOMWindow (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - bool isTop = result[0] is domWindow.getAddress (); - new nsISupports (result[0]).Release (); - result[0] = 0; - - rc = domWindow.QueryInterface (nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); - result[0] = 0; - hookDOMListeners (target, isTop); - target.Release (); - - /* - * Remove and unreference the nsIDOMWindow from the collection of windows - * that are waiting to have DOM listeners hooked on them. - */ - unhookedDOMWindows.remove (ptrObject); - new nsISupports (ptrObject.value).Release (); - } - domWindow.Release (); - } - return XPCOM.NS_OK; -} - -int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) { - if (awaitingNavigate || progressListeners.length is 0) return XPCOM.NS_OK; - ProgressEvent event = new ProgressEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - event.current = aCurTotalProgress; - event.total = aMaxTotalProgress; - for (int i = 0; i < progressListeners.length; i++) { - progressListeners[i].changed (event); - } - return XPCOM.NS_OK; -} - -int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) { - /* - * Feature in Mozilla. When a page is loaded via setText before a previous - * setText page load has completed, the expected OnStateChange STATE_STOP for the - * original setText never arrives because it gets replaced by the OnStateChange - * STATE_STOP for the new request. This results in the request field never being - * cleared because the original request's OnStateChange STATE_STOP is still expected - * (but never arrives). To handle this case, the request field is updated to the new - * overriding request since its OnStateChange STATE_STOP will be received next. - */ - if (request !is 0 && request !is aRequest) request = aRequest; - - if (awaitingNavigate || locationListeners.length is 0) return XPCOM.NS_OK; - - nsIWebProgress webProgress = new nsIWebProgress (aWebProgress); - int /*long*/[] aDOMWindow = new int /*long*/[1]; - int rc = webProgress.GetDOMWindow (aDOMWindow); - if (rc !is XPCOM.NS_OK) error (rc); - if (aDOMWindow[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]); - int /*long*/[] aTop = new int /*long*/[1]; - rc = domWindow.GetTop (aTop); - if (rc !is XPCOM.NS_OK) error (rc); - if (aTop[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - domWindow.Release (); - - nsIDOMWindow topWindow = new nsIDOMWindow (aTop[0]); - topWindow.Release (); - - nsIURI location = new nsIURI (aLocation); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - location.GetSpec (aSpec); - int length = XPCOM.nsEmbedCString_Length (aSpec); - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String url = new String (dest); - - /* - * As of Mozilla 1.8, the first time that a page is displayed, regardless of - * whether it's via Browser.setURL() or Browser.setText(), the GRE navigates - * to about:blank and fires the corresponding navigation events. Do not send - * this event on to the user since it is not expected. - */ - if (!IsPre_1_8 && aRequest is 0 && url.startsWith (ABOUT_BLANK)) return XPCOM.NS_OK; - - LocationEvent event = new LocationEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - event.location = url; - /* - * If the URI indicates that the page is being rendered from memory - * (via setText()) then set it to about:blank to be consistent with IE. - */ - if (event.location.equals (URI_FROMMEMORY)) event.location = ABOUT_BLANK; - event.top = aTop[0] is aDOMWindow[0]; - for (int i = 0; i < locationListeners.length; i++) { - locationListeners[i].changed (event); - } - return XPCOM.NS_OK; -} - -int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) { - if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; - StatusTextEvent event = new StatusTextEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - int length = XPCOM.strlen_PRUnichar (aMessage); - char[] dest = new char[length]; - XPCOM.memmove (dest, aMessage, length * 2); - event.text = new String (dest); - for (int i = 0; i < statusTextListeners.length; i++) { - statusTextListeners[i].changed (event); - } - return XPCOM.NS_OK; -} - -int OnSecurityChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int state) { - return XPCOM.NS_OK; -} - -/* nsIWebBrowserChrome */ - -int SetStatus (int statusType, int /*long*/ status) { - if (awaitingNavigate || statusTextListeners.length is 0) return XPCOM.NS_OK; - StatusTextEvent event = new StatusTextEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - int length = XPCOM.strlen_PRUnichar (status); - char[] dest = new char[length]; - XPCOM.memmove (dest, status, length * 2); - String string = new String (dest); - event.text = string; - for (int i = 0; i < statusTextListeners.length; i++) { - statusTextListeners[i].changed (event); - } - return XPCOM.NS_OK; -} - -int GetWebBrowser (int /*long*/ aWebBrowser) { - int /*long*/[] ret = new int /*long*/[1]; - if (webBrowser !is null) { - webBrowser.AddRef (); - ret[0] = webBrowser.getAddress (); - } - XPCOM.memmove (aWebBrowser, ret, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -int SetWebBrowser (int /*long*/ aWebBrowser) { - if (webBrowser !is null) webBrowser.Release (); - webBrowser = aWebBrowser !is 0 ? new nsIWebBrowser (aWebBrowser) : null; - return XPCOM.NS_OK; -} - -int GetChromeFlags (int /*long*/ aChromeFlags) { - int[] ret = new int[1]; - ret[0] = chromeFlags; - XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */ - return XPCOM.NS_OK; -} - -int SetChromeFlags (int aChromeFlags) { - chromeFlags = aChromeFlags; - return XPCOM.NS_OK; -} - -int DestroyBrowserWindow () { - WindowEvent newEvent = new WindowEvent (browser); - newEvent.display = browser.getDisplay (); - newEvent.widget = browser; - for (int i = 0; i < closeWindowListeners.length; i++) { - closeWindowListeners[i].close (newEvent); - } - /* - * Note on Mozilla. The DestroyBrowserWindow notification cannot be cancelled. - * The browser widget cannot be used after this notification has been received. - * The application is advised to close the window hosting the browser widget. - * The browser widget must be disposed in all cases. - */ - browser.dispose (); - return XPCOM.NS_OK; -} - -int SizeBrowserTo (int aCX, int aCY) { - size = new Point (aCX, aCY); - bool isChrome = (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) !is 0; - if (isChrome) { - Shell shell = browser.getShell (); - shell.setSize (shell.computeSize (size.x, size.y)); - } - return XPCOM.NS_OK; -} - -int ShowAsModal () { - int /*long*/[] result = new int /*long*/[1]; - int rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIJSContextStack.NS_IJSCONTEXTSTACK_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIJSContextStack stack = new nsIJSContextStack (result[0]); - result[0] = 0; - rc = stack.Push (0); - if (rc !is XPCOM.NS_OK) error (rc); - - Shell shell = browser.getShell (); - Display display = browser.getDisplay (); - while (!shell.isDisposed ()) { - if (!display.readAndDispatch ()) display.sleep (); - } - - rc = stack.Pop (result); - if (rc !is XPCOM.NS_OK) error (rc); - stack.Release (); - return XPCOM.NS_OK; -} - -int IsWindowModal (int /*long*/ retval) { - int result = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) !is 0 ? 1 : 0; - XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */ - return XPCOM.NS_OK; -} - -int ExitModalEventLoop (int aStatus) { - return XPCOM.NS_OK; -} - -/* nsIEmbeddingSiteWindow */ - -int SetDimensions (int flags, int x, int y, int cx, int cy) { - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { - location = new Point (x, y); - browser.getShell ().setLocation (x, y); - } - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_SIZE_INNER) !is 0) { - browser.setSize (cx, cy); - } - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_SIZE_OUTER) !is 0) { - browser.getShell ().setSize (cx, cy); - } - return XPCOM.NS_OK; -} - -int GetDimensions (int flags, int /*long*/ x, int /*long*/ y, int /*long*/ cx, int /*long*/ cy) { - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) !is 0) { - Point location = browser.getShell ().getLocation (); - if (x !is 0) C.memmove (x, new int[] {location.x}, 4); /* PRInt32 */ - if (y !is 0) C.memmove (y, new int[] {location.y}, 4); /* PRInt32 */ - } - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_SIZE_INNER) !is 0) { - Point size = browser.getSize (); - if (cx !is 0) C.memmove (cx, new int[] {size.x}, 4); /* PRInt32 */ - if (cy !is 0) C.memmove (cy, new int[] {size.y}, 4); /* PRInt32 */ - } - if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_SIZE_OUTER) !is 0) { - Point size = browser.getShell().getSize (); - if (cx !is 0) C.memmove (cx, new int[] {size.x}, 4); /* PRInt32 */ - if (cy !is 0) C.memmove (cy, new int[] {size.y}, 4); /* PRInt32 */ - } - return XPCOM.NS_OK; -} - -int SetFocus () { - int /*long*/[] result = new int /*long*/[1]; - int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); - rc = baseWindow.SetFocus (); - if (rc !is XPCOM.NS_OK) error (rc); - baseWindow.Release (); - - /* - * Note. Mozilla notifies here that one of the children took - * focus. This could or should be used to fire an DWT.FOCUS_IN - * event on Browser focus listeners. - */ - return XPCOM.NS_OK; -} - -int GetVisibility (int /*long*/ aVisibility) { - bool visible = browser.isVisible () && !browser.getShell ().getMinimized (); - XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */ - return XPCOM.NS_OK; -} - -int SetVisibility (int aVisibility) { - if (isChild) { - WindowEvent event = new WindowEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - if (aVisibility !is 0) { - /* - * Bug in Mozilla. When the JavaScript window.open is executed, Mozilla - * fires multiple SetVisibility 1 notifications. The workaround is - * to ignore subsequent notifications. - */ - if (!visible) { - visible = true; - event.location = location; - event.size = size; - event.addressBar = (chromeFlags & nsIWebBrowserChrome.CHROME_LOCATIONBAR) !is 0; - event.menuBar = (chromeFlags & nsIWebBrowserChrome.CHROME_MENUBAR) !is 0; - event.statusBar = (chromeFlags & nsIWebBrowserChrome.CHROME_STATUSBAR) !is 0; - event.toolBar = (chromeFlags & nsIWebBrowserChrome.CHROME_TOOLBAR) !is 0; - for (int i = 0; i < visibilityWindowListeners.length; i++) { - visibilityWindowListeners[i].show (event); - } - location = null; - size = null; - } - } else { - visible = false; - for (int i = 0; i < visibilityWindowListeners.length; i++) { - visibilityWindowListeners[i].hide (event); - } - } - } else { - visible = aVisibility !is 0; - } - return XPCOM.NS_OK; -} - -int GetTitle (int /*long*/ aTitle) { - return XPCOM.NS_OK; -} - -int SetTitle (int /*long*/ aTitle) { - if (awaitingNavigate || titleListeners.length is 0) return XPCOM.NS_OK; - TitleEvent event = new TitleEvent (browser); - event.display = browser.getDisplay (); - event.widget = browser; - /* - * To be consistent with other platforms the title event should - * contain the page's url if the page does not contain a <title> - * tag. - */ - int length = XPCOM.strlen_PRUnichar (aTitle); - if (length > 0) { - char[] dest = new char[length]; - XPCOM.memmove (dest, aTitle, length * 2); - event.title = new String (dest); - } else { - event.title = getUrl (); - } - for (int i = 0; i < titleListeners.length; i++) { - titleListeners[i].changed (event); - } - return XPCOM.NS_OK; -} - -int GetSiteWindow (int /*long*/ aSiteWindow) { - /* - * Note. The handle is expected to be an HWND on Windows and - * a GtkWidget* on GTK. This callback is invoked on Windows - * when the javascript window.print is invoked and the print - * dialog comes up. If no handle is returned, the print dialog - * does not come up on this platform. - */ - XPCOM.memmove (aSiteWindow, new int /*long*/[] {embedHandle}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -/* nsIWebBrowserChromeFocus */ - -int FocusNextElement () { - /* - * Bug in Mozilla embedding API. Mozilla takes back the focus after sending - * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced - * with the Mozilla application TestGtkEmbed. The workaround is to - * send the traversal notification after this callback returns. - */ - browser.getDisplay ().asyncExec (new Runnable () { - public void run () { - if (browser.isDisposed ()) return; - browser.traverse (DWT.TRAVERSE_TAB_NEXT); - } - }); - return XPCOM.NS_OK; -} - -int FocusPrevElement () { - /* - * Bug in Mozilla embedding API. Mozilla takes back the focus after sending - * this event. This prevents tabbing out of Mozilla. This behaviour can be reproduced - * with the Mozilla application TestGtkEmbed. The workaround is to - * send the traversal notification after this callback returns. - */ - browser.getDisplay ().asyncExec (new Runnable () { - public void run () { - if (browser.isDisposed ()) return; - browser.traverse (DWT.TRAVERSE_TAB_PREVIOUS); - } - }); - return XPCOM.NS_OK; -} - -/* nsIContextMenuListener */ - -int OnShowContextMenu (int aContextFlags, int /*long*/ aEvent, int /*long*/ aNode) { - if (awaitingNavigate) return XPCOM.NS_OK; - - nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); - int /*long*/[] result = new int /*long*/[1]; - int rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); - int[] aScreenX = new int[1], aScreenY = new int[1]; - rc = domMouseEvent.GetScreenX (aScreenX); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetScreenY (aScreenY); - if (rc !is XPCOM.NS_OK) error (rc); - domMouseEvent.Release (); - - Event event = new Event (); - event.x = aScreenX[0]; - event.y = aScreenY[0]; - browser.notifyListeners (DWT.MenuDetect, event); - if (!event.doit) return XPCOM.NS_OK; - Menu menu = browser.getMenu (); - if (menu !is null && !menu.isDisposed ()) { - if (aScreenX[0] !is event.x || aScreenY[0] !is event.y) { - menu.setLocation (event.x, event.y); - } - menu.setVisible (true); - } - return XPCOM.NS_OK; -} - -/* nsIURIContentListener */ - -int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) { - if (awaitingNavigate || locationListeners.length is 0) { - XPCOM.memmove (retval, new int[] {0}, 4); /* PRBool */ - return XPCOM.NS_OK; - } - nsIURI location = new nsIURI (aURI); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - location.GetSpec (aSpec); - int length = XPCOM.nsEmbedCString_Length (aSpec); - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String value = new String (dest); - bool doit = true; - if (request is 0) { - /* - * listeners should not be notified of internal transitions like "javascipt:..." - * because this is an implementation side-effect, not a true navigate - */ - if (!value.startsWith (PREFIX_JAVASCRIPT)) { - LocationEvent event = new LocationEvent (browser); - event.display = browser.getDisplay(); - event.widget = browser; - event.location = value; - /* - * If the URI indicates that the page is being rendered from memory - * (via setText()) then set it to about:blank to be consistent with IE. - */ - if (event.location.equals (URI_FROMMEMORY)) event.location = ABOUT_BLANK; - event.doit = doit; - for (int i = 0; i < locationListeners.length; i++) { - locationListeners[i].changing (event); - } - doit = event.doit && !browser.isDisposed(); - } - } - XPCOM.memmove (retval, new int[] {doit ? 0 : 1}, 4); /* PRBool */ - return XPCOM.NS_OK; -} - -int DoContent (int /*long*/ aContentType, int aIsContentPreferred, int /*long*/ aRequest, int /*long*/ aContentHandler, int /*long*/ retval) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, int /*long*/ retval) { - bool preferred = false; - int size = XPCOM.strlen (aContentType); - if (size > 0) { - byte[] typeBytes = new byte[size + 1]; - XPCOM.memmove (typeBytes, aContentType, size); - String contentType = new String (typeBytes, 0, size); - - /* do not attempt to handle known problematic content types */ - if (!contentType.equals (XPCOM.CONTENT_MAYBETEXT) && !contentType.equals (XPCOM.CONTENT_MULTIPART)) { - /* determine whether browser can handle the content type */ - int /*long*/[] result = new int /*long*/[1]; - int rc = XPCOM.NS_GetServiceManager (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIServiceManager serviceManager = new nsIServiceManager (result[0]); - result[0] = 0; - - /* First try to use the nsIWebNavigationInfo if it's available (>= mozilla 1.8) */ - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIWebNavigationInfo.NS_IWEBNAVIGATIONINFO_IID, result); - if (rc is 0) { - byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true); - int /*long*/ typePtr = XPCOM.nsEmbedCString_new (bytes, bytes.length); - nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]); - result[0] = 0; - int[] isSupportedResult = new int[1]; /* PRUint32 */ - rc = info.IsTypeSupported (typePtr, 0, isSupportedResult); - if (rc !is XPCOM.NS_OK) error (rc); - info.Release (); - XPCOM.nsEmbedCString_delete (typePtr); - preferred = isSupportedResult[0] !is 0; - } else { - /* nsIWebNavigationInfo is not available, so do the type lookup */ - result[0] = 0; - rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, nsICategoryManager.NS_ICATEGORYMANAGER_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsICategoryManager categoryManager = new nsICategoryManager (result[0]); - result[0] = 0; - byte[] categoryBytes = MozillaDelegate.wcsToMbcs (null, "Gecko-Content-Viewers", true); //$NON-NLS-1$ - rc = categoryManager.GetCategoryEntry (categoryBytes, typeBytes, result); - categoryManager.Release (); - /* if no viewer for the content type is registered then rc is XPCOM.NS_ERROR_NOT_AVAILABLE */ - preferred = rc is XPCOM.NS_OK; - } - serviceManager.Release (); - } - } - - XPCOM.memmove(retval, new int[] {preferred ? 1 : 0}, 4); /* PRBool */ - if (preferred) { - XPCOM.memmove (aDesiredContentType, new int /*long*/[] {0}, C.PTR_SIZEOF); - } - return XPCOM.NS_OK; -} - -int CanHandleContent (int /*long*/ aContentType, int aIsContentPreferred, int /*long*/ aDesiredContentType, int /*long*/ retval) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetLoadCookie (int /*long*/ aLoadCookie) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetLoadCookie (int /*long*/ aLoadCookie) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int GetParentContentListener (int /*long*/ aParentContentListener) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -int SetParentContentListener (int /*long*/ aParentContentListener) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - -/* nsITooltipListener */ - -int OnShowTooltip (int aXCoords, int aYCoords, int /*long*/ aTipText) { - if (awaitingNavigate) return XPCOM.NS_OK; - - int length = XPCOM.strlen_PRUnichar (aTipText); - char[] dest = new char[length]; - XPCOM.memmove (dest, aTipText, length * 2); - String text = new String (dest); - if (tip !is null && !tip.isDisposed ()) tip.dispose (); - Display display = browser.getDisplay (); - Shell parent = browser.getShell (); - tip = new Shell (parent, DWT.ON_TOP); - tip.setLayout (new FillLayout()); - Label label = new Label (tip, DWT.CENTER); - label.setForeground (display.getSystemColor (DWT.COLOR_INFO_FOREGROUND)); - label.setBackground (display.getSystemColor (DWT.COLOR_INFO_BACKGROUND)); - label.setText (text); - /* - * Bug in Mozilla embedded API. Tooltip coordinates are wrong for - * elements inside an inline frame (IFrame tag). The workaround is - * to position the tooltip based on the mouse cursor location. - */ - Point point = display.getCursorLocation (); - /* Assuming cursor is 21x21 because this is the size of - * the arrow cursor on Windows - */ - point.y += 21; - tip.setLocation (point); - tip.pack (); - tip.setVisible (true); - return XPCOM.NS_OK; -} - -int OnHideTooltip () { - if (tip !is null && !tip.isDisposed ()) tip.dispose (); - tip = null; - return XPCOM.NS_OK; -} - -/* nsIDOMEventListener */ - -int HandleEvent (int /*long*/ event) { - nsIDOMEvent domEvent = new nsIDOMEvent (event); - - int /*long*/ type = XPCOM.nsEmbedString_new (); - int rc = domEvent.GetType (type); - if (rc !is XPCOM.NS_OK) error (rc); - int length = XPCOM.nsEmbedString_Length (type); - int /*long*/ buffer = XPCOM.nsEmbedString_get (type); - char[] chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - String typeString = new String (chars); - XPCOM.nsEmbedString_delete (type); - - if (XPCOM.DOMEVENT_UNLOAD.equals (typeString)) { - int /*long*/[] result = new int /*long*/[1]; - rc = domEvent.GetCurrentTarget (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - - nsIDOMEventTarget target = new nsIDOMEventTarget (result[0]); - unhookDOMListeners (target); - target.Release (); - return XPCOM.NS_OK; - } - - if (XPCOM.DOMEVENT_FOCUS.equals (typeString)) { - mozDelegate.handleFocus (); - return XPCOM.NS_OK; - } - - if (XPCOM.DOMEVENT_KEYDOWN.equals (typeString)) { - int /*long*/[] result = new int /*long*/[1]; - rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); - result[0] = 0; - - int[] aKeyCode = new int[1]; /* PRUint32 */ - rc = domKeyEvent.GetKeyCode (aKeyCode); - if (rc !is XPCOM.NS_OK) error (rc); - int keyCode = translateKey (aKeyCode[0]); - - /* - * if keyCode is lastKeyCode then either a repeating key like Shift - * is being held or a key for which key events are not sent has been - * pressed. In both of these cases a KeyDown should not be sent. - */ - if (keyCode !is lastKeyCode) { - lastKeyCode = keyCode; - switch (keyCode) { - case DWT.SHIFT: - case DWT.CONTROL: - case DWT.ALT: - case DWT.CAPS_LOCK: - case DWT.NUM_LOCK: - case DWT.SCROLL_LOCK: - case DWT.COMMAND: { - /* keypress events will not be received for these keys, so send KeyDowns for them now */ - int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetAltKey (aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetCtrlKey (aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetShiftKey (aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetMetaKey (aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); - - Event keyEvent = new Event (); - keyEvent.widget = browser; - keyEvent.type = DWT.KeyDown; - keyEvent.keyCode = keyCode; - keyEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0 ? DWT.CTRL : 0) | (aShiftKey[0] !is 0 ? DWT.SHIFT : 0) | (aMetaKey[0] !is 0 ? DWT.COMMAND : 0); - keyEvent.stateMask &= ~keyCode; /* remove current keydown if it's a state key */ - browser.notifyListeners (keyEvent.type, keyEvent); - if (!keyEvent.doit) { - domEvent.PreventDefault (); - } - break; - } - default: { - /* - * If the keydown has Meta (but not Meta+Ctrl) as a modifier then send a KeyDown event for it here - * because a corresponding keypress event will not be received for it from the DOM. If the keydown - * does not have Meta as a modifier, or has Meta+Ctrl as a modifier, then then do nothing here - * because its KeyDown event will be sent from the keypress listener. - */ - int[] aMetaKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetMetaKey (aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); - if (aMetaKey[0] !is 0) { - int[] aCtrlKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetCtrlKey (aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); - if (aCtrlKey[0] is 0) { - int[] aAltKey = new int[1], aShiftKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetAltKey (aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetShiftKey (aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); - - Event keyEvent = new Event (); - keyEvent.widget = browser; - keyEvent.type = DWT.KeyDown; - keyEvent.keyCode = lastKeyCode; - keyEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0? DWT.CTRL : 0) | (aShiftKey[0] !is 0? DWT.SHIFT : 0) | (aMetaKey[0] !is 0? DWT.COMMAND : 0); - browser.notifyListeners (keyEvent.type, keyEvent); - if (!keyEvent.doit) { - domEvent.PreventDefault (); - } - } - } - } - } - } - - domKeyEvent.Release (); - return XPCOM.NS_OK; - } - - if (XPCOM.DOMEVENT_KEYPRESS.equals (typeString)) { - /* - * if keydown could not determine a keycode for this key then it's a - * key for which key events are not sent (eg.- the Windows key) - */ - if (lastKeyCode is 0) return XPCOM.NS_OK; - - /* - * On linux only, unexpected keypress events are received for some - * modifier keys. The workaround is to ignore these events since - * KeyDown events are sent for these keys in the keydown listener. - */ - switch (lastKeyCode) { - case DWT.CAPS_LOCK: - case DWT.NUM_LOCK: - case DWT.SCROLL_LOCK: return XPCOM.NS_OK; - } - - int /*long*/[] result = new int /*long*/[1]; - rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); - result[0] = 0; - - int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetAltKey (aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetCtrlKey (aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetShiftKey (aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetMetaKey (aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); - domKeyEvent.Release (); - - int[] aCharCode = new int[1]; /* PRUint32 */ - rc = domKeyEvent.GetCharCode (aCharCode); - if (rc !is XPCOM.NS_OK) error (rc); - lastCharCode = aCharCode[0]; - if (lastCharCode is 0) { - switch (lastKeyCode) { - case DWT.TAB: lastCharCode = DWT.TAB; break; - case DWT.CR: lastCharCode = DWT.CR; break; - case DWT.BS: lastCharCode = DWT.BS; break; - case DWT.ESC: lastCharCode = DWT.ESC; break; - case DWT.DEL: lastCharCode = DWT.DEL; break; - } - } - if (aCtrlKey[0] !is 0 && (0 <= lastCharCode && lastCharCode <= 0x7F)) { - if ('a' <= lastCharCode && lastCharCode <= 'z') lastCharCode -= 'a' - 'A'; - if (64 <= lastCharCode && lastCharCode <= 95) lastCharCode -= 64; - } - - Event keyEvent = new Event (); - keyEvent.widget = browser; - keyEvent.type = DWT.KeyDown; - keyEvent.keyCode = lastKeyCode; - keyEvent.character = (char)lastCharCode; - keyEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0 ? DWT.CTRL : 0) | (aShiftKey[0] !is 0 ? DWT.SHIFT : 0) | (aMetaKey[0] !is 0 ? DWT.COMMAND : 0); - browser.notifyListeners (keyEvent.type, keyEvent); - if (!keyEvent.doit) { - domEvent.PreventDefault (); - } - return XPCOM.NS_OK; - } - - if (XPCOM.DOMEVENT_KEYUP.equals (typeString)) { - int /*long*/[] result = new int /*long*/[1]; - rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMKeyEvent domKeyEvent = new nsIDOMKeyEvent (result[0]); - result[0] = 0; - - int[] aKeyCode = new int[1]; /* PRUint32 */ - rc = domKeyEvent.GetKeyCode (aKeyCode); - if (rc !is XPCOM.NS_OK) error (rc); - int keyCode = translateKey (aKeyCode[0]); - if (keyCode is 0) { - /* indicates a key for which key events are not sent */ - domKeyEvent.Release (); - return XPCOM.NS_OK; - } - if (keyCode !is lastKeyCode) { - /* keyup does not correspond to the last keydown */ - lastKeyCode = keyCode; - lastCharCode = 0; - } - - int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ - rc = domKeyEvent.GetAltKey (aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetCtrlKey (aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetShiftKey (aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domKeyEvent.GetMetaKey (aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); - domKeyEvent.Release (); - - Event keyEvent = new Event (); - keyEvent.widget = browser; - keyEvent.type = DWT.KeyUp; - keyEvent.keyCode = lastKeyCode; - keyEvent.character = (char)lastCharCode; - keyEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0 ? DWT.CTRL : 0) | (aShiftKey[0] !is 0 ? DWT.SHIFT : 0) | (aMetaKey[0] !is 0 ? DWT.COMMAND : 0); - switch (lastKeyCode) { - case DWT.SHIFT: - case DWT.CONTROL: - case DWT.ALT: - case DWT.COMMAND: { - keyEvent.stateMask |= lastKeyCode; - } - } - browser.notifyListeners (keyEvent.type, keyEvent); - if (!keyEvent.doit) { - domEvent.PreventDefault (); - } - lastKeyCode = lastCharCode = 0; - return XPCOM.NS_OK; - } - - /* mouse event */ - - int /*long*/[] result = new int /*long*/[1]; - rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] is 0) error (XPCOM.NS_NOINTERFACE); - nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); - result[0] = 0; - - /* - * MouseOver and MouseOut events are fired any time the mouse enters or exits - * any element within the Browser. To ensure that DWT events are only - * fired for mouse movements into or out of the Browser, do not fire an - * event if the element being exited (on MouseOver) or entered (on MouseExit) - * is within the Browser. - */ - if (XPCOM.DOMEVENT_MOUSEOVER.equals (typeString) || XPCOM.DOMEVENT_MOUSEOUT.equals (typeString)) { - rc = domMouseEvent.GetRelatedTarget (result); - if (rc !is XPCOM.NS_OK) error (rc); - if (result[0] !is 0) { - domMouseEvent.Release (); - return XPCOM.NS_OK; - } - } - - int[] aClientX = new int[1], aClientY = new int[1], aDetail = new int[1]; /* PRInt32 */ - rc = domMouseEvent.GetClientX (aClientX); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetClientY (aClientY); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetDetail (aDetail); - if (rc !is XPCOM.NS_OK) error (rc); - short[] aButton = new short[1]; /* PRUint16 */ - rc = domMouseEvent.GetButton (aButton); - if (rc !is XPCOM.NS_OK) error (rc); - int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ - rc = domMouseEvent.GetAltKey (aAltKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetCtrlKey (aCtrlKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetShiftKey (aShiftKey); - if (rc !is XPCOM.NS_OK) error (rc); - rc = domMouseEvent.GetMetaKey (aMetaKey); - if (rc !is XPCOM.NS_OK) error (rc); - domMouseEvent.Release (); - - Event mouseEvent = new Event (); - mouseEvent.widget = browser; - mouseEvent.x = aClientX[0]; mouseEvent.y = aClientY[0]; - mouseEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0 ? DWT.CTRL : 0) | (aShiftKey[0] !is 0 ? DWT.SHIFT : 0) | (aMetaKey[0] !is 0 ? DWT.COMMAND : 0); - - if (XPCOM.DOMEVENT_MOUSEDOWN.equals (typeString)) { - mozDelegate.handleMouseDown (); - mouseEvent.type = DWT.MouseDown; - mouseEvent.button = aButton[0] + 1; - mouseEvent.count = aDetail[0]; - } else if (XPCOM.DOMEVENT_MOUSEUP.equals (typeString)) { - /* - * Bug on OSX. For some reason multiple mouseup events come from the DOM - * when button 3 is released on OSX. The first of these events has a count - * detail and the others do not. The workaround is to not fire received - * button 3 mouseup events that do not have a count since mouse events - * without a click count are not valid. - */ - int button = aButton[0] + 1; - int count = aDetail[0]; - if (count is 0 && button is 3) return XPCOM.NS_OK; - mouseEvent.type = DWT.MouseUp; - mouseEvent.button = button; - mouseEvent.count = count; - } else if (XPCOM.DOMEVENT_MOUSEMOVE.equals (typeString)) { - mouseEvent.type = DWT.MouseMove; - } else if (XPCOM.DOMEVENT_MOUSEWHEEL.equals (typeString)) { - mouseEvent.type = DWT.MouseWheel; - mouseEvent.count = -aDetail[0]; - } else if (XPCOM.DOMEVENT_MOUSEOVER.equals (typeString)) { - mouseEvent.type = DWT.MouseEnter; - } else if (XPCOM.DOMEVENT_MOUSEOUT.equals (typeString)) { - mouseEvent.type = DWT.MouseExit; - } else if (XPCOM.DOMEVENT_MOUSEDRAG.equals (typeString)) { - mouseEvent.type = DWT.DragDetect; - mouseEvent.button = aButton[0] + 1; - switch (mouseEvent.button) { - case 1: mouseEvent.stateMask |= DWT.BUTTON1; break; - case 2: mouseEvent.stateMask |= DWT.BUTTON2; break; - case 3: mouseEvent.stateMask |= DWT.BUTTON3; break; - case 4: mouseEvent.stateMask |= DWT.BUTTON4; break; - case 5: mouseEvent.stateMask |= DWT.BUTTON5; break; - } - } - - browser.notifyListeners (mouseEvent.type, mouseEvent); - if (aDetail[0] is 2 && XPCOM.DOMEVENT_MOUSEDOWN.equals (typeString)) { - mouseEvent = new Event (); - mouseEvent.widget = browser; - mouseEvent.x = aClientX[0]; mouseEvent.y = aClientY[0]; - mouseEvent.stateMask = (aAltKey[0] !is 0 ? DWT.ALT : 0) | (aCtrlKey[0] !is 0 ? DWT.CTRL : 0) | (aShiftKey[0] !is 0 ? DWT.SHIFT : 0) | (aMetaKey[0] !is 0 ? DWT.COMMAND : 0); - mouseEvent.type = DWT.MouseDoubleClick; - mouseEvent.button = aButton[0] + 1; - mouseEvent.count = aDetail[0]; - browser.notifyListeners (mouseEvent.type, mouseEvent); - } - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/MozillaDelegate.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,208 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.MozillaDelegate; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.internal.Callback; -import dwt.internal.Converter; -import dwt.internal.gtk.GdkEvent; -import dwt.internal.gtk.OS; -import dwt.widgets.Display; -import dwt.widgets.Event; -import dwt.widgets.Listener; -import dwt.widgets.Widget; - -class MozillaDelegate { - Browser browser; - int /*long*/ mozillaHandle, embedHandle; - bool hasFocus; - Listener listener; - static Callback eventCallback; - static int /*long*/ eventProc; - static final int STOP_PROPOGATE = 1; - - static bool IsLinux; - static { - String osName = System.getProperty ("os.name").toLowerCase (); //$NON-NLS-1$ - IsLinux = osName.startsWith ("linux"); //$NON-NLS-1$ - } - -MozillaDelegate (Browser browser) { - super (); - if (!IsLinux) { - browser.dispose (); - DWT.error (DWT.ERROR_NO_HANDLES, null, " [Unsupported platform]"); //$NON-NLS-1$ - } - this.browser = browser; -} - -static int /*long*/ eventProc (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) { - int /*long*/ parent = OS.gtk_widget_get_parent (handle); - parent = OS.gtk_widget_get_parent (parent); - if (parent is 0) return 0; - Widget widget = Display.getCurrent ().findWidget (parent); - if (widget !is null && widget instanceof Browser) { - return ((Mozilla)((Browser)widget).webBrowser).delegate.gtk_event (handle, gdkEvent, pointer); - } - return 0; -} - -static Browser findBrowser (int /*long*/ handle) { - /* - * Note. On GTK, Mozilla is embedded into a GtkHBox handle - * and not directly into the parent Composite handle. - */ - int /*long*/ parent = OS.gtk_widget_get_parent (handle); - Display display = Display.getCurrent (); - return (Browser)display.findWidget (parent); -} - -static char[] mbcsToWcs (String codePage, byte [] buffer) { - return Converter.mbcsToWcs (codePage, buffer); -} - -static byte[] wcsToMbcs (String codePage, String string, bool terminate) { - return Converter.wcsToMbcs (codePage, string, terminate); -} - -int /*long*/ getHandle () { - /* - * Bug in Mozilla Linux GTK. Embedding Mozilla into a GtkFixed - * handle causes problems with some Mozilla plug-ins. For some - * reason, the Flash plug-in causes the child of the GtkFixed - * handle to be resized to 1 when the Flash document is loaded. - * That could be due to gtk_container_resize_children being called - * by Mozilla - or one of its plug-ins - on the GtkFixed handle, - * causing the child of the GtkFixed handle to be resized to 1. - * The workaround is to embed Mozilla into a GtkHBox handle. - */ - embedHandle = OS.gtk_hbox_new (false, 0); - OS.gtk_container_add (browser.handle, embedHandle); - OS.gtk_widget_show (embedHandle); - return embedHandle; -} - -String getLibraryName () { - return "libxpcom.so"; //$NON-NLS-1$ -} - -String getSWTInitLibraryName () { - return "swt-xpcominit"; //$NON-NLS-1$ -} - -int /*long*/ gtk_event (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) { - GdkEvent event = new GdkEvent (); - OS.memmove (event, gdkEvent, GdkEvent.sizeof); - if (event.type is OS.GDK_BUTTON_PRESS) { - if (!hasFocus) browser.setFocus (); - } - - /* - * Stop the propagation of events that are not consumed by Mozilla, before - * they reach the parent embedder. These event have already been received. - */ - if (pointer is STOP_PROPOGATE) return 1; - return 0; -} - -void handleFocus () { - if (hasFocus) return; - hasFocus = true; - listener = new Listener () { - public void handleEvent (Event event) { - if (event.widget is browser) return; - ((Mozilla)browser.webBrowser).Deactivate (); - hasFocus = false; - browser.getDisplay ().removeFilter (DWT.FocusIn, this); - browser.getShell ().removeListener (DWT.Deactivate, this); - listener = null; - } - }; - browser.getDisplay ().addFilter (DWT.FocusIn, listener); - browser.getShell ().addListener (DWT.Deactivate, listener); -} - -void handleMouseDown () { - int shellStyle = browser.getShell ().getStyle (); - if ((shellStyle & DWT.ON_TOP) !is 0 && (((shellStyle & DWT.NO_FOCUS) is 0) || ((browser.getStyle () & DWT.NO_FOCUS) is 0))) { - browser.getDisplay ().asyncExec (new Runnable () { - public void run () { - if (browser is null || browser.isDisposed ()) return; - ((Mozilla)browser.webBrowser).Activate (); - } - }); - } -} - -bool hookEnterExit () { - return false; -} - -void init () { - if (eventCallback is null) { - eventCallback = new Callback (getClass (), "eventProc", 3); //$NON-NLS-1$ - eventProc = eventCallback.getAddress (); - if (eventProc is 0) { - browser.dispose (); - Mozilla.error (DWT.ERROR_NO_MORE_CALLBACKS); - } - } - - /* - * Feature in Mozilla. GtkEvents such as key down, key pressed may be consumed - * by Mozilla and never be received by the parent embedder. The workaround - * is to find the top Mozilla gtk widget that receives all the Mozilla GtkEvents, - * i.e. the first child of the parent embedder. Then hook event callbacks and - * forward the event to the parent embedder before Mozilla received and consumed - * them. - */ - int /*long*/ list = OS.gtk_container_get_children (embedHandle); - if (list !is 0) { - mozillaHandle = OS.g_list_data (list); - OS.g_list_free (list); - - if (mozillaHandle !is 0) { - /* Note. Callback to get events before Mozilla receives and consumes them. */ - OS.g_signal_connect (mozillaHandle, OS.event, eventProc, 0); - - /* - * Note. Callback to get the events not consumed by Mozilla - and to block - * them so that they don't get propagated to the parent handle twice. - * This hook is set after Mozilla and is therefore called after Mozilla's - * handler because GTK dispatches events in their order of registration. - */ - OS.g_signal_connect (mozillaHandle, OS.key_press_event, eventProc, STOP_PROPOGATE); - OS.g_signal_connect (mozillaHandle, OS.key_release_event, eventProc, STOP_PROPOGATE); - OS.g_signal_connect (mozillaHandle, OS.button_press_event, eventProc, STOP_PROPOGATE); - } - } -} - -bool needsSpinup () { - return true; -} - -void onDispose (int /*long*/ embedHandle) { - if (listener !is null) { - browser.getDisplay ().removeFilter (DWT.FocusIn, listener); - browser.getShell ().removeListener (DWT.Deactivate, listener); - listener = null; - } - browser = null; -} - -void setSize (int /*long*/ embedHandle, int width, int height) { - OS.gtk_widget_set_size_request (embedHandle, width, height); -} - -}
--- a/dwt/browser.old/OpenWindowListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.OpenWindowListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link WindowEvent} notification when a new {@link Browser} - * needs to be provided by the application. - * - * @see Browser#addOpenWindowListener(OpenWindowListener) - * @see Browser#removeOpenWindowListener(OpenWindowListener) - * @see CloseWindowListener - * @see VisibilityWindowListener - * - * @since 3.0 - */ -public interface OpenWindowListener extends DWTEventListener { - -/** - * This method is called when a new window needs to be created. - * <p> - * A particular <code>Browser</code> can be passed to the event.browser - * field to host the content of a new window. - * <p> - * A standalone system browser is used to host the new window - * if the event.required field value is false and if the event.browser - * field is left <code>null</code>. The event.required field - * is true on platforms that don't support a standalone system browser for - * new window requests. - * <p> - * The navigation is cancelled if the event.required field is set to - * true and the event.browser field is left <code>null</code>. - * <p> - * <p>The following fields in the <code>WindowEvent</code> apply: - * <ul> - * <li>(in/out) required true if the platform requires the user to provide a - * <code>Browser</code> to handle the new window or false otherwise. - * <li>(out) browser the new <code>Browser</code> that will host the - * content of the new window. - * <li>(in) widget the <code>Browser</code> that is requesting to open a - * new window - * </ul> - * - * @param event the <code>WindowEvent</code> that needs to be passed a new - * <code>Browser</code> to handle the new window request - * - * @since 3.0 - */ -public void open(WindowEvent event); -}
--- a/dwt/browser.old/ProgressAdapter.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.ProgressAdapter; - -import dwt.dwthelper.utils; - -/** - * This adapter class provides default implementations for the - * methods described by the {@link ProgressListener} interface. - * <p> - * Classes that wish to deal with {@link ProgressEvent}'s can - * extend this class and override only the methods which they are - * interested in. - * </p> - * - * @since 3.0 - */ -public abstract class ProgressAdapter implements ProgressListener { - -public void changed(ProgressEvent event) { -} - -public void completed(ProgressEvent event) { -} -}
--- a/dwt/browser.old/ProgressEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.ProgressEvent; - -import dwt.dwthelper.utils; - -import dwt.events.TypedEvent; -import dwt.widgets.Widget; - -/** - * A <code>ProgressEvent</code> is sent by a {@link Browser} to - * {@link ProgressListener}'s when a progress is made during the - * loading of the current URL or when the loading of the current - * URL has been completed. - * - * @since 3.0 - */ -public class ProgressEvent : TypedEvent { - /** current value */ - public int current; - /** total value */ - public int total; - - static final long serialVersionUID = 3977018427045393972L; - - this(Widget w) { - super(w); - } - - /** - * Returns a string containing a concise, human-readable - * description of the receiver. - * - * @return a string representation of the event - */ - - public override String toString () { - return Format( "ProgressEvent { current={} total={} }", - current, total ); - } -}
--- a/dwt/browser.old/ProgressListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.ProgressListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link ProgressEvent} notification when a {@link Browser} - * makes a progress in loading the current URL or when the - * current URL has been loaded. - * - * @see Browser#addProgressListener(ProgressListener) - * @see Browser#removeProgressListener(ProgressListener) - * @see Browser#getUrl() - * - * @since 3.0 - */ -public interface ProgressListener extends DWTEventListener { - -/** - * This method is called when a progress is made during the loading of the - * current location. - * <p> - * - * <p>The following fields in the <code>ProgressEvent</code> apply: - * <ul> - * <li>(in) current the progress for the location currently being loaded - * <li>(in) total the maximum progress for the location currently being loaded - * <li>(in) widget the <code>Browser</code> whose current URL is being loaded - * </ul> - * - * @param event the <code>ProgressEvent</code> related to the loading of the - * current location of a <code>Browser</code> - * - * @since 3.0 - */ -public void changed(ProgressEvent event); - -/** - * This method is called when the current location has been completely loaded. - * <p> - * - * <p>The following fields in the <code>ProgressEvent</code> apply: - * <ul> - * <li>(in) widget the <code>Browser</code> whose current URL has been loaded - * </ul> - * - * @param event the <code>ProgressEvent</code> related to the <code>Browser</code> - * that has loaded its current URL. - * - * @since 3.0 - */ -public void completed(ProgressEvent event); -}
--- a/dwt/browser.old/PromptDialog.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.PromptDialog; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.layout.GridData; -import dwt.layout.GridLayout; -import dwt.widgets.Button; -import dwt.widgets.Composite; -import dwt.widgets.Dialog; -import dwt.widgets.Display; -import dwt.widgets.Event; -import dwt.widgets.Label; -import dwt.widgets.Listener; -import dwt.widgets.Monitor; -import dwt.widgets.Shell; -import dwt.widgets.Text; -import dwt.widgets.Widget; - -class PromptDialog extends Dialog { - - PromptDialog(Shell parent, int style) { - super(parent, style); - } - - PromptDialog(Shell parent) { - this(parent, 0); - } - - void alertCheck(String title, String text, String check, ref int checkValue) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - if (title !is null) shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Button checkButton = check !is null ? new Button(shell, DWT.CHECK) : null; - if (checkButton !is null) { - checkButton.setText(check); - checkButton.setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - checkButton.setLayoutData (data); - } - Button okButton = new Button(shell, DWT.PUSH); - okButton.setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - data = new GridData (); - data.horizontalAlignment = GridData.CENTER; - okButton.setLayoutData (data); - okButton.addListener(DWT.Selection, new Listener() { - public void handleEvent(Event event) { - if (checkButton !is null) checkValue[0] = checkButton.getSelection() ? 1 : 0; - shell.close(); - } - }); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void confirmEx(String title, String text, String check, String button0, String button1, String button2, int defaultIndex, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Button[] buttons = new Button[4]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - Widget widget = event.widget; - for (int i = 1; i < buttons.length; i++) { - if (widget is buttons[i]) { - result[0] = i - 1; - break; - } - } - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - GridLayout layout = new GridLayout(); - layout.makeColumnsEqualWidth = true; - composite.setLayout(layout); - int buttonCount = 0; - if (button0 !is null) { - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(button0); - buttons[1].addListener(DWT.Selection, listener); - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - if (button1 !is null) { - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(button1); - buttons[2].addListener(DWT.Selection, listener); - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - if (button2 !is null) { - buttons[3] = new Button(composite, DWT.PUSH); - buttons[3].setText(button2); - buttons[3].addListener(DWT.Selection, listener); - buttons[3].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - layout.numColumns = buttonCount; - Button defaultButton = buttons [defaultIndex + 1]; - if (defaultButton !is null) shell.setDefaultButton (defaultButton); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void prompt(String title, String text, String check, final String[] value, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - if (title !is null) shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Text valueText = new Text(shell, DWT.BORDER); - if (value[0] !is null) valueText.setText(value[0]); - data = new GridData(); - width = valueText.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - if (width > maxWidth) data.widthHint = maxWidth; - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - valueText.setLayoutData(data); - - final Button[] buttons = new Button[3]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - value[0] = valueText.getText(); - result[0] = event.widget is buttons[1] ? 1 : 0; - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - composite.setLayout(new GridLayout(2, true)); - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[1].addListener(DWT.Selection, listener); - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(DWT.getMessage("SWT_Cancel")); //$NON-NLS-1$ - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[2].addListener(DWT.Selection, listener); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void promptUsernameAndPassword(String title, String text, String check, final String[] user, final String[] pass, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - Label userLabel = new Label(shell, DWT.NONE); - userLabel.setText(DWT.getMessage("SWT_Username")); //$NON-NLS-1$ - - final Text userText = new Text(shell, DWT.BORDER); - if (user[0] !is null) userText.setText(user[0]); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - userText.setLayoutData(data); - - Label passwordLabel = new Label(shell, DWT.NONE); - passwordLabel.setText(DWT.getMessage("SWT_Password")); //$NON-NLS-1$ - - final Text passwordText = new Text(shell, DWT.PASSWORD | DWT.BORDER); - if (pass[0] !is null) passwordText.setText(pass[0]); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - passwordText.setLayoutData(data); - - final Button[] buttons = new Button[3]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - user[0] = userText.getText(); - pass[0] = passwordText.getText(); - result[0] = event.widget is buttons[1] ? 1 : 0; - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - composite.setLayout(new GridLayout(2, true)); - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[1].addListener(DWT.Selection, listener); - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(DWT.getMessage("SWT_Cancel")); //$NON-NLS-1$ - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[2].addListener(DWT.Selection, listener); - - shell.setDefaultButton(buttons[1]); - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } -}
--- a/dwt/browser.old/PromptDialog.d~ Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.PromptDialog; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.layout.GridData; -import dwt.layout.GridLayout; -import dwt.widgets.Button; -import dwt.widgets.Composite; -import dwt.widgets.Dialog; -import dwt.widgets.Display; -import dwt.widgets.Event; -import dwt.widgets.Label; -import dwt.widgets.Listener; -import dwt.widgets.Monitor; -import dwt.widgets.Shell; -import dwt.widgets.Text; -import dwt.widgets.Widget; - -class PromptDialog extends Dialog { - - PromptDialog(Shell parent, int style) { - super(parent, style); - } - - PromptDialog(Shell parent) { - this(parent, 0); - } - - void alertCheck(String title, String text, String check, final int[] checkValue) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - if (title !is null) shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Button checkButton = check !is null ? new Button(shell, DWT.CHECK) : null; - if (checkButton !is null) { - checkButton.setText(check); - checkButton.setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - checkButton.setLayoutData (data); - } - Button okButton = new Button(shell, DWT.PUSH); - okButton.setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - data = new GridData (); - data.horizontalAlignment = GridData.CENTER; - okButton.setLayoutData (data); - okButton.addListener(DWT.Selection, new Listener() { - public void handleEvent(Event event) { - if (checkButton !is null) checkValue[0] = checkButton.getSelection() ? 1 : 0; - shell.close(); - } - }); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void confirmEx(String title, String text, String check, String button0, String button1, String button2, int defaultIndex, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Button[] buttons = new Button[4]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - Widget widget = event.widget; - for (int i = 1; i < buttons.length; i++) { - if (widget is buttons[i]) { - result[0] = i - 1; - break; - } - } - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - GridLayout layout = new GridLayout(); - layout.makeColumnsEqualWidth = true; - composite.setLayout(layout); - int buttonCount = 0; - if (button0 !is null) { - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(button0); - buttons[1].addListener(DWT.Selection, listener); - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - if (button1 !is null) { - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(button1); - buttons[2].addListener(DWT.Selection, listener); - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - if (button2 !is null) { - buttons[3] = new Button(composite, DWT.PUSH); - buttons[3].setText(button2); - buttons[3].addListener(DWT.Selection, listener); - buttons[3].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttonCount++; - } - layout.numColumns = buttonCount; - Button defaultButton = buttons [defaultIndex + 1]; - if (defaultButton !is null) shell.setDefaultButton (defaultButton); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void prompt(String title, String text, String check, final String[] value, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - if (title !is null) shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - final Text valueText = new Text(shell, DWT.BORDER); - if (value[0] !is null) valueText.setText(value[0]); - data = new GridData(); - width = valueText.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - if (width > maxWidth) data.widthHint = maxWidth; - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - valueText.setLayoutData(data); - - final Button[] buttons = new Button[3]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - value[0] = valueText.getText(); - result[0] = event.widget is buttons[1] ? 1 : 0; - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - composite.setLayout(new GridLayout(2, true)); - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[1].addListener(DWT.Selection, listener); - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(DWT.getMessage("SWT_Cancel")); //$NON-NLS-1$ - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[2].addListener(DWT.Selection, listener); - - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } - - void promptUsernameAndPassword(String title, String text, String check, final String[] user, final String[] pass, final int[] checkValue, final int[] result) { - Shell parent = getParent(); - final Shell shell = new Shell(parent, DWT.DIALOG_TRIM | DWT.APPLICATION_MODAL); - shell.setText(title); - GridLayout gridLayout = new GridLayout(); - shell.setLayout(gridLayout); - Label label = new Label(shell, DWT.WRAP); - label.setText(text); - GridData data = new GridData(); - Monitor monitor = parent.getMonitor(); - int maxWidth = monitor.getBounds().width * 2 / 3; - int width = label.computeSize(DWT.DEFAULT, DWT.DEFAULT).x; - data.widthHint = Math.min(width, maxWidth); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - label.setLayoutData (data); - - Label userLabel = new Label(shell, DWT.NONE); - userLabel.setText(DWT.getMessage("SWT_Username")); //$NON-NLS-1$ - - final Text userText = new Text(shell, DWT.BORDER); - if (user[0] !is null) userText.setText(user[0]); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - userText.setLayoutData(data); - - Label passwordLabel = new Label(shell, DWT.NONE); - passwordLabel.setText(DWT.getMessage("SWT_Password")); //$NON-NLS-1$ - - final Text passwordText = new Text(shell, DWT.PASSWORD | DWT.BORDER); - if (pass[0] !is null) passwordText.setText(pass[0]); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - passwordText.setLayoutData(data); - - final Button[] buttons = new Button[3]; - Listener listener = new Listener() { - public void handleEvent(Event event) { - if (buttons[0] !is null) checkValue[0] = buttons[0].getSelection() ? 1 : 0; - user[0] = userText.getText(); - pass[0] = passwordText.getText(); - result[0] = event.widget is buttons[1] ? 1 : 0; - shell.close(); - } - }; - if (check !is null) { - buttons[0] = new Button(shell, DWT.CHECK); - buttons[0].setText(check); - buttons[0].setSelection(checkValue[0] !is 0); - data = new GridData (); - data.horizontalAlignment = GridData.BEGINNING; - buttons[0].setLayoutData (data); - } - Composite composite = new Composite(shell, DWT.NONE); - data = new GridData(); - data.horizontalAlignment = GridData.CENTER; - composite.setLayoutData (data); - composite.setLayout(new GridLayout(2, true)); - buttons[1] = new Button(composite, DWT.PUSH); - buttons[1].setText(DWT.getMessage("SWT_OK")); //$NON-NLS-1$ - buttons[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[1].addListener(DWT.Selection, listener); - buttons[2] = new Button(composite, DWT.PUSH); - buttons[2].setText(DWT.getMessage("SWT_Cancel")); //$NON-NLS-1$ - buttons[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - buttons[2].addListener(DWT.Selection, listener); - - shell.setDefaultButton(buttons[1]); - shell.pack(); - shell.open(); - Display display = parent.getDisplay(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) display.sleep(); - } - } -}
--- a/dwt/browser.old/PromptService2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,701 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.PromptService2; - - -import Utf = tango.text.convert.Utf; - -import dwt.dwthelper.utils; - -import dwt.DWT; - -import dwt.internal.Compatibility; - -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsIAuthInformation; -import dwt.internal.mozilla.nsIChannel; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIEmbeddingSiteWindow; -import dwt.internal.mozilla.nsIMemory; -import dwt.internal.mozilla.nsIPromptService; -import dwt.internal.mozilla.nsIPromptService2; -import dwt.internal.mozilla.nsIServiceManager; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIWindowWatcher; - -import nsStringAPI = dwt.internal.mozilla.nsStringAPI; - -import dwt.widgets.MessageBox; -import dwt.widgets.Shell; - -class PromptService2 -{ - private nsrefcnt _refCount = 0; - - /************************************************************************** - - **************************************************************************/ - - this () - { - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult QueryInterface ( ref nsIID riid, void** ppvObject ) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if (riid == nsISupports.IID)) - { - *ppvObject = cast(void*)cast(nsISupports)this; - AddRef (); - return NS_OK; - } - - if ( riid == nsIPromptService.IID ) - { - *ppvObject = cast(void*)cast(nsIPromptService)this; - AddRef (); - return NS_OK; - } - - if ( riid == nsIPromptService2.IID) - { - *ppvObject = cast(void*)cast(nsIPromptService2)this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - return 0; - return refCount; - } - - /************************************************************************** - - **************************************************************************/ - - Browser getBrowser (nsIDOMWindow aDOMWindow) - { - if (aDOMWindow is null) - return null; - - nsIServiceManager serviceManager; - void* result; - - nsresult rc = XPCOM.NS_GetServiceManager (&serviceManager); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (serviceManager is null) - Mozilla.error (NS_NOINTERFACE); - - nsIWindowWatcher windowWatcher; - rc = serviceManager.GetServiceByContractID (aContractID, nsIWindowWatcher.IID, &windowWatcher); - - if (rc !is NS_OK) - Mozilla.error(rc); - if (windowWatcher is null) - Mozilla.error (NS_NOINTERFACE); - - serviceManager.Release (); - - /* the chrome will only be answered for the top-level nsIDOMWindow */ - auto window = aDOMWindow; - - rc = window.GetTop (&result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - aDOMWindow = result; - - rc = windowWatcher.GetChromeForWindow (aDOMWindow, &result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - windowWatcher.Release (); - - // This assignment should work if "result" tested valid in prior tests - auto webBrowserChrome = cast(nsIWebBrowserChrome) result; - - rc = webBrowserChrome.QueryInterface (nsIEmbeddingSiteWindow.IID, &result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - webBrowserChrome.Release (); - - auto embeddingSiteWindow = cast(nsIEmbeddingSiteWindow) result; - - rc = embeddingSiteWindow.GetSiteWindow (&result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - embeddingSiteWindow.Release (); - - return Mozilla.findBrowser (result); - } - - /************************************************************************** - - **************************************************************************/ - - String getLabel (int buttonFlag, int index, PRUnichar* buttonTitle) - { - String label = null; - int flag = (buttonFlag & (0xff * index)) / index; - - switch (flag) - { - case nsIPromptService.BUTTON_TITLE_CANCEL : - label = DWT.getMessage ("SWT_Cancel"); - break; - case nsIPromptService.BUTTON_TITLE_NO : - label = DWT.getMessage ("SWT_No"); - break; - case nsIPromptService.BUTTON_TITLE_OK : - label = DWT.getMessage ("SWT_OK"); - break; - case nsIPromptService.BUTTON_TITLE_SAVE : - label = DWT.getMessage ("SWT_Save"); - break; - case nsIPromptService.BUTTON_TITLE_YES : - label = DWT.getMessage ("SWT_Yes"); - break; - case nsIPromptService.BUTTON_TITLE_IS_STRING : - { - int span = nsStringAPI.strlen_PRUnichar (buttonTitle); - label = Utf.toString( buttonTitle[0..span] ); - } - } - return label; - } - - /************************************************************************** - - nsIPromptService - - **************************************************************************/ - - nsresult Alert (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText) - { - Browser browser = getBrowser (aParent); - - int span = nsStringAPI.strlen_PRUnichar( aDialogTitle ); - String titleLabel = Utf.toString (aDialogTitle[0..span]); - - span = nsStringAPI.strlen_PRUnichar( aText ); - String textLabel = Utf.toString( aText[0..span] ); - - Shell shell = browser is null ? new Shell () : browser.getShell (); - - auto messageBox = new MessageBox (shell, DWT.OK | DWT.ICON_WARNING); - messageBox.setText (titleLabel); - messageBox.setMessage (textLabel); - messageBox.open (); - - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult AlertCheck ( nsIDOMWindow aParent, PRUnichar* aDialogTitle, - PRUnichar* aText, PRUnichar* aCheckMsg, PRBool* aCheckState ) - { - auto browser = getBrowser (aParent); - - int span = nsStringAPI.strlen_PRUnichar( aDialogTitle ); - String titleLabel = Utf.toString( aDialogTitle[0..span] ); - - span = nsStringAPI.strlen_PRUnichar( aText ); - String textLabel = Utf.toString( aText[0..span] ); - - span = nsStringAPI.strlen_PRUnichar( aCheckMsg ); - String checkLabel = Utf.toString( aCheckMsg[0..span] ); - - auto shell = browser is null ? new Shell () : browser.getShell (); - auto dialog = new PromptDialog( shell ); - PRBool check = *aCheckState; - dialog.alertCheck( titleLabel, textLabel, checkLabel, check ); - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, int /*long*/ checkboxLabel, int /*long*/ checkValue, int /*long*/ _retval) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - -int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - - int length = XPCOM.strlen_PRUnichar (aDialogTitle); - char[] dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - String titleLabel = new String (dest); - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - String textLabel = new String (dest); - - Shell shell = browser is null ? new Shell () : browser.getShell (); - MessageBox messageBox = new MessageBox (shell, DWT.OK | DWT.CANCEL | DWT.ICON_QUESTION); - messageBox.setText (titleLabel); - messageBox.setMessage (textLabel); - int id = messageBox.open (); - int[] result = {id is DWT.OK ? 1 : 0}; - XPCOM.memmove (_retval, result, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int ConfirmCheck (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - - /************************************************************************** - - **************************************************************************/ - -int ConfirmEx (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int aButtonFlags, int /*long*/ aButton0Title, int /*long*/ aButton1Title, int /*long*/ aButton2Title, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - - int length = XPCOM.strlen_PRUnichar (aDialogTitle); - char[] dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - String titleLabel = new String (dest); - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - String textLabel = new String (dest); - - String checkLabel = null; - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - - String button0Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_0, aButton0Title); - String button1Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_1, aButton1Title); - String button2Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_2, aButton2Title); - - int defaultIndex = 0; - if ((aButtonFlags & nsIPromptService.BUTTON_POS_1_DEFAULT) !is 0) { - defaultIndex = 1; - } else if ((aButtonFlags & nsIPromptService.BUTTON_POS_2_DEFAULT) !is 0) { - defaultIndex = 2; - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); - dialog.confirmEx (titleLabel, textLabel, checkLabel, button0Label, button1Label, button2Label, defaultIndex, check, result); - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); - XPCOM.memmove (_retval, result, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String titleLabel = null, textLabel, checkLabel = null; - String[] valueLabel = new String[1]; - char[] dest; - int length; - if (aDialogTitle !is 0) { - length = XPCOM.strlen_PRUnichar (aDialogTitle); - dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - titleLabel = new String (dest); - } - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - textLabel = new String (dest); - - int /*long*/[] valueAddr = new int /*long*/[1]; - XPCOM.memmove (valueAddr, aValue, C.PTR_SIZEOF); - if (valueAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (valueAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, valueAddr[0], length * 2); - valueLabel[0] = new String (dest); - } - - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - if (length > 0) { - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); - dialog.prompt (titleLabel, textLabel, checkLabel, valueLabel, check, result); - - XPCOM.memmove (_retval, result, 4); - if (result[0] is 1) { - /* - * User selected OK. User name and password are returned as PRUnichar values. Any default - * value that we override must be freed using the nsIMemory service. - */ - int cnt, size; - int /*long*/ ptr; - char[] buffer; - int /*long*/[] result2 = new int /*long*/[1]; - if (valueLabel[0] !is null) { - cnt = valueLabel[0].length (); - buffer = new char[cnt + 1]; - valueLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aValue, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (valueAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (valueAddr[0]); - memory.Release (); - } - } - } - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*long*/ checkboxLabel, int /*long*/ checkboxValue, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String checkLabel = null; - int[] checkValue = new int[1]; - String[] userLabel = new String[1], passLabel = new String[1]; - - String title = DWT.getMessage ("SWT_Authentication_Required"); //$NON-NLS-1$ - - if (checkboxLabel !is 0 && checkboxValue !is 0) { - int length = XPCOM.strlen_PRUnichar (checkboxLabel); - char[] dest = new char[length]; - XPCOM.memmove (dest, checkboxLabel, length * 2); - checkLabel = new String (dest); - XPCOM.memmove (checkValue, checkboxValue, 4); /* PRBool */ - } - - /* get initial username and password values */ - - nsIAuthInformation auth = new nsIAuthInformation (authInfo); - - int /*long*/ ptr = XPCOM.nsEmbedString_new (); - int rc = auth.GetUsername (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - int length = XPCOM.nsEmbedString_Length (ptr); - int /*long*/ buffer = XPCOM.nsEmbedString_get (ptr); - char[] chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - userLabel[0] = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - ptr = XPCOM.nsEmbedString_new (); - rc = auth.GetPassword (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedString_Length (ptr); - buffer = XPCOM.nsEmbedString_get (ptr); - chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - passLabel[0] = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - /* compute the message text */ - - ptr = XPCOM.nsEmbedString_new (); - rc = auth.GetRealm (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedString_Length (ptr); - buffer = XPCOM.nsEmbedString_get (ptr); - chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - String realm = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - nsIChannel channel = new nsIChannel (aChannel); - int /*long*/[] uri = new int /*long*/[1]; - rc = channel.GetURI (uri); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (uri[0] is 0) Mozilla.error (XPCOM.NS_NOINTERFACE); - - nsIURI nsURI = new nsIURI (uri[0]); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - rc = nsURI.GetHost (aSpec); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedCString_Length (aSpec); - buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] bytes = new byte[length]; - XPCOM.memmove (bytes, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String host = new String (bytes); - nsURI.Release (); - - String message; - if (realm.length () > 0 && host.length () > 0) { - message = Compatibility.getMessage ("SWT_Enter_Username_and_Password", new String[] {realm, host}); //$NON-NLS-1$ - } else { - message = ""; //$NON-NLS-1$ - } - - /* open the prompter */ - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] result = new int[1]; - dialog.promptUsernameAndPassword (title, message, checkLabel, userLabel, passLabel, checkValue, result); - - XPCOM.memmove (_retval, result, 4); /* PRBool */ - if (result[0] is 1) { /* User selected OK */ - nsEmbedString string = new nsEmbedString (userLabel[0]); - rc = auth.SetUsername(string.getAddress ()); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - string.dispose (); - - string = new nsEmbedString (passLabel[0]); - rc = auth.SetPassword(string.getAddress ()); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - string.dispose (); - } - - if (checkboxValue !is 0) XPCOM.memmove (checkboxValue, checkValue, 4); /* PRBool */ - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aUsername, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String titleLabel, textLabel, checkLabel = null; - String[] userLabel = new String[1], passLabel = new String[1]; - char[] dest; - int length; - if (aDialogTitle !is 0) { - length = XPCOM.strlen_PRUnichar (aDialogTitle); - dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - titleLabel = new String (dest); - } else { - titleLabel = DWT.getMessage ("SWT_Authentication_Required"); //$NON-NLS-1$ - } - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - textLabel = new String (dest); - - int /*long*/[] userAddr = new int /*long*/[1]; - XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF); - if (userAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (userAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, userAddr[0], length * 2); - userLabel[0] = new String (dest); - } - - int /*long*/[] passAddr = new int /*long*/[1]; - XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF); - if (passAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (passAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, passAddr[0], length * 2); - passLabel[0] = new String (dest); - } - - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - if (length > 0) { - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); /* PRBool */ - dialog.promptUsernameAndPassword (titleLabel, textLabel, checkLabel, userLabel, passLabel, check, result); - - XPCOM.memmove (_retval, result, 4); /* PRBool */ - if (result[0] is 1) { - /* - * User selected OK. User name and password are returned as PRUnichar values. Any default - * value that we override must be freed using the nsIMemory service. - */ - int cnt, size; - int /*long*/ ptr; - char[] buffer; - int /*long*/[] result2 = new int /*long*/[1]; - if (userLabel[0] !is null) { - cnt = userLabel[0].length (); - buffer = new char[cnt + 1]; - userLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aUsername, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (userAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (userAddr[0]); - memory.Release (); - } - } - if (passLabel[0] !is null) { - cnt = passLabel[0].length (); - buffer = new char[cnt + 1]; - passLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aPassword, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (passAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (passAddr[0]); - memory.Release (); - } - } - } - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); /* PRBool */ - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - - int PromptPassword (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - int Select (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int aCount, int /*long*/ aSelectList, int /*long*/ aOutSelection, int /*long*/ _retval) - { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; - } - -}
--- a/dwt/browser.old/PromptService2.d~ Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,701 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.PromptService2; - - -import Utf = tango.text.convert.Utf; - -import dwt.dwthelper.utils; - -import dwt.DWT; - -import dwt.internal.Compatibility; - -import dwt.internal.mozilla.nsEmbedString; -import dwt.internal.mozilla.nsIAuthInformation; -import dwt.internal.mozilla.nsIChannel; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIEmbeddingSiteWindow; -import dwt.internal.mozilla.nsIMemory; -import dwt.internal.mozilla.nsIPromptService; -import dwt.internal.mozilla.nsIPromptService2; -import dwt.internal.mozilla.nsIServiceManager; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIWindowWatcher; - -import nsStringAPI = dwt.internal.mozilla.nsStringAPI; - -import dwt.widgets.MessageBox; -import dwt.widgets.Shell; - -class PromptService2 -{ - private nsrefcnt _refCount = 0; - - /************************************************************************** - - **************************************************************************/ - - this () - { - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt AddRef () - { - _refCount++; - return _refCount; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult QueryInterface ( ref nsIID riid, void** ppvObject ) - { - if (riid is null || ppvObject is null) - return NS_ERROR_NO_INTERFACE; - - if (riid == nsISupports.IID)) - { - *ppvObject = cast(void*)cast(nsISupports)this; - AddRef (); - return NS_OK; - } - - if ( riid == nsIPromptService.IID ) - { - *ppvObject = cast(void*)cast(nsIPromptService)this; - AddRef (); - return NS_OK; - } - - if ( riid == nsIPromptService2.IID) - { - *ppvObject = cast(void*)cast(nsIPromptService2)this; - AddRef (); - return NS_OK; - } - - *ppvObject = null; - return NS_ERROR_NO_INTERFACE; - } - - /************************************************************************** - - **************************************************************************/ - - nsrefcnt Release () - { - _refCount--; - if (_refCount is 0) - return 0; - return refCount; - } - - /************************************************************************** - - **************************************************************************/ - - Browser getBrowser (nsIDOMWindow aDOMWindow) - { - if (aDOMWindow is null) - return null; - - nsIServiceManager serviceManager; - void* result; - - nsresult rc = XPCOM.NS_GetServiceManager (&serviceManager); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (serviceManager is null) - Mozilla.error (NS_NOINTERFACE); - - nsIWindowWatcher windowWatcher; - rc = serviceManager.GetServiceByContractID (aContractID, nsIWindowWatcher.IID, &windowWatcher); - - if (rc !is NS_OK) - Mozilla.error(rc); - if (windowWatcher is null) - Mozilla.error (NS_NOINTERFACE); - - serviceManager.Release (); - - /* the chrome will only be answered for the top-level nsIDOMWindow */ - auto window = aDOMWindow; - - rc = window.GetTop (&result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - aDOMWindow = result; - - rc = windowWatcher.GetChromeForWindow (aDOMWindow, &result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - windowWatcher.Release (); - - // This assignment should work if "result" tested valid in prior tests - auto webBrowserChrome = cast(nsIWebBrowserChrome) result; - - rc = webBrowserChrome.QueryInterface (nsIEmbeddingSiteWindow.IID, &result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - webBrowserChrome.Release (); - - auto embeddingSiteWindow = cast(nsIEmbeddingSiteWindow) result; - - rc = embeddingSiteWindow.GetSiteWindow (&result); - - if (rc !is NS_OK) - Mozilla.error (rc); - if (result is null) - Mozilla.error (NS_NOINTERFACE); - - embeddingSiteWindow.Release (); - - return Mozilla.findBrowser (result); - } - - /************************************************************************** - - **************************************************************************/ - - String getLabel (int buttonFlag, int index, PRUnichar* buttonTitle) - { - String label = null; - int flag = (buttonFlag & (0xff * index)) / index; - - switch (flag) - { - case nsIPromptService.BUTTON_TITLE_CANCEL : - label = DWT.getMessage ("SWT_Cancel"); - break; - case nsIPromptService.BUTTON_TITLE_NO : - label = DWT.getMessage ("SWT_No"); - break; - case nsIPromptService.BUTTON_TITLE_OK : - label = DWT.getMessage ("SWT_OK"); - break; - case nsIPromptService.BUTTON_TITLE_SAVE : - label = DWT.getMessage ("SWT_Save"); - break; - case nsIPromptService.BUTTON_TITLE_YES : - label = DWT.getMessage ("SWT_Yes"); - break; - case nsIPromptService.BUTTON_TITLE_IS_STRING : - { - int span = nsStringAPI.strlen_PRUnichar (buttonTitle); - label = Utf.toString( buttonTitle[0..span] ); - } - } - return label; - } - - /************************************************************************** - - nsIPromptService - - **************************************************************************/ - - nsresult Alert (nsIDOMWindow aParent, PRUnichar* aDialogTitle, PRUnichar* aText) - { - Browser browser = getBrowser (aParent); - - int span = nsStringAPI.strlen_PRUnichar( aDialogTitle ); - String titleLabel = Utf.toString (aDialogTitle[0..span]); - - span = nsStringAPI.strlen_PRUnichar( aText ); - String textLabel = Utf.toString( aText[0..span] ); - - Shell shell = browser is null ? new Shell () : browser.getShell (); - - auto messageBox = new MessageBox (shell, DWT.OK | DWT.ICON_WARNING); - messageBox.setText (titleLabel); - messageBox.setMessage (textLabel); - messageBox.open (); - - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - nsresult AlertCheck ( nsIDOMWindow aParent, PRUnichar* aDialogTitle, - PRUnichar* aText, PRUnichar* aCheckMsg, PRBool* aCheckState ) - { - auto browser = getBrowser (aParent); - - int span = nsStringAPI.strlen_PRUnichar( aDialogTitle ); - String titleLabel = Utf.toString( aDialogTitle[0..span] ); - - span = nsStringAPI.strlen_PRUnichar( aText ); - String textLabel = Utf.toString( aText[0..span] ); - - span = nsStringAPI.strlen_PRUnichar( aCheckMsg ); - String checkLabel = Utf.toString( aCheckMsg[0..span] ); - - auto shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog( shell ); - PRBool check = *aCheckState; - dialog.alertCheck( titleLabel, textLabel, checkLabel, check ); - return NS_OK; - } - - /************************************************************************** - - **************************************************************************/ - - int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, int /*long*/ checkboxLabel, int /*long*/ checkValue, int /*long*/ _retval) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - -int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - - int length = XPCOM.strlen_PRUnichar (aDialogTitle); - char[] dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - String titleLabel = new String (dest); - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - String textLabel = new String (dest); - - Shell shell = browser is null ? new Shell () : browser.getShell (); - MessageBox messageBox = new MessageBox (shell, DWT.OK | DWT.CANCEL | DWT.ICON_QUESTION); - messageBox.setText (titleLabel); - messageBox.setMessage (textLabel); - int id = messageBox.open (); - int[] result = {id is DWT.OK ? 1 : 0}; - XPCOM.memmove (_retval, result, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int ConfirmCheck (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} - - /************************************************************************** - - **************************************************************************/ - -int ConfirmEx (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int aButtonFlags, int /*long*/ aButton0Title, int /*long*/ aButton1Title, int /*long*/ aButton2Title, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - - int length = XPCOM.strlen_PRUnichar (aDialogTitle); - char[] dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - String titleLabel = new String (dest); - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - String textLabel = new String (dest); - - String checkLabel = null; - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - - String button0Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_0, aButton0Title); - String button1Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_1, aButton1Title); - String button2Label = getLabel (aButtonFlags, nsIPromptService.BUTTON_POS_2, aButton2Title); - - int defaultIndex = 0; - if ((aButtonFlags & nsIPromptService.BUTTON_POS_1_DEFAULT) !is 0) { - defaultIndex = 1; - } else if ((aButtonFlags & nsIPromptService.BUTTON_POS_2_DEFAULT) !is 0) { - defaultIndex = 2; - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); - dialog.confirmEx (titleLabel, textLabel, checkLabel, button0Label, button1Label, button2Label, defaultIndex, check, result); - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); - XPCOM.memmove (_retval, result, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String titleLabel = null, textLabel, checkLabel = null; - String[] valueLabel = new String[1]; - char[] dest; - int length; - if (aDialogTitle !is 0) { - length = XPCOM.strlen_PRUnichar (aDialogTitle); - dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - titleLabel = new String (dest); - } - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - textLabel = new String (dest); - - int /*long*/[] valueAddr = new int /*long*/[1]; - XPCOM.memmove (valueAddr, aValue, C.PTR_SIZEOF); - if (valueAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (valueAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, valueAddr[0], length * 2); - valueLabel[0] = new String (dest); - } - - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - if (length > 0) { - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); - dialog.prompt (titleLabel, textLabel, checkLabel, valueLabel, check, result); - - XPCOM.memmove (_retval, result, 4); - if (result[0] is 1) { - /* - * User selected OK. User name and password are returned as PRUnichar values. Any default - * value that we override must be freed using the nsIMemory service. - */ - int cnt, size; - int /*long*/ ptr; - char[] buffer; - int /*long*/[] result2 = new int /*long*/[1]; - if (valueLabel[0] !is null) { - cnt = valueLabel[0].length (); - buffer = new char[cnt + 1]; - valueLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aValue, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (valueAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (valueAddr[0]); - memory.Release (); - } - } - } - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*long*/ checkboxLabel, int /*long*/ checkboxValue, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String checkLabel = null; - int[] checkValue = new int[1]; - String[] userLabel = new String[1], passLabel = new String[1]; - - String title = DWT.getMessage ("SWT_Authentication_Required"); //$NON-NLS-1$ - - if (checkboxLabel !is 0 && checkboxValue !is 0) { - int length = XPCOM.strlen_PRUnichar (checkboxLabel); - char[] dest = new char[length]; - XPCOM.memmove (dest, checkboxLabel, length * 2); - checkLabel = new String (dest); - XPCOM.memmove (checkValue, checkboxValue, 4); /* PRBool */ - } - - /* get initial username and password values */ - - nsIAuthInformation auth = new nsIAuthInformation (authInfo); - - int /*long*/ ptr = XPCOM.nsEmbedString_new (); - int rc = auth.GetUsername (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - int length = XPCOM.nsEmbedString_Length (ptr); - int /*long*/ buffer = XPCOM.nsEmbedString_get (ptr); - char[] chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - userLabel[0] = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - ptr = XPCOM.nsEmbedString_new (); - rc = auth.GetPassword (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedString_Length (ptr); - buffer = XPCOM.nsEmbedString_get (ptr); - chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - passLabel[0] = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - /* compute the message text */ - - ptr = XPCOM.nsEmbedString_new (); - rc = auth.GetRealm (ptr); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedString_Length (ptr); - buffer = XPCOM.nsEmbedString_get (ptr); - chars = new char[length]; - XPCOM.memmove (chars, buffer, length * 2); - String realm = new String (chars); - XPCOM.nsEmbedString_delete (ptr); - - nsIChannel channel = new nsIChannel (aChannel); - int /*long*/[] uri = new int /*long*/[1]; - rc = channel.GetURI (uri); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (uri[0] is 0) Mozilla.error (XPCOM.NS_NOINTERFACE); - - nsIURI nsURI = new nsIURI (uri[0]); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - rc = nsURI.GetHost (aSpec); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - length = XPCOM.nsEmbedCString_Length (aSpec); - buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] bytes = new byte[length]; - XPCOM.memmove (bytes, buffer, length); - XPCOM.nsEmbedCString_delete (aSpec); - String host = new String (bytes); - nsURI.Release (); - - String message; - if (realm.length () > 0 && host.length () > 0) { - message = Compatibility.getMessage ("SWT_Enter_Username_and_Password", new String[] {realm, host}); //$NON-NLS-1$ - } else { - message = ""; //$NON-NLS-1$ - } - - /* open the prompter */ - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] result = new int[1]; - dialog.promptUsernameAndPassword (title, message, checkLabel, userLabel, passLabel, checkValue, result); - - XPCOM.memmove (_retval, result, 4); /* PRBool */ - if (result[0] is 1) { /* User selected OK */ - nsEmbedString string = new nsEmbedString (userLabel[0]); - rc = auth.SetUsername(string.getAddress ()); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - string.dispose (); - - string = new nsEmbedString (passLabel[0]); - rc = auth.SetPassword(string.getAddress ()); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - string.dispose (); - } - - if (checkboxValue !is 0) XPCOM.memmove (checkboxValue, checkValue, 4); /* PRBool */ - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - -int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aUsername, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) { - Browser browser = getBrowser (aParent); - String titleLabel, textLabel, checkLabel = null; - String[] userLabel = new String[1], passLabel = new String[1]; - char[] dest; - int length; - if (aDialogTitle !is 0) { - length = XPCOM.strlen_PRUnichar (aDialogTitle); - dest = new char[length]; - XPCOM.memmove (dest, aDialogTitle, length * 2); - titleLabel = new String (dest); - } else { - titleLabel = DWT.getMessage ("SWT_Authentication_Required"); //$NON-NLS-1$ - } - - length = XPCOM.strlen_PRUnichar (aText); - dest = new char[length]; - XPCOM.memmove (dest, aText, length * 2); - textLabel = new String (dest); - - int /*long*/[] userAddr = new int /*long*/[1]; - XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF); - if (userAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (userAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, userAddr[0], length * 2); - userLabel[0] = new String (dest); - } - - int /*long*/[] passAddr = new int /*long*/[1]; - XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF); - if (passAddr[0] !is 0) { - length = XPCOM.strlen_PRUnichar (passAddr[0]); - dest = new char[length]; - XPCOM.memmove (dest, passAddr[0], length * 2); - passLabel[0] = new String (dest); - } - - if (aCheckMsg !is 0) { - length = XPCOM.strlen_PRUnichar (aCheckMsg); - if (length > 0) { - dest = new char[length]; - XPCOM.memmove (dest, aCheckMsg, length * 2); - checkLabel = new String (dest); - } - } - - Shell shell = browser is null ? new Shell () : browser.getShell (); - PromptDialog dialog = new PromptDialog (shell); - int[] check = new int[1], result = new int[1]; - if (aCheckState !is 0) XPCOM.memmove (check, aCheckState, 4); /* PRBool */ - dialog.promptUsernameAndPassword (titleLabel, textLabel, checkLabel, userLabel, passLabel, check, result); - - XPCOM.memmove (_retval, result, 4); /* PRBool */ - if (result[0] is 1) { - /* - * User selected OK. User name and password are returned as PRUnichar values. Any default - * value that we override must be freed using the nsIMemory service. - */ - int cnt, size; - int /*long*/ ptr; - char[] buffer; - int /*long*/[] result2 = new int /*long*/[1]; - if (userLabel[0] !is null) { - cnt = userLabel[0].length (); - buffer = new char[cnt + 1]; - userLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aUsername, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (userAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (userAddr[0]); - memory.Release (); - } - } - if (passLabel[0] !is null) { - cnt = passLabel[0].length (); - buffer = new char[cnt + 1]; - passLabel[0].getChars (0, cnt, buffer, 0); - size = buffer.length * 2; - ptr = C.malloc (size); - XPCOM.memmove (ptr, buffer, size); - XPCOM.memmove (aPassword, new int /*long*/[] {ptr}, C.PTR_SIZEOF); - - if (passAddr[0] !is 0) { - int rc = XPCOM.NS_GetServiceManager (result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - - nsIServiceManager serviceManager = new nsIServiceManager (result2[0]); - result2[0] = 0; - byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MEMORY_CONTRACTID, true); - rc = serviceManager.GetServiceByContractID (aContractID, nsIMemory.NS_IMEMORY_IID, result2); - if (rc !is XPCOM.NS_OK) DWT.error (rc); - if (result2[0] is 0) DWT.error (XPCOM.NS_NOINTERFACE); - serviceManager.Release (); - - nsIMemory memory = new nsIMemory (result2[0]); - result2[0] = 0; - memory.Free (passAddr[0]); - memory.Release (); - } - } - } - if (aCheckState !is 0) XPCOM.memmove (aCheckState, check, 4); /* PRBool */ - return XPCOM.NS_OK; -} - - /************************************************************************** - - **************************************************************************/ - - int PromptPassword (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) - { - return NS_ERROR_NOT_IMPLEMENTED; - } - - /************************************************************************** - - **************************************************************************/ - - int Select (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int aCount, int /*long*/ aSelectList, int /*long*/ aOutSelection, int /*long*/ _retval) - { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; - } - -}
--- a/dwt/browser.old/PromptService2Factory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.PromptService2Factory; - -import dwt.dwthelper.utils; - -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISupports; - -class PromptService2Factory { - XPCOMObject supports; - XPCOMObject factory; - int refCount = 0; - -PromptService2Factory () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (factory !is null) { - factory.dispose (); - factory = null; - } -} - -int /*long*/ getAddress () { - return factory.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIFactory */ - -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) { - PromptService2 promptService = new PromptService2 (); - promptService.AddRef (); - XPCOM.memmove (result, new int /*long*/[] {promptService.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} - -int LockFactory (int lock) { - return XPCOM.NS_OK; -} -}
--- a/dwt/browser.old/SimpleEnumerator.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.SimpleEnumerator; - -import dwt.dwthelper.utils; - -import dwt.internal.C; -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.XPCOMObject; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsISupports; - -class SimpleEnumerator { - XPCOMObject supports; - XPCOMObject simpleEnumerator; - int refCount = 0; - nsISupports[] values; - int index = 0; - -SimpleEnumerator (nsISupports[] values) { - this.values = values; - for (int i = 0; i < values.length; i++) { - values[i].AddRef (); - } - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - simpleEnumerator = new XPCOMObject (new int[] {2, 0, 0, 1, 1}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return HasMoreElements (args[0]);} - public int /*long*/ method4 (int /*long*/[] args) {return GetNext (args[0]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (simpleEnumerator !is null) { - simpleEnumerator.dispose (); - simpleEnumerator = null; - } - if (values !is null) { - for (int i = 0; i < values.length; i++) { - values[i].Release (); - } - values = null; - } -} - -int /*long*/ getAddress () { - return simpleEnumerator.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsISimpleEnumerator.NS_ISIMPLEENUMERATOR_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {simpleEnumerator.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -int HasMoreElements (int /*long*/ _retval) { - bool more = values !is null && index < values.length; - XPCOM.memmove (_retval, new int[] {more ? 1 : 0}, 4); /*PRBool */ - return XPCOM.NS_OK; -} - -int GetNext (int /*long*/ _retval) { - if (values is null || index is values.length) return XPCOM.NS_ERROR_UNEXPECTED; - nsISupports value = values[index++]; - value.AddRef (); - XPCOM.memmove (_retval, new int /*long*/[] {value.getAddress ()}, C.PTR_SIZEOF); - return XPCOM.NS_OK; -} -} -
--- a/dwt/browser.old/StatusTextEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.StatusTextEvent; - -import dwt.dwthelper.utils; - -import dwt.events.TypedEvent; -import dwt.widgets.Widget; - -/** - * A <code>StatusTextEvent</code> is sent by a {@link Browser} to - * {@link StatusTextListener}'s when the status text is changed. - * The status text is typically displayed in the status bar of - * a browser application. - * - * @since 3.0 - */ -public class StatusTextEvent extends TypedEvent { - /** status text */ - public String text; - - static final long serialVersionUID = 3258407348371600439L; - -StatusTextEvent(Widget w) { - super(w); -} - -/** - * Returns a string containing a concise, human-readable - * description of the receiver. - * - * @return a string representation of the event - */ -public String toString() { - String string = super.toString (); - return string.substring (0, string.length() - 1) // remove trailing '}' - + " text=" + text - + "}"; -} -}
--- a/dwt/browser.old/StatusTextListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.StatusTextListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link StatusTextEvent} notification when the status text for - * a {@link Browser} is changed. - * - * @see Browser#addStatusTextListener(StatusTextListener) - * @see Browser#removeStatusTextListener(StatusTextListener) - * - * @since 3.0 - */ -public interface StatusTextListener extends DWTEventListener { - -/** - * This method is called when the status text is changed. The - * status text is typically displayed in the status bar of a browser - * application. - * <p> - * - * <p>The following fields in the <code>StatusTextEvent</code> apply: - * <ul> - * <li>(in) text the modified status text - * <li>(in) widget the <code>Browser</code> whose status text is changed - * </ul> - * - * @param event the <code>StatusTextEvent</code> that contains the updated - * status description of a <code>Browser</code> - * - * @since 3.0 - */ -public void changed(StatusTextEvent event); -}
--- a/dwt/browser.old/TitleEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.TitleEvent; - -import dwt.dwthelper.utils; - -import dwt.events.TypedEvent; -import dwt.widgets.Widget; - -/** - * A <code>TitleEvent</code> is sent by a {@link Browser} to - * {@link TitleListener}'s when the title of the current document - * is available or when it is modified. - * - * @since 3.0 - */ -public class TitleEvent extends TypedEvent { - /** the title of the current document */ - public String title; - - static final long serialVersionUID = 4121132532906340919L; - -TitleEvent(Widget w) { - super(w); -} - -/** - * Returns a string containing a concise, human-readable - * description of the receiver. - * - * @return a string representation of the event - */ -public String toString() { - String string = super.toString (); - return string.substring (0, string.length() - 1) // remove trailing '}' - + " title=" + title - + "}"; -} -}
--- a/dwt/browser.old/TitleListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.TitleListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link TitleEvent} notification when the title of the document - * displayed in a {@link Browser} is known or has been changed. - * - * @see Browser#addTitleListener(TitleListener) - * @see Browser#removeTitleListener(TitleListener) - * - * @since 3.0 - */ -public interface TitleListener extends DWTEventListener { - -/** - * This method is called when the title of the current document - * is available or has changed. - * <p> - * - * <p>The following fields in the <code>TitleEvent</code> apply: - * <ul> - * <li>(in) title the title of the current document - * <li>(in) widget the <code>Browser</code> whose current document's - * title is known or modified - * </ul> - * - * @param event the <code>TitleEvent</code> that contains the title - * of the document currently displayed in a <code>Browser</code> - * - * @since 3.0 - */ -public void changed(TitleEvent event); -}
--- a/dwt/browser.old/VisibilityWindowAdapter.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.VisibilityWindowAdapter; - -import dwt.dwthelper.utils; - -/** - * This adapter class provides default implementations for the - * methods described by the {@link VisibilityWindowListener} interface. - * <p> - * Classes that wish to deal with {@link WindowEvent}'s can - * extend this class and override only the methods which they are - * interested in. - * </p> - * - * @since 3.0 - */ -public abstract class VisibilityWindowAdapter implements VisibilityWindowListener { - -public void hide(WindowEvent event) { -} - -public void show(WindowEvent event) { -} -}
--- a/dwt/browser.old/VisibilityWindowListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.VisibilityWindowListener; - -import dwt.dwthelper.utils; - -import dwt.internal.DWTEventListener; - -/** - * This listener interface may be implemented in order to receive - * a {@link WindowEvent} notification when a window hosting a - * {@link Browser} needs to be displayed or hidden. - * - * @see Browser#addVisibilityWindowListener(VisibilityWindowListener) - * @see Browser#removeVisibilityWindowListener(VisibilityWindowListener) - * @see OpenWindowListener - * @see CloseWindowListener - * - * @since 3.0 - */ -public interface VisibilityWindowListener extends DWTEventListener { - -/** - * This method is called when the window hosting a <code>Browser</code> - * is requested to be hidden. Application would typically hide the - * {@link dwt.widgets.Shell} that hosts the <code>Browser</code>. - * <p> - * - * <p>The following fields in the <code>WindowEvent</code> apply: - * <ul> - * <li>(in) widget the <code>Browser</code> that needs to be hidden - * </ul> - * - * @param event the <code>WindowEvent</code> that specifies the - * <code>Browser</code> that needs to be hidden - * - * @see dwt.widgets.Shell#setVisible(bool) - * - * @since 3.0 - */ -public void hide(WindowEvent event); - -/** - * This method is called when the window hosting a <code>Browser</code> - * is requested to be displayed. Application would typically set the - * location and the size of the {@link dwt.widgets.Shell} - * that hosts the <code>Browser</code>, if a particular location and size - * are specified. The application would then open that <code>Shell</code>. - * <p> - * - * <p>The following fields in the <code>WindowEvent</code> apply: - * <ul> - * <li>(in) widget the <code>Browser</code> to display - * <li>(in) location the requested location for the <code>Shell</code> - * hosting the browser. It is <code>null</code> if no location is set. - * <li>(in) size the requested size for the <code>Browser</code>. - * The client area of the <code>Shell</code> hosting the - * <code>Browser</code> should be large enough to accommodate that size. - * It is <code>null</code> if no size is set. - * <li>(in) addressBar <code>true</code> if the <code>Shell</code> - * hosting the <code>Browser</code> should display an address bar or - * <code>false</code> otherwise - * <li>(in) menuBar <code>true</code> if the <code>Shell</code> - * hosting the <code>Browser</code> should display a menu bar or - * <code>false</code> otherwise - * <li>(in) statusBar <code>true</code> if the <code>Shell</code> - * hosting the <code>Browser</code> should display a status bar or - * <code>false</code> otherwise - * <li>(in) toolBar <code>true</code> if the <code>Shell</code> - * hosting the <code>Browser</code> should display a tool bar or - * <code>false</code> otherwise - * </ul> - * - * @param event the <code>WindowEvent</code> that specifies the - * <code>Browser</code> that needs to be displayed - * - * @see dwt.widgets.Control#setLocation(dwt.graphics.Point) - * @see dwt.widgets.Control#setSize(dwt.graphics.Point) - * @see dwt.widgets.Shell#open() - * - * @since 3.0 - */ -public void show(WindowEvent event); - -}
--- a/dwt/browser.old/WebBrowser.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,403 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -module dwt.browser.WebBrowser; - -import dwt.dwthelper.utils; - -import dwt.DWT; -import dwt.widgets.Composite; - -abstract class WebBrowser { - Browser browser; - CloseWindowListener[] closeWindowListeners = new CloseWindowListener[0]; - LocationListener[] locationListeners = new LocationListener[0]; - OpenWindowListener[] openWindowListeners = new OpenWindowListener[0]; - ProgressListener[] progressListeners = new ProgressListener[0]; - StatusTextListener[] statusTextListeners = new StatusTextListener[0]; - TitleListener[] titleListeners = new TitleListener[0]; - VisibilityWindowListener[] visibilityWindowListeners = new VisibilityWindowListener[0]; - - static Runnable MozillaClearSessions; - static Runnable NativeClearSessions; - - /* Key Mappings */ - static final int [][] KeyTable = { - /* Keyboard and Mouse Masks */ - {18, DWT.ALT}, - {16, DWT.SHIFT}, - {17, DWT.CONTROL}, - {224, DWT.COMMAND}, - - /* Literal Keys */ - {65, 'a'}, - {66, 'b'}, - {67, 'c'}, - {68, 'd'}, - {69, 'e'}, - {70, 'f'}, - {71, 'g'}, - {72, 'h'}, - {73, 'i'}, - {74, 'j'}, - {75, 'k'}, - {76, 'l'}, - {77, 'm'}, - {78, 'n'}, - {79, 'o'}, - {80, 'p'}, - {81, 'q'}, - {82, 'r'}, - {83, 's'}, - {84, 't'}, - {85, 'u'}, - {86, 'v'}, - {87, 'w'}, - {88, 'x'}, - {89, 'y'}, - {90, 'z'}, - {48, '0'}, - {49, '1'}, - {50, '2'}, - {51, '3'}, - {52, '4'}, - {53, '5'}, - {54, '6'}, - {55, '7'}, - {56, '8'}, - {57, '9'}, - {32, ' '}, - {59, ';'}, - {61, '='}, - {188, ','}, - {190, '.'}, - {191, '/'}, - {219, '['}, - {221, ']'}, - {222, '\''}, - {192, '`'}, - {220, '\\'}, - {108, '|'}, - - /* Non-Numeric Keypad Keys */ - {37, DWT.ARROW_LEFT}, - {39, DWT.ARROW_RIGHT}, - {38, DWT.ARROW_UP}, - {40, DWT.ARROW_DOWN}, - {45, DWT.INSERT}, - {36, DWT.HOME}, - {35, DWT.END}, - {46, DWT.DEL}, - {33, DWT.PAGE_UP}, - {34, DWT.PAGE_DOWN}, - - /* Virtual and Ascii Keys */ - {8, DWT.BS}, - {13, DWT.CR}, - {9, DWT.TAB}, - {27, DWT.ESC}, - {12, DWT.DEL}, - - /* Functions Keys */ - {112, DWT.F1}, - {113, DWT.F2}, - {114, DWT.F3}, - {115, DWT.F4}, - {116, DWT.F5}, - {117, DWT.F6}, - {118, DWT.F7}, - {119, DWT.F8}, - {120, DWT.F9}, - {121, DWT.F10}, - {122, DWT.F11}, - {123, DWT.F12}, - {124, DWT.F13}, - {125, DWT.F14}, - {126, DWT.F15}, - {127, 0}, - {128, 0}, - {129, 0}, - {130, 0}, - {131, 0}, - {132, 0}, - {133, 0}, - {134, 0}, - {135, 0}, - - /* Numeric Keypad Keys */ - {96, DWT.KEYPAD_0}, - {97, DWT.KEYPAD_1}, - {98, DWT.KEYPAD_2}, - {99, DWT.KEYPAD_3}, - {100, DWT.KEYPAD_4}, - {101, DWT.KEYPAD_5}, - {102, DWT.KEYPAD_6}, - {103, DWT.KEYPAD_7}, - {104, DWT.KEYPAD_8}, - {105, DWT.KEYPAD_9}, - {14, DWT.KEYPAD_CR}, - {107, DWT.KEYPAD_ADD}, - {109, DWT.KEYPAD_SUBTRACT}, - {106, DWT.KEYPAD_MULTIPLY}, - {111, DWT.KEYPAD_DIVIDE}, - {110, DWT.KEYPAD_DECIMAL}, - - /* Other keys */ - {20, DWT.CAPS_LOCK}, - {144, DWT.NUM_LOCK}, - {145, DWT.SCROLL_LOCK}, - {44, DWT.PRINT_SCREEN}, - {6, DWT.HELP}, - {19, DWT.PAUSE}, - {3, DWT.BREAK}, - - /* Safari-specific */ - {186, ';'}, - {187, '='}, - {189, '-'}, - }; - -public void addCloseWindowListener (CloseWindowListener listener) { - CloseWindowListener[] newCloseWindowListeners = new CloseWindowListener[closeWindowListeners.length + 1]; - System.arraycopy(closeWindowListeners, 0, newCloseWindowListeners, 0, closeWindowListeners.length); - closeWindowListeners = newCloseWindowListeners; - closeWindowListeners[closeWindowListeners.length - 1] = listener; -} - -public void addLocationListener (LocationListener listener) { - LocationListener[] newLocationListeners = new LocationListener[locationListeners.length + 1]; - System.arraycopy(locationListeners, 0, newLocationListeners, 0, locationListeners.length); - locationListeners = newLocationListeners; - locationListeners[locationListeners.length - 1] = listener; -} - -public void addOpenWindowListener (OpenWindowListener listener) { - OpenWindowListener[] newOpenWindowListeners = new OpenWindowListener[openWindowListeners.length + 1]; - System.arraycopy(openWindowListeners, 0, newOpenWindowListeners, 0, openWindowListeners.length); - openWindowListeners = newOpenWindowListeners; - openWindowListeners[openWindowListeners.length - 1] = listener; -} - -public void addProgressListener (ProgressListener listener) { - ProgressListener[] newProgressListeners = new ProgressListener[progressListeners.length + 1]; - System.arraycopy(progressListeners, 0, newProgressListeners, 0, progressListeners.length); - progressListeners = newProgressListeners; - progressListeners[progressListeners.length - 1] = listener; -} - -public void addStatusTextListener (StatusTextListener listener) { - StatusTextListener[] newStatusTextListeners = new StatusTextListener[statusTextListeners.length + 1]; - System.arraycopy(statusTextListeners, 0, newStatusTextListeners, 0, statusTextListeners.length); - statusTextListeners = newStatusTextListeners; - statusTextListeners[statusTextListeners.length - 1] = listener; -} - -public void addTitleListener (TitleListener listener) { - TitleListener[] newTitleListeners = new TitleListener[titleListeners.length + 1]; - System.arraycopy(titleListeners, 0, newTitleListeners, 0, titleListeners.length); - titleListeners = newTitleListeners; - titleListeners[titleListeners.length - 1] = listener; -} - -public void addVisibilityWindowListener (VisibilityWindowListener listener) { - VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length + 1]; - System.arraycopy(visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, visibilityWindowListeners.length); - visibilityWindowListeners = newVisibilityWindowListeners; - visibilityWindowListeners[visibilityWindowListeners.length - 1] = listener; -} - -public abstract bool back (); - -public static void clearSessions () { - if (NativeClearSessions !is null) NativeClearSessions.run (); - if (MozillaClearSessions !is null) MozillaClearSessions.run (); -} - -public abstract void create (Composite parent, int style); - -public abstract bool execute (String script); - -public abstract bool forward (); - -public abstract String getText (); - -public abstract String getUrl (); - -public Object getWebBrowser () { - return null; -} - -public abstract bool isBackEnabled (); - -public bool isFocusControl () { - return false; -} - -public abstract bool isForwardEnabled (); - -public abstract void refresh (); - -public void removeCloseWindowListener (CloseWindowListener listener) { - if (closeWindowListeners.length is 0) return; - int index = -1; - for (int i = 0; i < closeWindowListeners.length; i++) { - if (listener is closeWindowListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (closeWindowListeners.length is 1) { - closeWindowListeners = new CloseWindowListener[0]; - return; - } - CloseWindowListener[] newCloseWindowListeners = new CloseWindowListener[closeWindowListeners.length - 1]; - System.arraycopy (closeWindowListeners, 0, newCloseWindowListeners, 0, index); - System.arraycopy (closeWindowListeners, index + 1, newCloseWindowListeners, index, closeWindowListeners.length - index - 1); - closeWindowListeners = newCloseWindowListeners; -} - -public void removeLocationListener (LocationListener listener) { - if (locationListeners.length is 0) return; - int index = -1; - for (int i = 0; i < locationListeners.length; i++) { - if (listener is locationListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (locationListeners.length is 1) { - locationListeners = new LocationListener[0]; - return; - } - LocationListener[] newLocationListeners = new LocationListener[locationListeners.length - 1]; - System.arraycopy (locationListeners, 0, newLocationListeners, 0, index); - System.arraycopy (locationListeners, index + 1, newLocationListeners, index, locationListeners.length - index - 1); - locationListeners = newLocationListeners; -} - -public void removeOpenWindowListener (OpenWindowListener listener) { - if (openWindowListeners.length is 0) return; - int index = -1; - for (int i = 0; i < openWindowListeners.length; i++) { - if (listener is openWindowListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (openWindowListeners.length is 1) { - openWindowListeners = new OpenWindowListener[0]; - return; - } - OpenWindowListener[] newOpenWindowListeners = new OpenWindowListener[openWindowListeners.length - 1]; - System.arraycopy (openWindowListeners, 0, newOpenWindowListeners, 0, index); - System.arraycopy (openWindowListeners, index + 1, newOpenWindowListeners, index, openWindowListeners.length - index - 1); - openWindowListeners = newOpenWindowListeners; -} - -public void removeProgressListener (ProgressListener listener) { - if (progressListeners.length is 0) return; - int index = -1; - for (int i = 0; i < progressListeners.length; i++) { - if (listener is progressListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (progressListeners.length is 1) { - progressListeners = new ProgressListener[0]; - return; - } - ProgressListener[] newProgressListeners = new ProgressListener[progressListeners.length - 1]; - System.arraycopy (progressListeners, 0, newProgressListeners, 0, index); - System.arraycopy (progressListeners, index + 1, newProgressListeners, index, progressListeners.length - index - 1); - progressListeners = newProgressListeners; -} - -public void removeStatusTextListener (StatusTextListener listener) { - if (statusTextListeners.length is 0) return; - int index = -1; - for (int i = 0; i < statusTextListeners.length; i++) { - if (listener is statusTextListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (statusTextListeners.length is 1) { - statusTextListeners = new StatusTextListener[0]; - return; - } - StatusTextListener[] newStatusTextListeners = new StatusTextListener[statusTextListeners.length - 1]; - System.arraycopy (statusTextListeners, 0, newStatusTextListeners, 0, index); - System.arraycopy (statusTextListeners, index + 1, newStatusTextListeners, index, statusTextListeners.length - index - 1); - statusTextListeners = newStatusTextListeners; -} - -public void removeTitleListener (TitleListener listener) { - if (titleListeners.length is 0) return; - int index = -1; - for (int i = 0; i < titleListeners.length; i++) { - if (listener is titleListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (titleListeners.length is 1) { - titleListeners = new TitleListener[0]; - return; - } - TitleListener[] newTitleListeners = new TitleListener[titleListeners.length - 1]; - System.arraycopy (titleListeners, 0, newTitleListeners, 0, index); - System.arraycopy (titleListeners, index + 1, newTitleListeners, index, titleListeners.length - index - 1); - titleListeners = newTitleListeners; -} - -public void removeVisibilityWindowListener (VisibilityWindowListener listener) { - if (visibilityWindowListeners.length is 0) return; - int index = -1; - for (int i = 0; i < visibilityWindowListeners.length; i++) { - if (listener is visibilityWindowListeners[i]){ - index = i; - break; - } - } - if (index is -1) return; - if (visibilityWindowListeners.length is 1) { - visibilityWindowListeners = new VisibilityWindowListener[0]; - return; - } - VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length - 1]; - System.arraycopy (visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, index); - System.arraycopy (visibilityWindowListeners, index + 1, newVisibilityWindowListeners, index, visibilityWindowListeners.length - index - 1); - visibilityWindowListeners = newVisibilityWindowListeners; -} - -public void setBrowser (Browser browser) { - this.browser = browser; -} - -public abstract bool setText (String html); - -public abstract bool setUrl (String url); - -public abstract void stop (); - -int translateKey (int key) { - for (int i = 0; i < KeyTable.length; i++) { - if (KeyTable[i][0] is key) return KeyTable[i][1]; - } - return 0; -} -}
--- a/dwt/browser.old/WindowCreator2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.WindowCreator2; - -import dwt.dwthelper.utils; - -import dwt.internal.Platform; - -import dwt.internal.mozilla.XPCOM; -import dwt.internal.mozilla.nsIBaseWindow; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebBrowser; -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIWindowCreator; - -import dwt.DWT; -import dwt.graphics.Point; -import dwt.layout.FillLayout; -import dwt.widgets.Shell; - -class WindowCreator2 { - XPCOMObject supports; - XPCOMObject windowCreator; - XPCOMObject windowCreator2; - int refCount = 0; - -WindowCreator2 () { - createCOMInterfaces (); -} - -int AddRef () { - refCount++; - return refCount; -} - -void createCOMInterfaces () { - /* Create each of the interfaces that this object implements */ - supports = new XPCOMObject (new int[] {2, 0, 0}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - }; - - windowCreator = new XPCOMObject (new int[] {2, 0, 0, 3}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateChromeWindow (args[0], (int)/*64*/args[1], args[2]);} - }; - - windowCreator2 = new XPCOMObject (new int[] {2, 0, 0, 3, 6}) { - public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);} - public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();} - public int /*long*/ method2 (int /*long*/[] args) {return Release ();} - public int /*long*/ method3 (int /*long*/[] args) {return CreateChromeWindow (args[0], (int)/*64*/args[1], args[2]);} - public int /*long*/ method4 (int /*long*/[] args) {return CreateChromeWindow2 (args[0], (int)/*64*/args[1], (int)/*64*/args[2], args[3], args[4], args[5]);} - }; -} - -void disposeCOMInterfaces () { - if (supports !is null) { - supports.dispose (); - supports = null; - } - if (windowCreator !is null) { - windowCreator.dispose (); - windowCreator = null; - } - - if (windowCreator2 !is null) { - windowCreator2.dispose (); - windowCreator2 = null; - } -} - -int /*long*/ getAddress () { - return windowCreator.getAddress (); -} - -int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) { - if (riid is 0 || ppvObject is 0) return XPCOM.NS_ERROR_NO_INTERFACE; - nsID guid = new nsID (); - XPCOM.memmove (guid, riid, nsID.sizeof); - - if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWindowCreator.NS_IWINDOWCREATOR_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {windowCreator.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - if (guid.Equals (nsIWindowCreator2.NS_IWINDOWCREATOR2_IID)) { - XPCOM.memmove (ppvObject, new int /*long*/[] {windowCreator2.getAddress ()}, C.PTR_SIZEOF); - AddRef (); - return XPCOM.NS_OK; - } - - XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF); - return XPCOM.NS_ERROR_NO_INTERFACE; -} - -int Release () { - refCount--; - if (refCount is 0) disposeCOMInterfaces (); - return refCount; -} - -/* nsIWindowCreator */ - -int CreateChromeWindow (int /*long*/ parent, int chromeFlags, int /*long*/ _retval) { - return CreateChromeWindow2 (parent, chromeFlags, 0, 0, 0, _retval); -} - -/* nsIWindowCreator2 */ - -int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags, int /*long*/ uri, int /*long*/ cancel, int /*long*/ _retval) { - if (parent is 0 && (chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) is 0) { - return XPCOM.NS_ERROR_NOT_IMPLEMENTED; - } - Browser src = null; - if (parent !is 0) { - nsIWebBrowserChrome browserChromeParent = new nsIWebBrowserChrome (parent); - int /*long*/[] aWebBrowser = new int /*long*/[1]; - int rc = browserChromeParent.GetWebBrowser (aWebBrowser); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (aWebBrowser[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - - nsIWebBrowser webBrowser = new nsIWebBrowser (aWebBrowser[0]); - int /*long*/[] result = new int /*long*/[1]; - rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (result[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - webBrowser.Release (); - - nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]); - result[0] = 0; - int /*long*/[] aParentNativeWindow = new int /*long*/[1]; - rc = baseWindow.GetParentNativeWindow (aParentNativeWindow); - if (rc !is XPCOM.NS_OK) Mozilla.error (rc); - if (aParentNativeWindow[0] is 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE); - baseWindow.Release (); - - src = Mozilla.findBrowser (aParentNativeWindow[0]); - } - final Browser browser; - bool doit = true; - if ((chromeFlags & nsIWebBrowserChrome.CHROME_OPENAS_CHROME) !is 0) { - /* - * Mozilla will request a new Browser in a modal window in order to emulate a native - * dialog that is not available to it (eg.- a print dialog on Linux). For this - * reason modal requests are handled here so that the user is not exposed to them. - */ - int style = DWT.DIALOG_TRIM; - if ((chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) !is 0) style |= DWT.APPLICATION_MODAL; - final Shell shell = src is null ? - new Shell (style) : - new Shell (src.getShell(), style); - shell.setLayout (new FillLayout ()); - browser = new Browser (shell, src is null ? DWT.MOZILLA : src.getStyle () & DWT.MOZILLA); - browser.addVisibilityWindowListener (new VisibilityWindowListener () { - public void hide (WindowEvent event) { - } - public void show (WindowEvent event) { - if (event.location !is null) shell.setLocation (event.location); - if (event.size !is null) { - Point size = event.size; - shell.setSize (shell.computeSize (size.x, size.y)); - } - shell.open (); - } - }); - browser.addCloseWindowListener (new CloseWindowListener () { - public void close (WindowEvent event) { - shell.close (); - } - }); - if (uri !is 0) { - nsIURI location = new nsIURI (uri); - int /*long*/ aSpec = XPCOM.nsEmbedCString_new (); - if (location.GetSpec (aSpec) is XPCOM.NS_OK) { - int length = XPCOM.nsEmbedCString_Length (aSpec); - if (length > 0) { - int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec); - byte[] dest = new byte[length]; - XPCOM.memmove (dest, buffer, length); - browser.setUrl (new String (dest)); - } - } - XPCOM.nsEmbedCString_delete (aSpec); - } - } else { - WindowEvent event = new WindowEvent (src); - event.display = src.getDisplay (); - event.widget = src; - event.required = true; - for (int i = 0; i < src.webBrowser.openWindowListeners.length; i++) { - src.webBrowser.openWindowListeners[i].open (event); - } - browser = event.browser; - - /* Ensure that the Browser provided by the client is valid for use */ - doit = browser !is null && !browser.isDisposed (); - if (doit) { - String platform = Platform.PLATFORM; - bool isMozillaNativePlatform = platform.equals ("gtk") || platform.equals ("motif"); //$NON-NLS-1$ //$NON-NLS-2$ - doit = isMozillaNativePlatform || (browser.getStyle () & DWT.MOZILLA) !is 0; - } - } - if (doit) { - Mozilla mozilla = (Mozilla)browser.webBrowser; - mozilla.isChild = true; - int /*long*/ chromePtr = mozilla.webBrowserChrome.getAddress (); - nsIWebBrowserChrome webBrowserChrome = new nsIWebBrowserChrome (chromePtr); - webBrowserChrome.SetChromeFlags (chromeFlags); - webBrowserChrome.AddRef (); - XPCOM.memmove (_retval, new int /*long*/[] {chromePtr}, C.PTR_SIZEOF); - } else { - if (cancel !is 0) { - C.memmove (cancel, new int[] {1}, 4); /* PRBool */ - } - } - return doit ? XPCOM.NS_OK : XPCOM.NS_ERROR_NOT_IMPLEMENTED; -} -}
--- a/dwt/browser.old/WindowEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - *******************************************************************************/ -module dwt.browser.WindowEvent; - -import dwt.dwthelper.utils; - -import dwt.events.TypedEvent; -import dwt.graphics.Point; -import dwt.widgets.Widget; - -/** - * A <code>WindowEvent</code> is sent by a {@link Browser} when - * a new window needs to be created or when an existing window needs to be - * closed. This notification occurs when a javascript command such as - * <code>window.open</code> or <code>window.close</code> gets executed by - * a <code>Browser</code>. - * - * <p> - * The following example shows how <code>WindowEvent</code>'s are typically - * handled. - * - * <code><pre> - * public static void main(String[] args) { - * Display display = new Display(); - * Shell shell = new Shell(display); - * shell.setText("Main Window"); - * shell.setLayout(new FillLayout()); - * Browser browser = new Browser(shell, DWT.NONE); - * initialize(display, browser); - * shell.open(); - * browser.setUrl("http://www.eclipse.org"); - * while (!shell.isDisposed()) { - * if (!display.readAndDispatch()) - * display.sleep(); - * } - * display.dispose(); - * } - * - * static void initialize(final Display display, Browser browser) { - * browser.addOpenWindowListener(new OpenWindowListener() { - * public void open(WindowEvent event) { - * // Certain platforms can provide a default full browser. - * // simply return in that case if the application prefers - * // the default full browser to the embedded one set below. - * if (!event.required) return; - * - * // Embed the new window - * Shell shell = new Shell(display); - * shell.setText("New Window"); - * shell.setLayout(new FillLayout()); - * Browser browser = new Browser(shell, DWT.NONE); - * initialize(display, browser); - * event.browser = browser; - * } - * }); - * browser.addVisibilityWindowListener(new VisibilityWindowListener() { - * public void hide(WindowEvent event) { - * Browser browser = (Browser)event.widget; - * Shell shell = browser.getShell(); - * shell.setVisible(false); - * } - * public void show(WindowEvent event) { - * Browser browser = (Browser)event.widget; - * Shell shell = browser.getShell(); - * if (event.location !is null) shell.setLocation(event.location); - * if (event.size !is null) { - * Point size = event.size; - * shell.setSize(shell.computeSize(size.x, size.y)); - * } - * if (event.addressBar || event.menuBar || event.statusBar || event.toolBar) { - * // Create widgets for the address bar, menu bar, status bar and/or tool bar - * // leave enough space in the Shell to accommodate a Browser of the size - * // given by event.size - * } - * shell.open(); - * } - * }); - * browser.addCloseWindowListener(new CloseWindowListener() { - * public void close(WindowEvent event) { - * Browser browser = (Browser)event.widget; - * Shell shell = browser.getShell(); - * shell.close(); - * } - * }); - * } - * </pre></code> - * - * The following notifications are emitted when the user selects a hyperlink that targets a new window - * or as the result of a javascript that executes window.open. - * - * <p>Main Browser - * <ul> - * <li>User selects a link that opens in a new window or javascript requests a new window</li> - * <li>OpenWindowListener.open() notified</li> - * <ul> - * <li>Application creates a new Shell and a second Browser inside that Shell</li> - * <li>Application registers WindowListener's on that second Browser, such as VisibilityWindowListener</li> - * <li>Application returns the second Browser as the host for the new window content</li> - * </ul> - * </ul> - * - * <p>Second Browser - * <ul> - * <li>VisibilityWindowListener.show() notified</li> - * <ul> - * <li>Application sets navigation tool bar, status bar, menu bar and Shell size - * <li>Application makes the Shell hosting the second Browser visible - * <li>User now sees the new window - * </ul> - * </ul> - * - * @see CloseWindowListener - * @see OpenWindowListener - * @see VisibilityWindowListener - * - * @since 3.0 - */ - -public class WindowEvent : TypedEvent { - - /** - * Specifies whether the platform requires the user to provide a - * <code>Browser</code> to handle the new window. - * - * @since 3.1 - */ - public bool required; - - - /** - * <code>Browser</code> provided by the application. - */ - public Browser browser; - - /** - * Requested location for the <code>Shell</code> hosting the <code>Browser</code>. - * It is <code>null</code> if no location has been requested. - */ - public Point location; - - /** - * Requested <code>Browser</code> size. The client area of the <code>Shell</code> - * hosting the <code>Browser</code> should be large enough to accommodate that size. - * It is <code>null</code> if no size has been requested. - */ - public Point size; - - /** - * Specifies whether the <code>Shell</code> hosting the <code>Browser</code> should - * display an address bar. - * - * @since 3.1 - */ - public bool addressBar; - - /** - * Specifies whether the <code>Shell</code> hosting the <code>Browser</code> should - * display a menu bar. - * - * @since 3.1 - */ - public bool menuBar; - - /** - * Specifies whether the <code>Shell</code> hosting the <code>Browser</code> should - * display a status bar. - * - * @since 3.1 - */ - public bool statusBar; - - /** - * Specifies whether the <code>Shell</code> hosting the <code>Browser</code> should - * display a tool bar. - * - * @since 3.1 - */ - public bool toolBar; - - static final long serialVersionUID = 3617851997387174969L; - - this(Widget w) { - super(w); - } - - /** - * Returns a string containing a concise, human-readable - * description of the receiver. - * - * @return a string representation of the event - */ - - public override String toString () { - return Format( "WindowEvent {required={} browser={} location={} size={} addressBar={} menuBar={} statusBar={} toolBar={} }", - required, browser, location, size, addressBar, menuBar, statusBar, tooBar ); - } -}
--- a/dwt/internal/mozilla/Common.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -module dwt.internal.mozilla.Common; - -version(Windows) { - const NS_WIN32 = 1; -} -version(linux) { - const NS_UNIX = 1; -} - -alias uint nsresult; -alias uint nsrefcnt; - -const nsnull = 0; - -/****************************************************************************** - - prtypes - -******************************************************************************/ - -extern (System): - -alias ubyte PRUint8; -alias byte PRInt8; - -const PR_INT8_MAX = 127; -const PR_UINT8_MAX = 255U; - -alias ushort PRUint16; -alias short PRInt16; - -const PR_INT16_MAX = 32767; -const PR_UINT16_MAX = 65535U; - -alias uint PRUint32; -alias int PRInt32; - -alias long PRInt64; -alias ulong PRUint64; - -alias int PRIntn; -alias uint PRUintn; - -alias double PRFloat64; -alias size_t PRSize; - -alias PRInt32 PROffset32; -alias PRInt64 PROffset64; - -alias ptrdiff_t PRPtrdiff; -alias uint PRUptrdiff; - -alias PRIntn PRBool; - -const PR_TRUE = 1; -const PR_FALSE = 0; - -alias PRUint8 PRPackedBool; - -enum -{ - PR_FAILURE = -1, - PR_SUCCESS, -} - -alias int PRStatus; - -alias wchar PRUnichar; - -alias int PRWord; -alias uint PRUword; - -/****************************************************************************** - - nscommon - -******************************************************************************/ - -alias void* nsIWidget; -alias void* nsILayoutHistoryState; -alias void* nsIDeviceContext; -alias void* nsPresContext; -alias void* nsEvent; -alias void* nsEventStatus; -alias void* nsIPresShell; -alias void* JSContext; - -alias void* PRThread; -alias void* PLEvent; -alias void* PLEventQueue; -alias void* PLHandleEventProc; -alias void* PLDestroyEventProc; - -/****************************************************************************** - - gfxtypes - -******************************************************************************/ - -alias PRUint32 gfx_color; -alias PRUint16 gfx_depth; -alias PRInt32 gfx_format; - -alias void* nsIntRect; -alias void* nsRect; \ No newline at end of file
--- a/dwt/internal/mozilla/gfxIImageFrame.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -module dwt.internal.mozilla.gfxIImageFrame; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] GFXIIMAGEFRAME_IID_STR = "f6d00ee7-defc-4101-b2dc-e72cf4c37c3c"; - -const nsIID GFXIIMAGEFRAME_IID= - {0xf6d00ee7, 0xdefc, 0x4101, - [ 0xb2, 0xdc, 0xe7, 0x2c, 0xf4, 0xc3, 0x7c, 0x3c ]}; - -extern(System) - -interface gfxIImageFrame : nsISupports { - - static const char[] IID_STR = GFXIIMAGEFRAME_IID_STR; - static const nsIID IID = GFXIIMAGEFRAME_IID; - - nsresult Init(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight, gfx_format aFormat, gfx_depth aDepth); - nsresult GetMutable(PRBool *aMutable); - nsresult SetMutable(PRBool aMutable); - nsresult GetX(PRInt32 *aX); - nsresult GetY(PRInt32 *aY); - nsresult GetWidth(PRInt32 *aWidth); - nsresult GetHeight(PRInt32 *aHeight); - nsresult GetRect(nsIntRect * rect); - nsresult GetFormat(gfx_format *aFormat); - nsresult GetNeedsBackground(PRBool *aNeedsBackground); - nsresult GetImageBytesPerRow(PRUint32 *aImageBytesPerRow); - nsresult GetImageDataLength(PRUint32 *aImageDataLength); - nsresult GetImageData(PRUint8 **bits, PRUint32 *length); - nsresult SetImageData(PRUint8 *data, PRUint32 length, PRInt32 offset); - nsresult LockImageData(); - nsresult UnlockImageData(); - nsresult GetAlphaBytesPerRow(PRUint32 *aAlphaBytesPerRow); - nsresult GetAlphaDataLength(PRUint32 *aAlphaDataLength); - nsresult GetAlphaData(PRUint8 **bits, PRUint32 *length); - nsresult SetAlphaData(PRUint8 *data, PRUint32 length, PRInt32 offset); - nsresult LockAlphaData(); - nsresult UnlockAlphaData(); - nsresult DrawTo(gfxIImageFrame aDst, PRInt32 aDX, PRInt32 aDY, PRInt32 aDWidth, PRInt32 aDHeight); - nsresult GetTimeout(PRInt32 *aTimeout); - nsresult SetTimeout(PRInt32 aTimeout); - nsresult GetFrameDisposalMethod(PRInt32 *aFrameDisposalMethod); - nsresult SetFrameDisposalMethod(PRInt32 aFrameDisposalMethod); - nsresult GetBackgroundColor(gfx_color *aBackgroundColor); - nsresult SetBackgroundColor(gfx_color aBackgroundColor); - -} -
--- a/dwt/internal/mozilla/imgIContainer.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -module dwt.internal.mozilla.imgIContainer; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.gfxIImageFrame; -import dwt.internal.mozilla.imgIContainerObserver; - -const char[] IMGICONTAINER_IID_STR = "1a6290e6-8285-4e10-963d-d001f8d327b8"; - -const nsIID IMGICONTAINER_IID= - {0x1a6290e6, 0x8285, 0x4e10, - [ 0x96, 0x3d, 0xd0, 0x01, 0xf8, 0xd3, 0x27, 0xb8 ]}; - -extern(System) - -interface imgIContainer : nsISupports { - - static const char[] IID_STR = IMGICONTAINER_IID_STR; - static const nsIID IID = IMGICONTAINER_IID; - - nsresult Init(PRInt32 aWidth, PRInt32 aHeight, imgIContainerObserver aObserver); - nsresult GetPreferredAlphaChannelFormat(gfx_format *aPreferredAlphaChannelFormat); - nsresult GetWidth(PRInt32 *aWidth); - nsresult GetHeight(PRInt32 *aHeight); - nsresult GetCurrentFrame(gfxIImageFrame *aCurrentFrame); - nsresult GetNumFrames(PRUint32 *aNumFrames); - - enum { kNormalAnimMode = 0 }; - enum { kDontAnimMode = 1 }; - enum { kLoopOnceAnimMode = 2 }; - - nsresult GetAnimationMode(PRUint16 *aAnimationMode); - nsresult SetAnimationMode(PRUint16 aAnimationMode); - nsresult GetFrameAt(PRUint32 index, gfxIImageFrame *_retval); - nsresult AppendFrame(gfxIImageFrame item); - nsresult RemoveFrame(gfxIImageFrame item); - nsresult EndFrameDecode(PRUint32 framenumber, PRUint32 timeout); - nsresult DecodingComplete(); - nsresult Clear(); - nsresult StartAnimation(); - nsresult StopAnimation(); - nsresult ResetAnimation(); - nsresult GetLoopCount(PRInt32 *aLoopCount); - nsresult SetLoopCount(PRInt32 aLoopCount); - -} -
--- a/dwt/internal/mozilla/imgIContainerObserver.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.imgIContainerObserver; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.imgIContainer; -import dwt.internal.mozilla.gfxIImageFrame; - -const char[] IMGICONTAINEROBSERVER_IID_STR = "53102f15-0f53-4939-957e-aea353ad2700"; - -const nsIID IMGICONTAINEROBSERVER_IID= - {0x53102f15, 0x0f53, 0x4939, - [ 0x95, 0x7e, 0xae, 0xa3, 0x53, 0xad, 0x27, 0x00 ]}; - -extern(System) - -interface imgIContainerObserver : nsISupports { - - static const char[] IID_STR = IMGICONTAINEROBSERVER_IID_STR; - static const nsIID IID = IMGICONTAINEROBSERVER_IID; - - nsresult FrameChanged(imgIContainer aContainer, gfxIImageFrame aFrame, nsIntRect * aDirtyRect); - -} -
--- a/dwt/internal/mozilla/nsEmbedString.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Communicator client code, released March 31, 1998. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by Netscape are Copyright (C) 1998-1999 - * Netscape Communications Corporation. All Rights Reserved. - * - * Contributor(s): - * - * IBM - * - Binding to permit interfacing between Mozilla and DWT - * - Copyright (C) 2004 IBM Corp. All Rights Reserved. - * - * Port to the D programming language: - * John Reimer <terminal.node@gmail.com> - * - * ***** END LICENSE BLOCK ***** */ - -module dwt.internal.mozilla.nsEmbedString; - -import dwt.dwthelper.utils; -import dwt.internal.mozilla.nsStringAPI; - -public class nsEmbedString -{ - int /*long*/ handle; - - /************************************************************************** - - **************************************************************************/ - - public this() - { - handle = XPCOM.nsEmbedString_new(); - } - - /************************************************************************** - - **************************************************************************/ - - public nsEmbedString(String string) - { - if (string !is null) - { - char[] aString = new char[string.length() + 1]; - string.getChars(0, string.length(), aString, 0); - handle = XPCOM.nsEmbedString_new(aString); - } - } - - /************************************************************************** - - **************************************************************************/ - - public int /*long*/ getAddress() - { - return handle; - } - - /************************************************************************** - - **************************************************************************/ - - public String toString() - { - if (handle is 0) - return null; - int length = XPCOM.nsEmbedString_Length(handle); - int /*long*/ buffer = XPCOM.nsEmbedString_get(handle); - char[] dest = new char[length]; - XPCOM.memmove(dest, buffer, length * 2); - return new String(dest); - } - - /************************************************************************** - - **************************************************************************/ - - public void dispose() - { - if (handle is 0) - return; - XPCOM.nsEmbedString_delete(handle); - handle = 0; - } -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsEmbedString2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -module dwt.internal.mozilla.nsEmbedString; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsStringAPI; - -class nsEmbedString -{ - this(wchar[] s) - { - nsresult result; - result = NS_StringContainerInit2(&str, s.ptr, s.length, 0); - if (result != 0) // TODO: convert to XPCOM fail macro - throw new Exception("Init string container fail"); - } - - this() - { - nsresult result; - result = NS_StringContainerInit(&str); - if (result != 0) // TODO: convert to XPCOM fail macro - throw new Exception("Init string container fail"); - } - - nsAString* opCast() - { - return cast(nsAString*)&str; - } - - wchar[] toString16() - { - wchar* buffer = null; - PRBool terminated; - uint len = NS_StringGetData(cast(nsAString*)&str, &buffer, &terminated); - return buffer[0 .. len].dup; - } - - ~this() - { - NS_StringContainerFinish(&str); - } -private: - nsStringContainer str; -} - - -class nsEmbedCString -{ - this(char[] s) - { - nsresult result; - result = NS_CStringContainerInit2(&str, s.ptr, s.length, 0); - if (result != 0) // TODO: convert to XPCOM fail macro - throw new Exception("Init string container fail"); - } - - this() - { - nsresult result; - result = NS_CStringContainerInit(&str); - if (result != 0) // TODO: convert to XPCOM fail macro - throw new Exception("Init string container fail"); - } - - nsACString* opCast() - { - return cast(nsACString*)&str; - } - - char[] toString() - { - char* buffer = null; - PRBool terminated; - uint len = NS_CStringGetData(cast(nsACString*)&str, &buffer, &terminated); - return buffer[0 .. len].dup; - } - - ~this() - { - NS_CStringContainerFinish(&str); - } -private: - nsCStringContainer str; -} -
--- a/dwt/internal/mozilla/nsError.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -module dwt.internal.mozilla.nsError; - -import dwt.internal.mozilla.Common; - -/** - * @name Standard Module Offset Code. Each Module should identify a unique number - * and then all errors associated with that module become offsets from the - * base associated with that module id. There are 16 bits of code bits for - * each module. - */ - -enum { - NS_ERROR_MODULE_XPCOM = 1, - NS_ERROR_MODULE_BASE = 2, - NS_ERROR_MODULE_GFX = 3, - NS_ERROR_MODULE_WIDGET = 4, - NS_ERROR_MODULE_CALENDAR = 5, - NS_ERROR_MODULE_NETWORK = 6, - NS_ERROR_MODULE_PLUGINS = 7, - NS_ERROR_MODULE_LAYOUT = 8, - NS_ERROR_MODULE_HTMLPARSER = 9, - NS_ERROR_MODULE_RDF = 10, - NS_ERROR_MODULE_UCONV = 11, - NS_ERROR_MODULE_REG = 12, - NS_ERROR_MODULE_FILES = 13, - NS_ERROR_MODULE_DOM = 14, - NS_ERROR_MODULE_IMGLIB = 15, - NS_ERROR_MODULE_MAILNEWS = 16, - NS_ERROR_MODULE_EDITOR = 17, - NS_ERROR_MODULE_XPCONNECT = 18, - NS_ERROR_MODULE_PROFILE = 19, - NS_ERROR_MODULE_LDAP = 20, - NS_ERROR_MODULE_SECURITY = 21, - NS_ERROR_MODULE_DOM_XPATH = 22, - NS_ERROR_MODULE_DOM_RANGE = 23, - NS_ERROR_MODULE_URILOADER = 24, - NS_ERROR_MODULE_CONTENT = 25, - NS_ERROR_MODULE_PYXPCOM = 26, - NS_ERROR_MODULE_XSLT = 27, - NS_ERROR_MODULE_IPC = 28, - NS_ERROR_MODULE_SVG = 29, - NS_ERROR_MODULE_STORAGE = 30, - NS_ERROR_MODULE_SCHEMA = 31, - NS_ERROR_MODULE_GENERAL = 51, - NS_ERROR_SEVERITY_ERROR = 1, - NS_ERROR_MODULE_BASE_OFFSET = 0x45, -} - -const nsresult NS_OK = cast(nsresult)0; -const nsresult NS_ERROR_BASE = cast(nsresult) 0xC1F30000; -const nsresult NS_ERROR_NOT_INITIALIZED = cast(nsresult)(NS_ERROR_BASE + 1); -const nsresult NS_ERROR_ALREADY_INITIALIZED = cast(nsresult)(NS_ERROR_BASE + 2); -const nsresult NS_NOINTERFACE = cast(nsresult)0x80004002L; - -alias NS_NOINTERFACE NS_ERROR_NO_INTERFACE; - -const nsresult NS_ERROR_INVALID_POINTER = cast(nsresult)0x80004003L; - -alias NS_ERROR_INVALID_POINTER NS_ERROR_NULL_POINTER; - -const nsresult NS_ERROR_ABORT = cast(nsresult)0x80004004L; -const nsresult NS_ERROR_FAILURE = cast(nsresult)0x80004005L; -const nsresult NS_ERROR_UNEXPECTED = cast(nsresult)0x8000ffffL; -const nsresult NS_ERROR_OUT_OF_MEMORY = cast(nsresult) 0x8007000eL; -const nsresult NS_ERROR_ILLEGAL_VALUE = cast(nsresult) 0x80070057L; - -alias NS_ERROR_ILLEGAL_VALUE NS_ERROR_INVALID_ARG;
--- a/dwt/internal/mozilla/nsIAppShell.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIAppShell; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIEventQueue; - -const char[] NS_IAPPSHELL_IID_STR = "a0757c31-eeac-11d1-9ec1-00aa002fb821"; - -const nsIID NS_IAPPSHELL_IID= - {0xa0757c31, 0xeeac, 0x11d1, - [ 0x9e, 0xc1, 0x00, 0xaa, 0x00, 0x2f, 0xb8, 0x21 ]}; - -extern(System) - -interface nsIAppShell : nsISupports { - static const char[] IID_STR = NS_IAPPSHELL_IID_STR; - static const nsIID IID = NS_IAPPSHELL_IID; - - nsresult Create(int *argc, char **argv); - nsresult Run(); - nsresult Spinup(); - nsresult Spindown(); - nsresult ListenToEventQueue(nsIEventQueue * aQueue, PRBool aListen); - nsresult GetNativeEvent(PRBool * aRealEvent, void * * aEvent); - nsresult DispatchNativeEvent(PRBool aRealEvent, void * aEvent); - nsresult Exit(); -} -
--- a/dwt/internal/mozilla/nsIAtom.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIAtom; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IATOM_IID_STR = "3d1b15b0-93b4-11d1-895b-006008911b81"; - -const nsIID NS_IATOM_IID= - {0x3d1b15b0, 0x93b4, 0x11d1, - [ 0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81 ]}; - -extern(System) - -interface nsIAtom : nsISupports { - - static const char[] IID_STR = NS_IATOM_IID_STR; - static const nsIID IID = NS_IATOM_IID; - - nsresult ToString(nsAString * _retval); - nsresult ToUTF8String(nsACString * _retval); - nsresult GetUTF8String(char **aResult); - nsresult Equals(nsAString * aString, PRBool *_retval); - nsresult EqualsUTF8(nsACString * aString, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIAuthInformation.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -module dwt.internal.mozilla.nsAuthInformation; - -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IAUTHINFORMATION_IID_STR = "0d73639c-2a92-4518-9f92-28f71fea5f20"; - -const nsIID NS_IAUTHINFORMATION_IID = - {0x0d73639c, 0x2a92, 0x4518, - [ 0x9f, 0x92, 0x28, 0xf7, 0x1f, 0xea, 0x5f, 0x20 ] }; - -extern(System) - -interface nsIAuthInformation : nsISupports { - - static const char[] IID_STR = NS_IAUTHINFORMATION_IID_STR; - static const nsIID IID = NS_IAUTHINFORMATION_IID; - - enum { AUTH_HOST = 1U } - enum { AUTH_PROXY = 2U } - enum { NEED_DOMAIN = 4U } - enum { ONLY_PASSWORD = 8U } - - nsresult GetFlags(PRUint32 *aFlags); - nsresult GetRealm(nsAString * aRealm);; - nsresult GetAuthenticationScheme(nsACString * aAuthenticationScheme); - nsresult GetUsername(nsAString * aUsername); - nsresult SetUsername(nsAString * aUsername); - nsresult GetPassword(nsAString * aPassword); - nsresult SetPassword(nsAString * aPassword); - nsresult GetDomain(nsAString * aDomain); - nsresult SetDomain(nsAString * aDomain); - -};
--- a/dwt/internal/mozilla/nsIAuthPrompt.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -module dwt.internal.mozilla.nsIAuthPrompt; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -// import dwt.internal.mozilla.nsIPrompt; - -const char[] NS_IAUTHPROMPT_IID_STR = "2f977d45-5485-11d4-87e2-0010a4e75ef2"; - -const nsIID NS_IAUTHPROMPT_IID= - {0x2f977d45, 0x5485, 0x11d4, - [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]}; - -extern(System) - -interface nsIAuthPrompt : nsISupports { - - static const char[] IID_STR = NS_IAUTHPROMPT_IID_STR; - static const nsIID IID = NS_IAUTHPROMPT_IID; - - enum { SAVE_PASSWORD_NEVER = 0U }; - enum { SAVE_PASSWORD_FOR_SESSION = 1U }; - enum { SAVE_PASSWORD_PERMANENTLY = 2U }; - - nsresult Prompt(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar *defaultText, PRUnichar **result, PRBool *_retval); - nsresult PromptUsernameAndPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar **user, PRUnichar **pwd, PRBool *_retval); - nsresult PromptPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *passwordRealm, PRUint32 savePassword, PRUnichar **pwd, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIBaseWindow.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -module dwt.internal.mozilla.nsIBaseWindow; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -alias void * nativeWindow; - -const char[] NS_IBASEWINDOW_IID_STR = "046bc8a0-8015-11d3-af70-00a024ffc08c"; - -const nsIID NS_IBASEWINDOW_IID= - {0x046bc8a0, 0x8015, 0x11d3, - [ 0xaf, 0x70, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIBaseWindow : nsISupports { - - static const char[] IID_STR = NS_IBASEWINDOW_IID_STR; - static const nsIID IID = NS_IBASEWINDOW_IID; - - nsresult InitWindow(nativeWindow parentNativeWindow, nsIWidget * parentWidget, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy); - nsresult Create(); - nsresult Destroy(); - nsresult SetPosition(PRInt32 x, PRInt32 y); - nsresult GetPosition(PRInt32 *x, PRInt32 *y); - nsresult SetSize(PRInt32 cx, PRInt32 cy, PRBool fRepaint); - nsresult GetSize(PRInt32 *cx, PRInt32 *cy); - nsresult SetPositionAndSize(PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy, PRBool fRepaint); - nsresult GetPositionAndSize(PRInt32 *x, PRInt32 *y, PRInt32 *cx, PRInt32 *cy); - nsresult Repaint(PRBool force); - nsresult GetParentWidget(nsIWidget * *aParentWidget); - nsresult SetParentWidget(nsIWidget * aParentWidget); - nsresult GetParentNativeWindow(nativeWindow *aParentNativeWindow); - nsresult SetParentNativeWindow(nativeWindow aParentNativeWindow); - nsresult GetVisibility(PRBool *aVisibility); - nsresult SetVisibility(PRBool aVisibility); - nsresult GetEnabled(PRBool *aEnabled); - nsresult SetEnabled(PRBool aEnabled); - nsresult GetBlurSuppression(PRBool *aBlurSuppression); - nsresult SetBlurSuppression(PRBool aBlurSuppression); - nsresult GetMainWidget(nsIWidget * *aMainWidget); - nsresult SetFocus(); - nsresult GetTitle(PRUnichar * *aTitle); - nsresult SetTitle(PRUnichar * aTitle); - -} -
--- a/dwt/internal/mozilla/nsIBinaryInputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIBinaryInputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IBINARYINPUTSTREAM_IID_STR = "7b456cb0-8772-11d3-90cf-0040056a906e"; - -const nsIID NS_IBINARYINPUTSTREAM_IID= - {0x7b456cb0, 0x8772, 0x11d3, - [ 0x90, 0xcf, 0x00, 0x40, 0x05, 0x6a, 0x90, 0x6e ]}; - -extern(System) - -interface nsIBinaryInputStream : nsIInputStream { - - static const char[] IID_STR = NS_IBINARYINPUTSTREAM_IID_STR; - static const nsIID IID = NS_IBINARYINPUTSTREAM_IID; - - nsresult SetInputStream(nsIInputStream aInputStream); - nsresult ReadBoolean(PRBool *_retval); - nsresult Read8(PRUint8 *_retval); - nsresult Read16(PRUint16 *_retval); - nsresult Read32(PRUint32 *_retval); - nsresult Read64(PRUint64 *_retval); - nsresult ReadFloat(float *_retval); - nsresult ReadDouble(double *_retval); - nsresult ReadCString(nsACString * _retval); - nsresult ReadString(nsAString * _retval); - nsresult ReadBytes(PRUint32 aLength, char **aString); - nsresult ReadByteArray(PRUint32 aLength, PRUint8 **aBytes); - -} -
--- a/dwt/internal/mozilla/nsIBinaryOutputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIBinaryOutputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIOutputStream; - -const char[] NS_IBINARYOUTPUTSTREAM_IID_STR = "204ee610-8765-11d3-90cf-0040056a906e"; - -const nsIID NS_IBINARYOUTPUTSTREAM_IID= - {0x204ee610, 0x8765, 0x11d3, - [ 0x90, 0xcf, 0x00, 0x40, 0x05, 0x6a, 0x90, 0x6e ]}; - -extern(System) - -interface nsIBinaryOutputStream : nsIOutputStream { - - static const char[] IID_STR = NS_IBINARYOUTPUTSTREAM_IID_STR; - static const nsIID IID = NS_IBINARYOUTPUTSTREAM_IID; - - nsresult SetOutputStream(nsIOutputStream aOutputStream); - nsresult WriteBoolean(PRBool aBoolean); - nsresult Write8(PRUint8 aByte); - nsresult Write16(PRUint16 a16); - nsresult Write32(PRUint32 a32); - nsresult Write64(PRUint64 a64); - nsresult WriteFloat(float aFloat); - nsresult WriteDouble(double aDouble); - nsresult WriteStringZ(char *aString); - nsresult WriteWStringZ(PRUnichar *aString); - nsresult WriteUtf8Z(PRUnichar *aString); - nsresult WriteBytes(char *aString, PRUint32 aLength); - nsresult WriteByteArray(PRUint8 *aBytes, PRUint32 aLength); - -} -
--- a/dwt/internal/mozilla/nsICancelable.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -module dwt.internal.mozilla.nsICancelable; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_ICANCELABLE_IID_STR = "d94ac0a0-bb18-46b8-844e-84159064b0bd"; - -const nsIID NS_ICANCELABLE_IID= - {0xd94ac0a0, 0xbb18, 0x46b8, - [ 0x84, 0x4e, 0x84, 0x15, 0x90, 0x64, 0xb0, 0xbd ]}; - -extern(System) - -interface nsICancelable : nsISupports { - - static const char[] IID_STR = NS_ICANCELABLE_IID_STR; - static const nsIID IID = NS_ICANCELABLE_IID; - - nsresult Cancel(nsresult aReason); -} -
--- a/dwt/internal/mozilla/nsICategoryManager.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsICategoryManager; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsISimpleEnumerator; - -const char[] NS_ICATEGORYMANAGER_IID_STR = "3275b2cd-af6d-429a-80d7-f0c5120342ac"; - -const nsIID NS_ICATEGORYMANAGER_IID= - {0x3275b2cd, 0xaf6d, 0x429a, - [ 0x80, 0xd7, 0xf0, 0xc5, 0x12, 0x03, 0x42, 0xac ]}; - -extern(System) - -interface nsICategoryManager : nsISupports { - - static const char[] IID_STR = NS_ICATEGORYMANAGER_IID_STR; - static const nsIID IID = NS_ICATEGORYMANAGER_IID; - - nsresult GetCategoryEntry(char *aCategory, char *aEntry, char **_retval); - nsresult AddCategoryEntry(char *aCategory, char *aEntry, char *aValue, PRBool aPersist, PRBool aReplace, char **_retval); - nsresult DeleteCategoryEntry(char *aCategory, char *aEntry, PRBool aPersist); - nsresult DeleteCategory(char *aCategory); - nsresult EnumerateCategory(char *aCategory, nsISimpleEnumerator *_retval); - nsresult EnumerateCategories(nsISimpleEnumerator *_retval); -} -
--- a/dwt/internal/mozilla/nsIChannel.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -module dwt.internal.mozilla.nsIChannel; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIInterfaceRequestor; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsIStreamListener; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ICHANNEL_IID_STR = "c63a055a-a676-4e71-bf3c-6cfa11082018"; -const nsIID NS_ICHANNEL_IID= - {0xc63a055a, 0xa676, 0x4e71, - [ 0xbf, 0x3c, 0x6c, 0xfa, 0x11, 0x08, 0x20, 0x18 ]}; - -extern(System) - -interface nsIChannel : nsIRequest { - - static const char[] IID_STR = NS_ICHANNEL_IID_STR; - static const nsIID IID = NS_ICHANNEL_IID; - - nsresult GetOriginalURI(nsIURI *aOriginalURI); - nsresult SetOriginalURI(nsIURI aOriginalURI); - nsresult GetURI(nsIURI *aURI); - nsresult GetOwner(nsISupports *aOwner); - nsresult SetOwner(nsISupports aOwner); - - nsresult GetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks); - nsresult SetNotificationCallbacks(nsIInterfaceRequestor aNotificationCallbacks); - nsresult GetSecurityInfo(nsISupports *aSecurityInfo); - nsresult GetContentType(nsACString * aContentType); - nsresult SetContentType(nsACString * aContentType); - nsresult GetContentCharset(nsACString * aContentCharset); - nsresult SetContentCharset(nsACString * aContentCharset); - nsresult GetContentLength(PRInt32 *aContentLength); - nsresult SetContentLength(PRInt32 aContentLength); - nsresult Open(nsIInputStream *_retval); - nsresult AsyncOpen(nsIStreamListener aListener, nsISupports aContext); - - enum { LOAD_DOCUMENT_URI = 65536U }; - enum { LOAD_RETARGETED_DOCUMENT_URI = 131072U }; - enum { LOAD_REPLACE = 262144U }; - enum { LOAD_INITIAL_DOCUMENT_URI = 524288U }; - enum { LOAD_TARGETED = 1048576U }; - enum { LOAD_CALL_CONTENT_SNIFFERS = 2097152U }; -} -
--- a/dwt/internal/mozilla/nsIChromeEventHandler.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIChromeEventHandler; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMEvent; - -const char[] NS_ICHROMEEVENTHANDLER_IID_STR = "7bc08970-9e6c-11d3-afb2-00a024ffc08c"; - -const nsIID NS_ICHROMEEVENTHANDLER_IID= - {0x7bc08970, 0x9e6c, 0x11d3, - [ 0xaf, 0xb2, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIChromeEventHandler : nsISupports { - - static const char[] IID_STR = NS_ICHROMEEVENTHANDLER_IID_STR; - static const nsIID IID = NS_ICHROMEEVENTHANDLER_IID; - - nsresult HandleChromeEvent(nsPresContext * aPresContext, nsEvent * aEvent, nsIDOMEvent *aDOMEvent, PRUint32 aFlags, nsEventStatus *aStatus); - -} -
--- a/dwt/internal/mozilla/nsICollection.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -module dwt.internal.mozilla.nsICollection; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsISerializable; -import dwt.internal.mozilla.nsIEnumerator; - -const char[] NS_ICOLLECTION_IID_STR = "83b6019c-cbc4-11d2-8cca-0060b0fc14a3"; - -const nsIID NS_ICOLLECTION_IID= - {0x83b6019c, 0xcbc4, 0x11d2, - [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]}; - -extern(System) - -interface nsICollection : nsISerializable { - - static const char[] IID_STR = NS_ICOLLECTION_IID_STR; - static const nsIID IID = NS_ICOLLECTION_IID; - - nsresult Count(PRUint32 *_retval); - nsresult GetElementAt(PRUint32 index, nsISupports *_retval); - nsresult QueryElementAt(PRUint32 index, nsIID * uuid, void * *result); - nsresult SetElementAt(PRUint32 index, nsISupports item); - nsresult AppendElement(nsISupports item); - nsresult RemoveElement(nsISupports item); - nsresult Enumerate(nsIEnumerator *_retval); - nsresult Clear(); - -} -
--- a/dwt/internal/mozilla/nsIComponentManager.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIComponentManager; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIFactory; - -const char[] NS_ICOMPONENTMANAGER_IID_STR = "a88e5a60-205a-4bb1-94e1-2628daf51eae"; - -const nsIID NS_ICOMPONENTMANAGER_IID= - {0xa88e5a60, 0x205a, 0x4bb1, - [ 0x94, 0xe1, 0x26, 0x28, 0xda, 0xf5, 0x1e, 0xae ]}; - -extern(System) - -interface nsIComponentManager : nsISupports { - static const char[] IID_STR = NS_ICOMPONENTMANAGER_IID_STR; - static const nsIID IID = NS_ICOMPONENTMANAGER_IID; - - nsresult GetClassObject(nsCID * aClass, nsIID * aIID, void * *result); - nsresult GetClassObjectByContractID(char *aContractID, nsIID * aIID, void * *result); - nsresult CreateInstance(nsCID * aClass, nsISupports aDelegate, nsIID * aIID, void * *result); - nsresult CreateInstanceByContractID(char *aContractID, nsISupports aDelegate, nsIID * aIID, void * *result); -} -
--- a/dwt/internal/mozilla/nsIComponentRegistrar.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -module dwt.internal.mozilla.nsIComponentRegistrar; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsIFactory; -import dwt.internal.mozilla.nsISimpleEnumerator; - -const char[] NS_ICOMPONENTREGISTRAR_IID_STR = "2417cbfe-65ad-48a6-b4b6-eb84db174392"; - -const nsIID NS_ICOMPONENTREGISTRAR_IID= - {0x2417cbfe, 0x65ad, 0x48a6, - [ 0xb4, 0xb6, 0xeb, 0x84, 0xdb, 0x17, 0x43, 0x92 ]}; - -extern(System) - -interface nsIComponentRegistrar : nsISupports { - static const char[] IID_STR = NS_ICOMPONENTREGISTRAR_IID_STR; - static const nsIID IID = NS_ICOMPONENTREGISTRAR_IID; - - nsresult AutoRegister(nsIFile aSpec); - nsresult AutoUnregister(nsIFile aSpec); - nsresult RegisterFactory(nsCID * aClass, char *aClassName, char *aContractID, nsIFactory aFactory); - nsresult UnregisterFactory(nsCID * aClass, nsIFactory aFactory); - nsresult RegisterFactoryLocation(nsCID * aClass, char *aClassName, char *aContractID, nsIFile aFile, char *aLoaderStr, char *aType); - nsresult UnregisterFactoryLocation(nsCID * aClass, nsIFile aFile); - nsresult IsCIDRegistered(nsCID * aClass, PRBool *_retval); - nsresult IsContractIDRegistered(char *aContractID, PRBool *_retval); - nsresult EnumerateCIDs(nsISimpleEnumerator *_retval); - nsresult EnumerateContractIDs(nsISimpleEnumerator *_retval); - nsresult CIDToContractID(nsCID * aClass, char **_retval); - nsresult ContractIDToCID(char *aContractID, nsCID * *_retval); -} -
--- a/dwt/internal/mozilla/nsIContentViewer.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -module dwt.internal.mozilla.nsIContentViewer; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMDocument; -import dwt.internal.mozilla.nsISHEntry; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ICONTENTVIEWER_IID_STR = "6a7ddb40-8a9e-4576-8ad1-71c5641d8780"; - -const nsIID NS_ICONTENTVIEWER_IID= - {0x6a7ddb40, 0x8a9e, 0x4576, - [ 0x8a, 0xd1, 0x71, 0xc5, 0x64, 0x1d, 0x87, 0x80 ]}; - -extern(System) - -interface nsIContentViewer : nsISupports { - - static const char[] IID_STR = NS_ICONTENTVIEWER_IID_STR; - static const nsIID IID = NS_ICONTENTVIEWER_IID; - - nsresult Init(nsIWidget * aParentWidget, nsIDeviceContext * aDeviceContext, nsRect * aBounds); - nsresult GetContainer(nsISupports *aContainer); - nsresult SetContainer(nsISupports aContainer); - nsresult LoadStart(nsISupports aDoc); - nsresult LoadComplete(PRUint32 aStatus); - nsresult PermitUnload(PRBool *_retval); - nsresult PageHide(PRBool isUnload); - nsresult Close(nsISHEntry historyEntry); - nsresult Destroy(); - nsresult Stop(); - nsresult GetDOMDocument(nsIDOMDocument *aDOMDocument); - nsresult SetDOMDocument(nsIDOMDocument aDOMDocument); - nsresult GetBounds(nsRect * aBounds); - nsresult SetBounds(nsRect * aBounds); - nsresult GetPreviousViewer(nsIContentViewer *aPreviousViewer); - nsresult SetPreviousViewer(nsIContentViewer aPreviousViewer); - nsresult Move(PRInt32 aX, PRInt32 aY); - nsresult Show(); - nsresult Hide(); - nsresult GetEnableRendering(PRBool *aEnableRendering); - nsresult SetEnableRendering(PRBool aEnableRendering); - nsresult GetSticky(PRBool *aSticky); - nsresult SetSticky(PRBool aSticky); - nsresult RequestWindowClose(PRBool *_retval); - nsresult Open(nsISupports aState); - nsresult ClearHistoryEntry(); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID_STR = "51341ed4-a3bf-4fd5-ae17-5fd3ec59dcab"; - -const nsIID NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID= - {0x51341ed4, 0xa3bf, 0x4fd5, - [ 0xae, 0x17, 0x5f, 0xd3, 0xec, 0x59, 0xdc, 0xab ]}; - -extern(System) - -interface nsIContentViewer_MOZILLA_1_8_BRANCH : nsISupports { - - static const char[] IID_STR = NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID_STR; - static const nsIID IID = NS_ICONTENTVIEWER_MOZILLA_1_8_BRANCH_IID; - - nsresult OpenWithEntry(nsISupports aState, nsISHEntry aSHEntry); - -} -
--- a/dwt/internal/mozilla/nsIContextMenuListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -module dwt.internal.mozilla.nsIContextMenuListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMEvent; -import dwt.internal.mozilla.nsIDOMNode; - -const char[] NS_ICONTEXTMENULISTENER_IID_STR = "3478b6b0-3875-11d4-94ef-0020183bf181"; - -const nsIID NS_ICONTEXTMENULISTENER_IID= - {0x3478b6b0, 0x3875, 0x11d4, - [ 0x94, 0xef, 0x00, 0x20, 0x18, 0x3b, 0xf1, 0x81 ]}; - -extern(System) - -interface nsIContextMenuListener : nsISupports { - - static const char[] IID_STR = NS_ICONTEXTMENULISTENER_IID_STR; - static const nsIID IID = NS_ICONTEXTMENULISTENER_IID; - - enum { CONTEXT_NONE = 0U }; - enum { CONTEXT_LINK = 1U }; - enum { CONTEXT_IMAGE = 2U }; - enum { CONTEXT_DOCUMENT = 4U }; - enum { CONTEXT_TEXT = 8U }; - enum { CONTEXT_INPUT = 16U }; - - nsresult OnShowContextMenu(PRUint32 aContextFlags, nsIDOMEvent aEvent, nsIDOMNode aNode); -} -
--- a/dwt/internal/mozilla/nsIContextMenuListener2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -module dwt.internal.mozilla.nsIContextMenuListener2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMEvent; -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.imgIContainer; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ICONTEXTMENULISTENER2_IID_STR = "7fb719b3-d804-4964-9596-77cf924ee314"; - -const nsIID NS_ICONTEXTMENULISTENER2_IID= - {0x7fb719b3, 0xd804, 0x4964, - [ 0x95, 0x96, 0x77, 0xcf, 0x92, 0x4e, 0xe3, 0x14 ]}; - -extern(System) - -interface nsIContextMenuListener2 : nsISupports { - - static const char[] IID_STR = NS_ICONTEXTMENULISTENER2_IID_STR; - static const nsIID IID = NS_ICONTEXTMENULISTENER2_IID; - - enum { CONTEXT_NONE = 0U }; - enum { CONTEXT_LINK = 1U }; - enum { CONTEXT_IMAGE = 2U }; - enum { CONTEXT_DOCUMENT = 4U }; - enum { CONTEXT_TEXT = 8U }; - enum { CONTEXT_INPUT = 16U }; - enum { CONTEXT_BACKGROUND_IMAGE = 32U }; - - nsresult OnShowContextMenu(PRUint32 aContextFlags, nsIContextMenuInfo aUtils); -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ICONTEXTMENUINFO_IID_STR = "2f977d56-5485-11d4-87e2-0010a4e75ef2"; - -const nsIID NS_ICONTEXTMENUINFO_IID= - {0x2f977d56, 0x5485, 0x11d4, - [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]}; - -extern(System) - -interface nsIContextMenuInfo : nsISupports { - - static const char[] IID_STR = NS_ICONTEXTMENUINFO_IID_STR; - static const nsIID IID = NS_ICONTEXTMENUINFO_IID; - - nsresult GetMouseEvent(nsIDOMEvent *aMouseEvent); - nsresult GetTargetNode(nsIDOMNode *aTargetNode); - nsresult GetAssociatedLink(nsAString * aAssociatedLink); - nsresult GetImageContainer(imgIContainer *aImageContainer); - nsresult GetImageSrc(nsIURI *aImageSrc); - nsresult GetBackgroundImageContainer(imgIContainer *aBackgroundImageContainer); - nsresult GetBackgroundImageSrc(nsIURI *aBackgroundImageSrc); -} -
--- a/dwt/internal/mozilla/nsICookie.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -module dwt.internal.mozilla.nsICookie; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsStringAPI; - -alias PRInt32 nsCookieStatus; -alias PRInt32 nsCookiePolicy; - -const char[] NS_ICOOKIE_IID_STR = "e9fcb9a4-d376-458f-b720-e65e7df593bc"; - -const nsIID NS_ICOOKIE_IID= - {0xe9fcb9a4, 0xd376, 0x458f, - [ 0xb7, 0x20, 0xe6, 0x5e, 0x7d, 0xf5, 0x93, 0xbc ]}; - -extern(System) - -interface nsICookie : nsISupports { - - static const char[] IID_STR = NS_ICOOKIE_IID_STR; - static const nsIID IID = NS_ICOOKIE_IID; - - nsresult GetName(nsACString * aName); - nsresult GetValue(nsACString * aValue); - nsresult GetIsDomain(PRBool *aIsDomain); - nsresult GetHost(nsACString * aHost); - nsresult GetPath(nsACString * aPath); - nsresult GetIsSecure(PRBool *aIsSecure); - nsresult GetExpires(PRUint64 *aExpires); - - enum { STATUS_UNKNOWN = 0 }; - enum { STATUS_ACCEPTED = 1 }; - enum { STATUS_DOWNGRADED = 2 }; - enum { STATUS_FLAGGED = 3 }; - enum { STATUS_REJECTED = 4 }; - - nsresult GetStatus(nsCookieStatus *aStatus); - - enum { POLICY_UNKNOWN = 0 }; - enum { POLICY_NONE = 1 }; - enum { POLICY_NO_CONSENT = 2 }; - enum { POLICY_IMPLICIT_CONSENT = 3 }; - enum { POLICY_EXPLICIT_CONSENT = 4 }; - enum { POLICY_NO_II = 5 }; - - nsresult GetPolicy(nsCookiePolicy *aPolicy); -} -
--- a/dwt/internal/mozilla/nsICookie2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsICookie2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsICookie; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ICOOKIE2_IID_STR = "d3493503-7854-46ed-8284-8af54a847efb"; - -const nsIID NS_ICOOKIE2_IID= - {0xd3493503, 0x7854, 0x46ed, - [ 0x82, 0x84, 0x8a, 0xf5, 0x4a, 0x84, 0x7e, 0xfb ]}; - -extern(System) - -interface nsICookie2 : nsICookie { - - static const char[] IID_STR = NS_ICOOKIE2_IID_STR; - static const nsIID IID = NS_ICOOKIE2_IID; - - nsresult GetRawHost(nsACString * aRawHost); - nsresult GetIsSession(PRBool *aIsSession); - nsresult GetExpiry(PRInt64 *aExpiry); -} -
--- a/dwt/internal/mozilla/nsICookieManager.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsICookieManager; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ICOOKIEMANAGER_IID_STR = "aaab6710-0f2c-11d5-a53b-0010a401eb10"; - -const nsIID NS_ICOOKIEMANAGER_IID= - {0xaaab6710, 0x0f2c, 0x11d5, - [ 0xa5, 0x3b, 0x00, 0x10, 0xa4, 0x01, 0xeb, 0x10 ]}; - -extern(System) - -interface nsICookieManager : nsISupports { - - static const char[] IID_STR = NS_ICOOKIEMANAGER_IID_STR; - static const nsIID IID = NS_ICOOKIEMANAGER_IID; - - nsresult RemoveAll(); - nsresult GetEnumerator(nsISimpleEnumerator *aEnumerator); - nsresult Remove(nsACString * aDomain, nsACString * aName, nsACString * aPath, PRBool aBlocked); - -} -
--- a/dwt/internal/mozilla/nsICookieManager2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsICookieManager2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsICookieManager; -import dwt.internal.mozilla.nsICookie2; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ICOOKIEMANAGER2_IID_STR = "3e73ff5f-154e-494f-b640-3c654ba2cc2b"; - -const nsIID NS_ICOOKIEMANAGER2_IID= - {0x3e73ff5f, 0x154e, 0x494f, - [ 0xb6, 0x40, 0x3c, 0x65, 0x4b, 0xa2, 0xcc, 0x2b ]}; - -extern(System) - -interface nsICookieManager2 : nsICookieManager { - - static const char[] IID_STR = NS_ICOOKIEMANAGER2_IID_STR; - static const nsIID IID = NS_ICOOKIEMANAGER2_IID; - - nsresult Add(nsACString * aDomain, nsACString * aPath, nsACString * aName, nsACString * aValue, PRBool aSecure, PRBool aIsSession, PRInt64 aExpiry); - nsresult FindMatchingCookie(nsICookie2 aCookie, PRUint32 *aCountFromHost, PRBool *_retval); -} -
--- a/dwt/internal/mozilla/nsID.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.Common; - -align(1) -struct nsID -{ - PRUint32 m0; - PRUint16 m1; - PRUint16 m2; - PRUint8[8] m3; - - static nsID opCall(PRUint32 v0, PRUint16 v1, PRUint16 v2, PRUint8[8] v3) - { - nsID result; - result.m0 = v0; - result.m1 = v1; - result.m2 = v2; - for(int i=0; i<8; ++i) - result.m3[i] = v3[i]; - return result; - } -} - -alias nsID nsCID; -alias nsID nsIID;
--- a/dwt/internal/mozilla/nsIDOMAbstractView.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIDOMAbstractView; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMDocumentView; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMABSTRACTVIEW_IID_STR = "f51ebade-8b1a-11d3-aae7-0010830123b4"; - -const nsIID NS_IDOMABSTRACTVIEW_IID= - {0xf51ebade, 0x8b1a, 0x11d3, - [ 0xaa, 0xe7, 0x00, 0x10, 0x83, 0x01, 0x23, 0xb4 ]}; - -extern(System) - -interface nsIDOMAbstractView : nsISupports { - - static const char[] IID_STR = NS_IDOMABSTRACTVIEW_IID_STR; - static const nsIID IID = NS_IDOMABSTRACTVIEW_IID; - - nsresult GetDocument(nsIDOMDocumentView *aDocument); - -} -
--- a/dwt/internal/mozilla/nsIDOMAttr.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIDOMAttr; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMElement; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMATTR_IID_STR = "a6cf9070-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMATTR_IID= - {0xa6cf9070, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMAttr : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMATTR_IID_STR; - static const nsIID IID = NS_IDOMATTR_IID; - - nsresult GetName(nsAString * aName); - nsresult GetSpecified(PRBool *aSpecified); - nsresult GetValue(nsAString * aValue); - nsresult SetValue(nsAString * aValue); - nsresult GetOwnerElement(nsIDOMElement *aOwnerElement); - -} -
--- a/dwt/internal/mozilla/nsIDOMBarProp.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIDOMBarProp; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMBARPROP_IID_STR = "9eb2c150-1d56-11d3-8221-0060083a0bcf"; - -const nsIID NS_IDOMBARPROP_IID= - {0x9eb2c150, 0x1d56, 0x11d3, - [ 0x82, 0x21, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]}; - -extern(System) - -interface nsIDOMBarProp : nsISupports { - - static const char[] IID_STR = NS_IDOMBARPROP_IID_STR; - static const nsIID IID = NS_IDOMBARPROP_IID; - - nsresult GetVisible(PRBool *aVisible); - nsresult SetVisible(PRBool aVisible); - -} -
--- a/dwt/internal/mozilla/nsIDOMCDATASection.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -module dwt.internal.mozilla.nsIDOMCDATASection; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMText; - -const char[] NS_IDOMCDATASECTION_IID_STR = "a6cf9071-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMCDATASECTION_IID= - {0xa6cf9071, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMCDATASection : nsIDOMText { - - static const char[] IID_STR = NS_IDOMCDATASECTION_IID_STR; - static const nsIID IID = NS_IDOMCDATASECTION_IID; - -} -
--- a/dwt/internal/mozilla/nsIDOMCharacterData.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsIDOMCharacterData; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMCHARACTERDATA_IID_STR = "a6cf9072-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMCHARACTERDATA_IID= - {0xa6cf9072, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMCharacterData : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMCHARACTERDATA_IID_STR; - static const nsIID IID = NS_IDOMCHARACTERDATA_IID; - - nsresult GetData(nsAString * aData); - nsresult SetData(nsAString * aData); - nsresult GetLength(PRUint32 *aLength); - nsresult SubstringData(PRUint32 offset, PRUint32 count, nsAString * _retval); - nsresult AppendData(nsAString * arg); - nsresult InsertData(PRUint32 offset, nsAString * arg); - nsresult DeleteData(PRUint32 offset, PRUint32 count); - nsresult ReplaceData(PRUint32 offset, PRUint32 count, nsAString * arg); - -} -
--- a/dwt/internal/mozilla/nsIDOMComment.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -module dwt.internal.mozilla.nsIDOMComment; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMCharacterData; - -const char[] NS_IDOMCOMMENT_IID_STR = "a6cf9073-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMCOMMENT_IID= - {0xa6cf9073, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMComment : nsIDOMCharacterData { - - static const char[] IID_STR = NS_IDOMCOMMENT_IID_STR; - static const nsIID IID = NS_IDOMCOMMENT_IID; - -} -
--- a/dwt/internal/mozilla/nsIDOMDOMImplementation.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIDOMDOMImplementation; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMDocumentType; -import dwt.internal.mozilla.nsIDOMDocument; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMDOMIMPLEMENTATION_IID_STR = "a6cf9074-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMDOMIMPLEMENTATION_IID= - {0xa6cf9074, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMDOMImplementation : nsISupports { - - static const char[] IID_STR = NS_IDOMDOMIMPLEMENTATION_IID_STR; - static const nsIID IID = NS_IDOMDOMIMPLEMENTATION_IID; - - nsresult HasFeature(nsAString * feature, nsAString * version_, PRBool *_retval); - nsresult CreateDocumentType(nsAString * qualifiedName, nsAString * publicId, nsAString * systemId, nsIDOMDocumentType *_retval); - nsresult CreateDocument(nsAString * namespaceURI, nsAString * qualifiedName, nsIDOMDocumentType doctype, nsIDOMDocument *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMDocument.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -module dwt.internal.mozilla.nsIDOMDocument; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsStringAPI; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMNodeList; -import dwt.internal.mozilla.nsIDOMDocumentType; -import dwt.internal.mozilla.nsIDOMElement; -import dwt.internal.mozilla.nsIDOMDocumentFragment; -import dwt.internal.mozilla.nsIDOMText; -import dwt.internal.mozilla.nsIDOMComment; -import dwt.internal.mozilla.nsIDOMCDATASection; -import dwt.internal.mozilla.nsIDOMProcessingInstruction; -import dwt.internal.mozilla.nsIDOMDOMImplementation; -import dwt.internal.mozilla.nsIDOMAttr; -import dwt.internal.mozilla.nsIDOMEntityReference; - -const char[] NS_IDOMDOCUMENT_IID_STR = "a6cf9075-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMDOCUMENT_IID= - {0xa6cf9075, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMDocument : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMDOCUMENT_IID_STR; - static const nsIID IID = NS_IDOMDOCUMENT_IID; - - nsresult GetDoctype(nsIDOMDocumentType *aDoctype); - nsresult GetImplementation(nsIDOMDOMImplementation *aImplementation); - nsresult GetDocumentElement(nsIDOMElement *aDocumentElement); - nsresult CreateElement(nsAString * tagName, nsIDOMElement *_retval); - nsresult CreateDocumentFragment(nsIDOMDocumentFragment *_retval); - nsresult CreateTextNode(nsAString * data, nsIDOMText *_retval); - nsresult CreateComment(nsAString * data, nsIDOMComment *_retval); - nsresult CreateCDATASection(nsAString * data, nsIDOMCDATASection *_retval); - nsresult CreateProcessingInstruction(nsAString * target, nsAString * data, nsIDOMProcessingInstruction *_retval); - nsresult CreateAttribute(nsAString * name, nsIDOMAttr *_retval); - nsresult CreateEntityReference(nsAString * name, nsIDOMEntityReference *_retval); - nsresult GetElementsByTagName(nsAString * tagname, nsIDOMNodeList *_retval); - nsresult ImportNode(nsIDOMNode importedNode, PRBool deep, nsIDOMNode *_retval); - nsresult CreateElementNS(nsAString * namespaceURI, nsAString * qualifiedName, nsIDOMElement *_retval); - nsresult CreateAttributeNS(nsAString * namespaceURI, nsAString * qualifiedName, nsIDOMAttr *_retval); - nsresult GetElementsByTagNameNS(nsAString * namespaceURI, nsAString * localName, nsIDOMNodeList *_retval); - nsresult GetElementById(nsAString * elementId, nsIDOMElement *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMDocumentFragment.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -module dwt.internal.mozilla.nsIDOMDocumentFragment; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMNode; - -const char[] NS_IDOMDOCUMENTFRAGMENT_IID_STR = "a6cf9076-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMDOCUMENTFRAGMENT_IID= - {0xa6cf9076, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(Windows) -interface nsIDOMDocumentFragment : nsIDOMNode { - static const char[] IID_STR = NS_IDOMDOCUMENTFRAGMENT_IID_STR; - static const nsIID IID = NS_IDOMDOCUMENTFRAGMENT_IID; - -} -
--- a/dwt/internal/mozilla/nsIDOMDocumentType.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -module dwt.internal.mozilla.nsIDOMDocumentType; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMNamedNodeMap; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMDOCUMENTTYPE_IID_STR = "a6cf9077-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMDOCUMENTTYPE_IID= - {0xa6cf9077, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMDocumentType : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMDOCUMENTTYPE_IID_STR; - static const nsIID IID = NS_IDOMDOCUMENTTYPE_IID; - - nsresult GetName(nsAString * aName); - nsresult GetEntities(nsIDOMNamedNodeMap *aEntities); - nsresult GetNotations(nsIDOMNamedNodeMap *aNotations); - nsresult GetPublicId(nsAString * aPublicId); - nsresult GetSystemId(nsAString * aSystemId); - nsresult GetInternalSubset(nsAString * aInternalSubset); - -} -
--- a/dwt/internal/mozilla/nsIDOMDocumentView.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIDOMDocumentView; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMAbstractView; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMDOCUMENTVIEW_IID_STR = "1acdb2ba-1dd2-11b2-95bc-9542495d2569"; - -const nsIID NS_IDOMDOCUMENTVIEW_IID= - {0x1acdb2ba, 0x1dd2, 0x11b2, - [ 0x95, 0xbc, 0x95, 0x42, 0x49, 0x5d, 0x25, 0x69 ]}; - -extern(System) - -interface nsIDOMDocumentView : nsISupports { - - static const char[] IID_STR = NS_IDOMDOCUMENTVIEW_IID_STR; - static const nsIID IID = NS_IDOMDOCUMENTVIEW_IID; - - nsresult GetDefaultView(nsIDOMAbstractView *aDefaultView); - -} -
--- a/dwt/internal/mozilla/nsIDOMElement.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -module dwt.internal.mozilla.nsIDOMElement; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMNodeList; -import dwt.internal.mozilla.nsIDOMAttr; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMELEMENT_IID_STR = "a6cf9078-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMELEMENT_IID= - {0xa6cf9078, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMElement : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMELEMENT_IID_STR; - static const nsIID IID = NS_IDOMELEMENT_IID; - - nsresult GetTagName(nsAString * aTagName); - nsresult GetAttribute(nsAString * name, nsAString * _retval); - nsresult SetAttribute(nsAString * name, nsAString * value); - nsresult RemoveAttribute(nsAString * name); - nsresult GetAttributeNode(nsAString * name, nsIDOMAttr *_retval); - nsresult SetAttributeNode(nsIDOMAttr newAttr, nsIDOMAttr *_retval); - nsresult RemoveAttributeNode(nsIDOMAttr oldAttr, nsIDOMAttr *_retval); - nsresult GetElementsByTagName(nsAString * name, nsIDOMNodeList *_retval); - nsresult GetAttributeNS(nsAString * namespaceURI, nsAString * localName, nsAString * _retval); - nsresult SetAttributeNS(nsAString * namespaceURI, nsAString * qualifiedName, nsAString * value); - nsresult RemoveAttributeNS(nsAString * namespaceURI, nsAString * localName); - nsresult GetAttributeNodeNS(nsAString * namespaceURI, nsAString * localName, nsIDOMAttr *_retval); - nsresult SetAttributeNodeNS(nsIDOMAttr newAttr, nsIDOMAttr *_retval); - nsresult GetElementsByTagNameNS(nsAString * namespaceURI, nsAString * localName, nsIDOMNodeList *_retval); - nsresult HasAttribute(nsAString * name, PRBool *_retval); - nsresult HasAttributeNS(nsAString * namespaceURI, nsAString * localName, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMEntityReference.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -module dwt.internal.mozilla.nsIDOMEntityReference; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMNode; - -const char[] NS_IDOMENTITYREFERENCE_IID_STR = "a6cf907a-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMENTITYREFERENCE_IID= - {0xa6cf907a, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMEntityReference : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMENTITYREFERENCE_IID_STR; - static const nsIID IID = NS_IDOMENTITYREFERENCE_IID; - -} -
--- a/dwt/internal/mozilla/nsIDOMEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -module dwt.internal.mozilla.nsIDOMEvent; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMEventTarget; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMEVENT_IID_STR = "a66b7b80-ff46-bd97-0080-5f8ae38add32"; - -const nsIID NS_IDOMEVENT_IID= - {0xa66b7b80, 0xff46, 0xbd97, - [ 0x00, 0x80, 0x5f, 0x8a, 0xe3, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMEvent : nsISupports { - - static const char[] IID_STR = NS_IDOMEVENT_IID_STR; - static const nsIID IID = NS_IDOMEVENT_IID; - - enum { CAPTURING_PHASE = 1U }; - enum { AT_TARGET = 2U }; - enum { BUBBLING_PHASE = 3U }; - - nsresult GetType(nsAString * aType); - nsresult GetTarget(nsIDOMEventTarget *aTarget); - nsresult GetCurrentTarget(nsIDOMEventTarget *aCurrentTarget); - nsresult GetEventPhase(PRUint16 *aEventPhase); - nsresult GetBubbles(PRBool *aBubbles); - nsresult GetCancelable(PRBool *aCancelable); - nsresult GetTimeStamp(DOMTimeStamp *aTimeStamp); - nsresult StopPropagation(); - nsresult PreventDefault(); - nsresult InitEvent(nsAString * eventTypeArg, PRBool canBubbleArg, PRBool cancelableArg); - -} -
--- a/dwt/internal/mozilla/nsIDOMEventGroup.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIDOMEventGroup; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMEVENTGROUP_IID_STR = "33347bee-6620-4841-8152-36091ae80c7e"; - -const nsIID NS_IDOMEVENTGROUP_IID= - {0x33347bee, 0x6620, 0x4841, - [ 0x81, 0x52, 0x36, 0x09, 0x1a, 0xe8, 0x0c, 0x7e ]}; - -extern(System) - -interface nsIDOMEventGroup : nsISupports { - - static const char[] IID_STR = NS_IDOMEVENTGROUP_IID_STR; - static const nsIID IID = NS_IDOMEVENTGROUP_IID; - - nsresult IsSameEventGroup(nsIDOMEventGroup other, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMEventListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIDOMEventListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMEvent; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMEVENTLISTENER_IID_STR = "df31c120-ded6-11d1-bd85-00805f8ae3f4"; -const nsIID NS_IDOMEVENTLISTENER_IID= - {0xdf31c120, 0xded6, 0x11d1, - [ 0xbd, 0x85, 0x00, 0x80, 0x5f, 0x8a, 0xe3, 0xf4 ]}; - -extern(System) - -interface nsIDOMEventListener : nsISupports { - - static const char[] IID_STR = NS_IDOMEVENTLISTENER_IID_STR; - static const nsIID IID = NS_IDOMEVENTLISTENER_IID; - - nsresult HandleEvent(nsIDOMEvent event); -} -
--- a/dwt/internal/mozilla/nsIDOMEventTarget.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIDOMEventTarget; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMEvent; -import dwt.internal.mozilla.nsIDOMEventListener; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMEVENTTARGET_IID_STR = "1c773b30-d1cf-11d2-bd95-00805f8ae3f4"; - -const nsIID NS_IDOMEVENTTARGET_IID= - {0x1c773b30, 0xd1cf, 0x11d2, - [ 0xbd, 0x95, 0x00, 0x80, 0x5f, 0x8a, 0xe3, 0xf4 ]}; - -extern(System) - -interface nsIDOMEventTarget : nsISupports { - - static const char[] IID_STR = NS_IDOMEVENTTARGET_IID_STR; - static const nsIID IID = NS_IDOMEVENTTARGET_IID; - - nsresult AddEventListener(nsAString * type, nsIDOMEventListener listener, PRBool useCapture); - nsresult RemoveEventListener(nsAString * type, nsIDOMEventListener listener, PRBool useCapture); - nsresult DispatchEvent(nsIDOMEvent evt, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMKeyEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -module dwt.internal.mozilla.nsIDOMKeyEvent; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMUIEvent; -import dwt.internal.mozilla.nsIDOMAbstractView; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMKEYEVENT_IID_STR = "028e0e6e-8b01-11d3-aae7-0010838a3123"; - -const nsIID NS_IDOMKEYEVENT_IID= - {0x028e0e6e, 0x8b01, 0x11d3, - [ 0xaa, 0xe7, 0x00, 0x10, 0x83, 0x8a, 0x31, 0x23 ]}; - -extern(System) - -interface nsIDOMKeyEvent : nsIDOMUIEvent { - - static const char[] IID_STR = NS_IDOMKEYEVENT_IID_STR; - static const nsIID IID = NS_IDOMKEYEVENT_IID; - - enum { DOM_VK_CANCEL = 3U }; - enum { DOM_VK_HELP = 6U }; - enum { DOM_VK_BACK_SPACE = 8U }; - enum { DOM_VK_TAB = 9U }; - enum { DOM_VK_CLEAR = 12U }; - enum { DOM_VK_RETURN = 13U }; - enum { DOM_VK_ENTER = 14U }; - enum { DOM_VK_SHIFT = 16U }; - enum { DOM_VK_CONTROL = 17U }; - enum { DOM_VK_ALT = 18U }; - enum { DOM_VK_PAUSE = 19U }; - enum { DOM_VK_CAPS_LOCK = 20U }; - enum { DOM_VK_ESCAPE = 27U }; - enum { DOM_VK_SPACE = 32U }; - enum { DOM_VK_PAGE_UP = 33U }; - enum { DOM_VK_PAGE_DOWN = 34U }; - enum { DOM_VK_END = 35U }; - enum { DOM_VK_HOME = 36U }; - enum { DOM_VK_LEFT = 37U }; - enum { DOM_VK_UP = 38U }; - enum { DOM_VK_RIGHT = 39U }; - enum { DOM_VK_DOWN = 40U }; - enum { DOM_VK_PRINTSCREEN = 44U }; - enum { DOM_VK_INSERT = 45U }; - enum { DOM_VK_DELETE = 46U }; - enum { DOM_VK_0 = 48U }; - enum { DOM_VK_1 = 49U }; - enum { DOM_VK_2 = 50U }; - enum { DOM_VK_3 = 51U }; - enum { DOM_VK_4 = 52U }; - enum { DOM_VK_5 = 53U }; - enum { DOM_VK_6 = 54U }; - enum { DOM_VK_7 = 55U }; - enum { DOM_VK_8 = 56U }; - enum { DOM_VK_9 = 57U }; - enum { DOM_VK_SEMICOLON = 59U }; - enum { DOM_VK_EQUALS = 61U }; - enum { DOM_VK_A = 65U }; - enum { DOM_VK_B = 66U }; - enum { DOM_VK_C = 67U }; - enum { DOM_VK_D = 68U }; - enum { DOM_VK_E = 69U }; - enum { DOM_VK_F = 70U }; - enum { DOM_VK_G = 71U }; - enum { DOM_VK_H = 72U }; - enum { DOM_VK_I = 73U }; - enum { DOM_VK_J = 74U }; - enum { DOM_VK_K = 75U }; - enum { DOM_VK_L = 76U }; - enum { DOM_VK_M = 77U }; - enum { DOM_VK_N = 78U }; - enum { DOM_VK_O = 79U }; - enum { DOM_VK_P = 80U }; - enum { DOM_VK_Q = 81U }; - enum { DOM_VK_R = 82U }; - enum { DOM_VK_S = 83U }; - enum { DOM_VK_T = 84U }; - enum { DOM_VK_U = 85U }; - enum { DOM_VK_V = 86U }; - enum { DOM_VK_W = 87U }; - enum { DOM_VK_X = 88U }; - enum { DOM_VK_Y = 89U }; - enum { DOM_VK_Z = 90U }; - enum { DOM_VK_CONTEXT_MENU = 93U }; - enum { DOM_VK_NUMPAD0 = 96U }; - enum { DOM_VK_NUMPAD1 = 97U }; - enum { DOM_VK_NUMPAD2 = 98U }; - enum { DOM_VK_NUMPAD3 = 99U }; - enum { DOM_VK_NUMPAD4 = 100U }; - enum { DOM_VK_NUMPAD5 = 101U }; - enum { DOM_VK_NUMPAD6 = 102U }; - enum { DOM_VK_NUMPAD7 = 103U }; - enum { DOM_VK_NUMPAD8 = 104U }; - enum { DOM_VK_NUMPAD9 = 105U }; - enum { DOM_VK_MULTIPLY = 106U }; - enum { DOM_VK_ADD = 107U }; - enum { DOM_VK_SEPARATOR = 108U }; - enum { DOM_VK_SUBTRACT = 109U }; - enum { DOM_VK_DECIMAL = 110U }; - enum { DOM_VK_DIVIDE = 111U }; - enum { DOM_VK_F1 = 112U }; - enum { DOM_VK_F2 = 113U }; - enum { DOM_VK_F3 = 114U }; - enum { DOM_VK_F4 = 115U }; - enum { DOM_VK_F5 = 116U }; - enum { DOM_VK_F6 = 117U }; - enum { DOM_VK_F7 = 118U }; - enum { DOM_VK_F8 = 119U }; - enum { DOM_VK_F9 = 120U }; - enum { DOM_VK_F10 = 121U }; - enum { DOM_VK_F11 = 122U }; - enum { DOM_VK_F12 = 123U }; - enum { DOM_VK_F13 = 124U }; - enum { DOM_VK_F14 = 125U }; - enum { DOM_VK_F15 = 126U }; - enum { DOM_VK_F16 = 127U }; - enum { DOM_VK_F17 = 128U }; - enum { DOM_VK_F18 = 129U }; - enum { DOM_VK_F19 = 130U }; - enum { DOM_VK_F20 = 131U }; - enum { DOM_VK_F21 = 132U }; - enum { DOM_VK_F22 = 133U }; - enum { DOM_VK_F23 = 134U }; - enum { DOM_VK_F24 = 135U }; - enum { DOM_VK_NUM_LOCK = 144U }; - enum { DOM_VK_SCROLL_LOCK = 145U }; - enum { DOM_VK_COMMA = 188U }; - enum { DOM_VK_PERIOD = 190U }; - enum { DOM_VK_SLASH = 191U }; - enum { DOM_VK_BACK_QUOTE = 192U }; - enum { DOM_VK_OPEN_BRACKET = 219U }; - enum { DOM_VK_BACK_SLASH = 220U }; - enum { DOM_VK_CLOSE_BRACKET = 221U }; - enum { DOM_VK_QUOTE = 222U }; - enum { DOM_VK_META = 224U }; - - nsresult GetCharCode(PRUint32 *aCharCode); - nsresult GetKeyCode(PRUint32 *aKeyCode); - nsresult GetAltKey(PRBool *aAltKey); - nsresult GetCtrlKey(PRBool *aCtrlKey); - nsresult GetShiftKey(PRBool *aShiftKey); - nsresult GetMetaKey(PRBool *aMetaKey); - - nsresult InitKeyEvent(nsAString * typeArg, PRBool canBubbleArg, PRBool cancelableArg, nsIDOMAbstractView viewArg, PRBool ctrlKeyArg, PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint32 keyCodeArg, PRUint32 charCodeArg); - -} -
--- a/dwt/internal/mozilla/nsIDOMMouseEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIDOMMouseEvent; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMUIEvent; -import dwt.internal.mozilla.nsIDOMEventTarget; -import dwt.internal.mozilla.nsIDOMAbstractView; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMMOUSEEVENT_IID_STR = "ff751edc-8b02-aae7-0010-8301838a3123"; - -const nsIID NS_IDOMMOUSEEVENT_IID= - {0xff751edc, 0x8b02, 0xaae7, - [ 0x00, 0x10, 0x83, 0x01, 0x83, 0x8a, 0x31, 0x23 ]}; - -extern(System) - -interface nsIDOMMouseEvent : nsIDOMUIEvent { - - static const char[] IID_STR = NS_IDOMMOUSEEVENT_IID_STR; - static const nsIID IID = NS_IDOMMOUSEEVENT_IID; - - nsresult GetScreenX(PRInt32 *aScreenX); - nsresult GetScreenY(PRInt32 *aScreenY); - nsresult GetClientX(PRInt32 *aClientX); - nsresult GetClientY(PRInt32 *aClientY); - nsresult GetCtrlKey(PRBool *aCtrlKey); - nsresult GetShiftKey(PRBool *aShiftKey); - nsresult GetAltKey(PRBool *aAltKey); - nsresult GetMetaKey(PRBool *aMetaKey); - nsresult GetButton(PRUint16 *aButton); - nsresult GetRelatedTarget(nsIDOMEventTarget *aRelatedTarget); - - nsresult InitMouseEvent(nsAString * typeArg, PRBool canBubbleArg, PRBool cancelableArg, nsIDOMAbstractView viewArg, PRInt32 detailArg, PRInt32 screenXArg, PRInt32 screenYArg, PRInt32 clientXArg, PRInt32 clientYArg, PRBool ctrlKeyArg, PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint16 buttonArg, nsIDOMEventTarget relatedTargetArg); - -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsIDOMNamedNodeMap.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -module dwt.internal.mozilla.nsIDOMNamedNodeMap; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMNAMEDNODEMAP_IID_STR = "a6cf907b-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMNAMEDNODEMAP_IID= - {0xa6cf907b, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMNamedNodeMap : nsISupports { - - static const char[] IID_STR = NS_IDOMNAMEDNODEMAP_IID_STR; - static const nsIID IID = NS_IDOMNAMEDNODEMAP_IID; - - nsresult GetNamedItem(nsAString * name, nsIDOMNode *_retval); - nsresult SetNamedItem(nsIDOMNode arg, nsIDOMNode *_retval); - nsresult RemoveNamedItem(nsAString * name, nsIDOMNode *_retval); - nsresult Item(PRUint32 index, nsIDOMNode *_retval); - nsresult GetLength(PRUint32 *aLength); - nsresult GetNamedItemNS(nsAString * namespaceURI, nsAString * localName, nsIDOMNode *_retval); - nsresult SetNamedItemNS(nsIDOMNode arg, nsIDOMNode *_retval); - nsresult RemoveNamedItemNS(nsAString * namespaceURI, nsAString * localName, nsIDOMNode *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMNode.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -module dwt.internal.mozilla.nsIDOMNode; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMNodeList; -import dwt.internal.mozilla.nsIDOMNamedNodeMap; -import dwt.internal.mozilla.nsIDOMDocument; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMNODE_IID_STR = "a6cf907c-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMNODE_IID= - {0xa6cf907c, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMNode : nsISupports { - - static const char[] IID_STR = NS_IDOMNODE_IID_STR; - static const nsIID IID = NS_IDOMNODE_IID; - - enum { ELEMENT_NODE = 1U }; - enum { ATTRIBUTE_NODE = 2U }; - enum { TEXT_NODE = 3U }; - enum { CDATA_SECTION_NODE = 4U }; - enum { ENTITY_REFERENCE_NODE = 5U }; - enum { ENTITY_NODE = 6U }; - enum { PROCESSING_INSTRUCTION_NODE = 7U }; - enum { COMMENT_NODE = 8U }; - enum { DOCUMENT_NODE = 9U }; - enum { DOCUMENT_TYPE_NODE = 10U }; - enum { DOCUMENT_FRAGMENT_NODE = 11U }; - enum { NOTATION_NODE = 12U }; - - nsresult GetNodeName(nsAString * aNodeName); - nsresult GetNodeValue(nsAString * aNodeValue); - nsresult SetNodeValue(nsAString * aNodeValue); - nsresult GetNodeType(PRUint16 *aNodeType); - nsresult GetParentNode(nsIDOMNode *aParentNode); - nsresult GetChildNodes(nsIDOMNodeList *aChildNodes); - nsresult GetFirstChild(nsIDOMNode *aFirstChild); - nsresult GetLastChild(nsIDOMNode *aLastChild); - nsresult GetPreviousSibling(nsIDOMNode *aPreviousSibling); - nsresult GetNextSibling(nsIDOMNode *aNextSibling); - nsresult GetAttributes(nsIDOMNamedNodeMap *aAttributes); - nsresult GetOwnerDocument(nsIDOMDocument *aOwnerDocument); - nsresult InsertBefore(nsIDOMNode newChild, nsIDOMNode refChild, nsIDOMNode *_retval); - nsresult ReplaceChild(nsIDOMNode newChild, nsIDOMNode oldChild, nsIDOMNode *_retval); - nsresult RemoveChild(nsIDOMNode oldChild, nsIDOMNode *_retval); - nsresult AppendChild(nsIDOMNode newChild, nsIDOMNode *_retval); - nsresult HasChildNodes(PRBool *_retval); - nsresult CloneNode(PRBool deep, nsIDOMNode *_retval); - nsresult Normalize(); - nsresult IsSupported(nsAString * feature, nsAString * version_, PRBool *_retval); - nsresult GetNamespaceURI(nsAString * aNamespaceURI); - nsresult GetPrefix(nsAString * aPrefix); - nsresult SetPrefix(nsAString * aPrefix); - nsresult GetLocalName(nsAString * aLocalName); - nsresult HasAttributes(PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMNodeList.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsIDOMNodeList; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMNode; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMNODELIST_IID_STR = "a6cf907d-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMNODELIST_IID= - {0xa6cf907d, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMNodeList : nsISupports { - - static const char[] IID_STR = NS_IDOMNODELIST_IID_STR; - static const nsIID IID = NS_IDOMNODELIST_IID; - - nsresult Item(PRUint32 index, nsIDOMNode *_retval); - nsresult GetLength(PRUint32 *aLength); - -} -
--- a/dwt/internal/mozilla/nsIDOMProcessingInstruction.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIDOMProcessingInstruction; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMPROCESSINGINSTRUCTION_IID_STR = "a6cf907f-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMPROCESSINGINSTRUCTION_IID= - {0xa6cf907f, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMProcessingInstruction : nsIDOMNode { - - static const char[] IID_STR = NS_IDOMPROCESSINGINSTRUCTION_IID_STR; - static const nsIID IID = NS_IDOMPROCESSINGINSTRUCTION_IID; - - nsresult GetTarget(nsAString * aTarget); - nsresult GetData(nsAString * aData); - nsresult SetData(nsAString * aData); - -} -
--- a/dwt/internal/mozilla/nsIDOMRange.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -module dwt.internal.mozilla.nsIDOMRange; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMDocumentFragment; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMRANGE_IID_STR = "a6cf90ce-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMRANGE_IID= - {0xa6cf90ce, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMRange : nsISupports { - - static const char[] IID_STR = NS_IDOMRANGE_IID_STR; - static const nsIID IID = NS_IDOMRANGE_IID; - - nsresult GetStartContainer(nsIDOMNode *aStartContainer); - nsresult GetStartOffset(PRInt32 *aStartOffset); - nsresult GetEndContainer(nsIDOMNode *aEndContainer); - nsresult GetEndOffset(PRInt32 *aEndOffset); - nsresult GetCollapsed(PRBool *aCollapsed); - nsresult GetCommonAncestorContainer(nsIDOMNode *aCommonAncestorContainer); - nsresult SetStart(nsIDOMNode refNode, PRInt32 offset); - nsresult SetEnd(nsIDOMNode refNode, PRInt32 offset); - nsresult SetStartBefore(nsIDOMNode refNode); - nsresult SetStartAfter(nsIDOMNode refNode); - nsresult SetEndBefore(nsIDOMNode refNode); - nsresult SetEndAfter(nsIDOMNode refNode); - nsresult Collapse(PRBool toStart); - nsresult SelectNode(nsIDOMNode refNode); - nsresult SelectNodeContents(nsIDOMNode refNode); - - enum { START_TO_START = 0U }; - enum { START_TO_END = 1U }; - enum { END_TO_END = 2U }; - enum { END_TO_START = 3U }; - - nsresult CompareBoundaryPoints(PRUint16 how, nsIDOMRange sourceRange, PRInt16 *_retval); - nsresult DeleteContents(); - nsresult ExtractContents(nsIDOMDocumentFragment *_retval); - nsresult CloneContents(nsIDOMDocumentFragment *_retval); - nsresult InsertNode(nsIDOMNode newNode); - nsresult SurroundContents(nsIDOMNode newParent); - nsresult CloneRange(nsIDOMRange *_retval); - nsresult ToString(nsAString * _retval); - nsresult Detach(); - -} -
--- a/dwt/internal/mozilla/nsIDOMSerializer.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIDOMSerializer; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIOutputStream; -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IDOMSERIALIZER_IID_STR = "9fd4ba15-e67c-4c98-b52c-7715f62c9196"; - -const nsIID NS_IDOMSERIALIZER_IID= - {0x9fd4ba15, 0xe67c, 0x4c98, - [ 0xb5, 0x2c, 0x77, 0x15, 0xf6, 0x2c, 0x91, 0x96 ]}; - -extern(System) - -interface nsIDOMSerializer : nsISupports { - - static const char[] IID_STR = NS_IDOMSERIALIZER_IID_STR; - static const nsIID IID = NS_IDOMSERIALIZER_IID; - - nsresult SerializeToString(nsIDOMNode root, nsAString * _retval); - nsresult SerializeToStream(nsIDOMNode root, nsIOutputStream stream, nsACString * charset); - -} -
--- a/dwt/internal/mozilla/nsIDOMStorage.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsIDOMStorage; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsStringAPI; -import dwt.internal.mozilla.nsIDOMStorageItem; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMSTORAGE_IID_STR = "95cc1383-3b62-4b89-aaef-1004a513ef47"; - -const nsIID NS_IDOMSTORAGE_IID= - {0x95cc1383, 0x3b62, 0x4b89, - [ 0xaa, 0xef, 0x10, 0x04, 0xa5, 0x13, 0xef, 0x47 ]}; - -extern(System) - -interface nsIDOMStorage : nsISupports { - - static const char[] IID_STR = NS_IDOMSTORAGE_IID_STR; - static const nsIID IID = NS_IDOMSTORAGE_IID; - - nsresult GetLength(PRUint32 *aLength); - nsresult Key(PRUint32 index, nsAString * _retval); - nsresult GetItem(nsAString * key, nsIDOMStorageItem *_retval); - nsresult SetItem(nsAString * key, nsAString * data); - nsresult RemoveItem(nsAString * key); - -} -
--- a/dwt/internal/mozilla/nsIDOMStorageItem.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIDOMStorageItem; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMSTORAGEITEM_IID_STR = "0cc37c78-4c5f-48e1-adfc-7480b8fe9dc4"; - -const nsIID NS_IDOMSTORAGEITEM_IID= - {0x0cc37c78, 0x4c5f, 0x48e1, - [ 0xad, 0xfc, 0x74, 0x80, 0xb8, 0xfe, 0x9d, 0xc4 ]}; - -extern(System) - -interface nsIDOMStorageItem : nsISupports { - - static const char[] IID_STR = NS_IDOMSTORAGEITEM_IID_STR; - static const nsIID IID = NS_IDOMSTORAGEITEM_IID; - - nsresult GetSecure(PRBool *aSecure); - nsresult SetSecure(PRBool aSecure); - nsresult GetValue(nsAString * aValue); - nsresult SetValue(nsAString * aValue); - -} -
--- a/dwt/internal/mozilla/nsIDOMText.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIDOMText; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMCharacterData; - -const char[] NS_IDOMTEXT_IID_STR = "a6cf9082-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMTEXT_IID= - {0xa6cf9082, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMText : nsIDOMCharacterData { - - static const char[] IID_STR = NS_IDOMTEXT_IID_STR; - static const nsIID IID = NS_IDOMTEXT_IID; - - nsresult SplitText(PRUint32 offset, nsIDOMText *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDOMUIEvent.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsIDOMUIEvent; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIDOMEvent; -import dwt.internal.mozilla.nsStringAPI; -import dwt.internal.mozilla.nsIDOMAbstractView; - -const char[] NS_IDOMUIEVENT_IID_STR = "a6cf90c3-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMUIEVENT_IID= - {0xa6cf90c3, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMUIEvent : nsIDOMEvent { - - static const char[] IID_STR = NS_IDOMUIEVENT_IID_STR; - static const nsIID IID = NS_IDOMUIEVENT_IID; - - nsresult GetView(nsIDOMAbstractView *aView); - nsresult GetDetail(PRInt32 *aDetail); - nsresult InitUIEvent(nsAString * typeArg, PRBool canBubbleArg, PRBool cancelableArg, nsIDOMAbstractView viewArg, PRInt32 detailArg); - -} -
--- a/dwt/internal/mozilla/nsIDOMWindow.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -module dwt.internal.mozilla.nsIDOMWindow; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMWindowCollection; -import dwt.internal.mozilla.nsIDOMDocument; -import dwt.internal.mozilla.nsIDOMBarProp; -import dwt.internal.mozilla.nsISelection; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMWINDOW_IID_STR = "a6cf906b-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMWINDOW_IID= - {0xa6cf906b, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMWindow : nsISupports { - - static const char[] IID_STR = NS_IDOMWINDOW_IID_STR; - static const nsIID IID = NS_IDOMWINDOW_IID; - - nsresult GetDocument(nsIDOMDocument *aDocument); - nsresult GetParent(nsIDOMWindow *aParent); - nsresult GetTop(nsIDOMWindow *aTop); - nsresult GetScrollbars(nsIDOMBarProp *aScrollbars); - nsresult GetFrames(nsIDOMWindowCollection *aFrames); - nsresult GetName(nsAString * aName); - nsresult SetName(nsAString * aName); - nsresult GetTextZoom(float *aTextZoom); - nsresult SetTextZoom(float aTextZoom); - nsresult GetScrollX(PRInt32 *aScrollX); - nsresult GetScrollY(PRInt32 *aScrollY); - nsresult ScrollTo(PRInt32 xScroll, PRInt32 yScroll); - nsresult ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif); - nsresult GetSelection(nsISelection *_retval); - nsresult ScrollByLines(PRInt32 numLines); - nsresult ScrollByPages(PRInt32 numPages); - nsresult SizeToContent(); - -} -
--- a/dwt/internal/mozilla/nsIDOMWindow2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIDOMWindow2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIDOMEventTarget; - -const char[] NS_IDOMWINDOW2_IID_STR = "65455132-b96a-40ec-adea-52fa22b1028c"; - -const nsIID NS_IDOMWINDOW2_IID= - {0x65455132, 0xb96a, 0x40ec, - [ 0xad, 0xea, 0x52, 0xfa, 0x22, 0xb1, 0x02, 0x8c ]}; - -extern(System) - -interface nsIDOMWindow2 : nsIDOMWindow { - - static const char[] IID_STR = NS_IDOMWINDOW2_IID_STR; - static const nsIID IID = NS_IDOMWINDOW2_IID; - - nsresult GetWindowRoot(nsIDOMEventTarget *aWindowRoot); - -} -
--- a/dwt/internal/mozilla/nsIDOMWindowCollection.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIDOMWindowCollection; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint64 DOMTimeStamp; - -const char[] NS_IDOMWINDOWCOLLECTION_IID_STR = "a6cf906f-15b3-11d2-932e-00805f8add32"; - -const nsIID NS_IDOMWINDOWCOLLECTION_IID= - {0xa6cf906f, 0x15b3, 0x11d2, - [ 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 ]}; - -extern(System) - -interface nsIDOMWindowCollection : nsISupports { - - static const char[] IID_STR = NS_IDOMWINDOWCOLLECTION_IID_STR; - static const nsIID IID = NS_IDOMWINDOWCOLLECTION_IID; - - nsresult GetLength(PRUint32 *aLength); - nsresult Item(PRUint32 index, nsIDOMWindow *_retval); - nsresult NamedItem(nsAString * name, nsIDOMWindow *_retval); - -} -
--- a/dwt/internal/mozilla/nsIDebug.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -module dwt.internal.mozilla.nsIDebug; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IDEBUG_IID_STR = "3bf0c3d7-3bd9-4cf2-a971-33572c503e1e"; - -const nsIID NS_IDEBUG_IID= - {0x3bf0c3d7, 0x3bd9, 0x4cf2, - [ 0xa9, 0x71, 0x33, 0x57, 0x2c, 0x50, 0x3e, 0x1e ]}; - -extern(System) -interface nsIDebug : nsISupports { - static const char[] IID_STR = NS_IDEBUG_IID_STR; - static const nsIID IID = NS_IDEBUG_IID; - - nsresult Assertion(char *aStr, char *aExpr, char *aFile, PRInt32 aLine); - nsresult Warning(char *aStr, char *aFile, PRInt32 aLine); - nsresult Break(char *aFile, PRInt32 aLine); - nsresult Abort(char *aFile, PRInt32 aLine); -} -
--- a/dwt/internal/mozilla/nsIDirectoryService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -module dwt.internal.mozilla.nsIDirectoryService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIFile; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDIRECTORYSERVICEPROVIDER_IID_STR = "bbf8cab0-d43a-11d3-8cc2-00609792278c"; - -const nsIID NS_IDIRECTORYSERVICEPROVIDER_IID= - {0xbbf8cab0, 0xd43a, 0x11d3, - [ 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]}; - -extern(System) - -interface nsIDirectoryServiceProvider : nsISupports { - - static const char[] IID_STR = NS_IDIRECTORYSERVICEPROVIDER_IID_STR; - static const nsIID IID = NS_IDIRECTORYSERVICEPROVIDER_IID; - - nsresult GetFile(char *prop, PRBool *persistent, nsIFile *_retval); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDIRECTORYSERVICEPROVIDER2_IID_STR = "2f977d4b-5485-11d4-87e2-0010a4e75ef2"; - -const nsIID NS_IDIRECTORYSERVICEPROVIDER2_IID= - {0x2f977d4b, 0x5485, 0x11d4, - [ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 ]}; - -extern(System) - -interface nsIDirectoryServiceProvider2 : nsIDirectoryServiceProvider { - - static const char[] IID_STR = NS_IDIRECTORYSERVICEPROVIDER2_IID_STR; - static const nsIID IID = NS_IDIRECTORYSERVICEPROVIDER2_IID; - - nsresult GetFiles(char *prop, nsISimpleEnumerator *_retval); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDIRECTORYSERVICE_IID_STR = "57a66a60-d43a-11d3-8cc2-00609792278c"; - -const nsIID NS_IDIRECTORYSERVICE_IID= - {0x57a66a60, 0xd43a, 0x11d3, - [ 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]}; - -extern(System) - -interface nsIDirectoryService : nsISupports { - - static const char[] IID_STR = NS_IDIRECTORYSERVICE_IID_STR; - static const nsIID IID = NS_IDIRECTORYSERVICE_IID; - - nsresult Init(); - nsresult RegisterProvider(nsIDirectoryServiceProvider prov); - nsresult UnregisterProvider(nsIDirectoryServiceProvider prov); -} -
--- a/dwt/internal/mozilla/nsIDocShell.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -// FIXME; IID's are not consistant with SWT version - -module dwt.internal.mozilla.nsIDocShell; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIChannel; -import dwt.internal.mozilla.nsIContentViewer; -import dwt.internal.mozilla.nsIURIContentListener; -import dwt.internal.mozilla.nsIChromeEventHandler; -import dwt.internal.mozilla.nsIDocShellLoadInfo; -import dwt.internal.mozilla.nsIDocumentCharsetInfo; -import dwt.internal.mozilla.nsIWebNavigation; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsISHEntry; -import dwt.internal.mozilla.nsISecureBrowserUI; -import dwt.internal.mozilla.nsIDOMStorage; -import dwt.internal.mozilla.nsStringAPI; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDOCSHELL_IID_STR = "9f0c7461-b9a4-47f6-b88c-421dce1bce66"; - -const nsIID NS_IDOCSHELL_IID= - {0x9f0c7461, 0xb9a4, 0x47f6, - [ 0xb8, 0x8c, 0x42, 0x1d, 0xce, 0x1b, 0xce, 0x66 ]}; - -extern(System) - -interface nsIDocShell : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELL_IID_STR; - static const nsIID IID = NS_IDOCSHELL_IID; - - nsresult LoadURI(nsIURI uri, nsIDocShellLoadInfo loadInfo, PRUint32 aLoadFlags, PRBool firstParty); - nsresult LoadStream(nsIInputStream aStream, nsIURI aURI, nsACString * aContentType, nsACString * aContentCharset, nsIDocShellLoadInfo aLoadInfo); - - enum { INTERNAL_LOAD_FLAGS_NONE = 0 }; - enum { INTERNAL_LOAD_FLAGS_INHERIT_OWNER = 1 }; - enum { INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER = 2 }; - enum { INTERNAL_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP = 4 }; - enum { INTERNAL_LOAD_FLAGS_FIRST_LOAD = 8 }; - - nsresult InternalLoad(nsIURI aURI, nsIURI aReferrer, nsISupports aOwner, PRUint32 aFlags, PRUnichar *aWindowTarget, char *aTypeHint, nsIInputStream aPostDataStream, nsIInputStream aHeadersStream, PRUint32 aLoadFlags, nsISHEntry aSHEntry, PRBool firstParty, nsIDocShell *aDocShell, nsIRequest *aRequest); - - nsresult CreateLoadInfo(nsIDocShellLoadInfo *loadInfo); - nsresult PrepareForNewContentModel(); - nsresult SetCurrentURI(nsIURI aURI); - nsresult FirePageHideNotification(PRBool isUnload); - nsresult GetPresContext(nsPresContext * *aPresContext); - nsresult GetPresShell(nsIPresShell * *aPresShell); - nsresult GetEldestPresShell(nsIPresShell * *aEldestPresShell); - nsresult GetContentViewer(nsIContentViewer *aContentViewer); - nsresult GetChromeEventHandler(nsIChromeEventHandler *aChromeEventHandler); - nsresult SetChromeEventHandler(nsIChromeEventHandler aChromeEventHandler); - nsresult GetDocumentCharsetInfo(nsIDocumentCharsetInfo *aDocumentCharsetInfo); - nsresult SetDocumentCharsetInfo(nsIDocumentCharsetInfo aDocumentCharsetInfo); - nsresult GetAllowPlugins(PRBool *aAllowPlugins); - nsresult SetAllowPlugins(PRBool aAllowPlugins); - nsresult GetAllowJavascript(PRBool *aAllowJavascript); - nsresult SetAllowJavascript(PRBool aAllowJavascript); - nsresult GetAllowMetaRedirects(PRBool *aAllowMetaRedirects); - nsresult SetAllowMetaRedirects(PRBool aAllowMetaRedirects); - nsresult GetAllowSubframes(PRBool *aAllowSubframes); - nsresult SetAllowSubframes(PRBool aAllowSubframes); - nsresult GetAllowImages(PRBool *aAllowImages); - nsresult SetAllowImages(PRBool aAllowImages); - - enum { ENUMERATE_FORWARDS = 0 }; - enum { ENUMERATE_BACKWARDS = 1 }; - - nsresult GetDocShellEnumerator(PRInt32 aItemType, PRInt32 aDirection, nsISimpleEnumerator *_retval); - - enum { APP_TYPE_UNKNOWN = 0U }; - enum { APP_TYPE_MAIL = 1U }; - enum { APP_TYPE_EDITOR = 2U }; - - nsresult GetAppType(PRUint32 *aAppType); - nsresult SetAppType(PRUint32 aAppType); - nsresult GetAllowAuth(PRBool *aAllowAuth); - nsresult SetAllowAuth(PRBool aAllowAuth); - nsresult GetZoom(float *aZoom); - nsresult SetZoom(float aZoom); - nsresult GetMarginWidth(PRInt32 *aMarginWidth); - nsresult SetMarginWidth(PRInt32 aMarginWidth); - nsresult GetMarginHeight(PRInt32 *aMarginHeight); - nsresult SetMarginHeight(PRInt32 aMarginHeight); - nsresult GetHasFocus(PRBool *aHasFocus); - nsresult SetHasFocus(PRBool aHasFocus); - nsresult GetCanvasHasFocus(PRBool *aCanvasHasFocus); - nsresult SetCanvasHasFocus(PRBool aCanvasHasFocus); - nsresult TabToTreeOwner(PRBool forward, PRBool *tookFocus); - - enum { BUSY_FLAGS_NONE = 0U }; - enum { BUSY_FLAGS_BUSY = 1U }; - enum { BUSY_FLAGS_BEFORE_PAGE_LOAD = 2U }; - enum { BUSY_FLAGS_PAGE_LOADING = 4U }; - enum { LOAD_CMD_NORMAL = 1U }; - enum { LOAD_CMD_RELOAD = 2U }; - enum { LOAD_CMD_HISTORY = 4U }; - - nsresult GetBusyFlags(PRUint32 *aBusyFlags); - nsresult GetLoadType(PRUint32 *aLoadType); - nsresult SetLoadType(PRUint32 aLoadType); - nsresult IsBeingDestroyed(PRBool *_retval); - nsresult GetIsExecutingOnLoadHandler(PRBool *aIsExecutingOnLoadHandler); - nsresult GetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState); - nsresult SetLayoutHistoryState(nsILayoutHistoryState aLayoutHistoryState); - nsresult GetShouldSaveLayoutState(PRBool *aShouldSaveLayoutState); - nsresult GetSecurityUI(nsISecureBrowserUI *aSecurityUI); - nsresult SetSecurityUI(nsISecureBrowserUI aSecurityUI); - nsresult SuspendRefreshURIs(); - nsresult ResumeRefreshURIs(); - nsresult BeginRestore(nsIContentViewer viewer, PRBool top); - nsresult FinishRestore(); - nsresult GetRestoringDocument(PRBool *aRestoringDocument); - nsresult GetUseErrorPages(PRBool *aUseErrorPages); - nsresult SetUseErrorPages(PRBool aUseErrorPages); - nsresult GetPreviousTransIndex(PRInt32 *aPreviousTransIndex); - nsresult GetLoadedTransIndex(PRInt32 *aLoadedTransIndex); - nsresult HistoryPurged(PRInt32 numEntries); -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDOCSHELL_MOZILLA_1_8_BRANCH_IID_STR = "45988a14-b240-4d07-ae64-50ecca26e6d8"; - -const nsIID NS_IDOCSHELL_MOZILLA_1_8_BRANCH_IID= - {0x45988a14, 0xb240, 0x4d07, - [ 0xae, 0x64, 0x50, 0xec, 0xca, 0x26, 0xe6, 0xd8 ]}; - -extern(System) - -interface nsIDocShell_MOZILLA_1_8_BRANCH : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELL_MOZILLA_1_8_BRANCH_IID_STR; - static const nsIID IID = NS_IDOCSHELL_MOZILLA_1_8_BRANCH_IID; - - nsresult GetSessionStorageForURI(nsIURI uri, nsIDOMStorage *_retval); - nsresult AddSessionStorage(nsACString * aDomain, nsIDOMStorage storage); - nsresult GetCurrentDocumentChannel(nsIChannel *aCurrentDocumentChannel); -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDOCSHELL_MOZILLA_1_9_BRANCH_IID_STR = "45988a14-b240-4d07-ae64-50ecca26e6d8"; - -const nsIID NS_IDOCSHELL_MOZILLA_1_9_BRANCH_IID = - {0x45988a14, 0xb240, 0x4d07, - [ 0xae, 0x64, 0x50, 0xec, 0xca, 0x26, 0xe6, 0xd8 ]}; - -extern(System) - -interface nsIDocShell_MOZILLA_1_9_BRANCH : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELL_MOZILLA_1_9_BRANCH_IID_STR; - static const nsIID IID = NS_IDOCSHELL_MOZILLA_1_9_BRANCH_IID; - - nsresult GetSessionStorageForURI(nsIURI uri, nsIDOMStorage *_retval); - nsresult AddSessionStorage(nsACString * aDomain, nsIDOMStorage storage); - nsresult GetCurrentDocumentChannel(nsIChannel *aCurrentDocumentChannel); -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsIDocShellLoadInfo.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -module dwt.internal.mozilla.nsIDocShellLoadInfo; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsISHEntry; - -alias PRInt32 nsDocShellInfoLoadType; - -const char[] NS_IDOCSHELLLOADINFO_IID_STR = "4f813a88-7aca-4607-9896-d97270cdf15e"; - -const nsIID NS_IDOCSHELLLOADINFO_IID= - {0x4f813a88, 0x7aca, 0x4607, - [ 0x98, 0x96, 0xd9, 0x72, 0x70, 0xcd, 0xf1, 0x5e ]}; - -extern(System) - -interface nsIDocShellLoadInfo : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELLLOADINFO_IID_STR; - static const nsIID IID = NS_IDOCSHELLLOADINFO_IID; - - nsresult GetReferrer(nsIURI *aReferrer); - nsresult SetReferrer(nsIURI aReferrer); - nsresult GetOwner(nsISupports *aOwner); - nsresult SetOwner(nsISupports aOwner); - nsresult GetInheritOwner(PRBool *aInheritOwner); - nsresult SetInheritOwner(PRBool aInheritOwner); - - enum { loadNormal = 0 }; - enum { loadNormalReplace = 1 }; - enum { loadHistory = 2 }; - enum { loadReloadNormal = 3 }; - enum { loadReloadBypassCache = 4 }; - enum { loadReloadBypassProxy = 5 }; - enum { loadReloadBypassProxyAndCache = 6 }; - enum { loadLink = 7 }; - enum { loadRefresh = 8 }; - enum { loadReloadCharsetChange = 9 }; - enum { loadBypassHistory = 10 }; - enum { loadStopContent = 11 }; - enum { loadStopContentAndReplace = 12 }; - enum { loadNormalExternal = 13 }; - - nsresult GetLoadType(nsDocShellInfoLoadType *aLoadType); - nsresult SetLoadType(nsDocShellInfoLoadType aLoadType); - nsresult GetSHEntry(nsISHEntry *aSHEntry); - nsresult SetSHEntry(nsISHEntry aSHEntry); - nsresult GetTarget(PRUnichar * *aTarget); - nsresult SetTarget(PRUnichar * aTarget); - nsresult GetPostDataStream(nsIInputStream *aPostDataStream); - nsresult SetPostDataStream(nsIInputStream aPostDataStream); - nsresult GetHeadersStream(nsIInputStream *aHeadersStream); - nsresult SetHeadersStream(nsIInputStream aHeadersStream); - nsresult GetSendReferrer(PRBool *aSendReferrer); - nsresult SetSendReferrer(PRBool aSendReferrer); - -} -
--- a/dwt/internal/mozilla/nsIDocShellTreeItem.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -module dwt.internal.mozilla.nsIDocShellTreeItem; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDocShellTreeOwner; - -const char[] NS_IDOCSHELLTREEITEM_IID_STR = "7d935d63-6d2a-4600-afb5-9a4f7d68b825"; - -const nsIID NS_IDOCSHELLTREEITEM_IID= - {0x7d935d63, 0x6d2a, 0x4600, - [ 0xaf, 0xb5, 0x9a, 0x4f, 0x7d, 0x68, 0xb8, 0x25 ]}; - -extern(System) - -interface nsIDocShellTreeItem : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELLTREEITEM_IID_STR; - static const nsIID IID = NS_IDOCSHELLTREEITEM_IID; - - nsresult GetName(PRUnichar * *aName); - nsresult SetName(PRUnichar * aName); - nsresult NameEquals(PRUnichar *name, PRBool *_retval); - - enum { typeChrome = 0 }; - enum { typeContent = 1 }; - enum { typeContentWrapper = 2 }; - enum { typeChromeWrapper = 3 }; - enum { typeAll = 2147483647 }; - - nsresult GetItemType(PRInt32 *aItemType); - nsresult SetItemType(PRInt32 aItemType); - nsresult GetParent(nsIDocShellTreeItem *aParent); - nsresult GetSameTypeParent(nsIDocShellTreeItem *aSameTypeParent); - nsresult GetRootTreeItem(nsIDocShellTreeItem *aRootTreeItem); - nsresult GetSameTypeRootTreeItem(nsIDocShellTreeItem *aSameTypeRootTreeItem); - nsresult FindItemWithName(PRUnichar *name, nsISupports aRequestor, nsIDocShellTreeItem aOriginalRequestor, nsIDocShellTreeItem *_retval); - nsresult GetTreeOwner(nsIDocShellTreeOwner *aTreeOwner); - nsresult SetTreeOwner(nsIDocShellTreeOwner treeOwner); - nsresult GetChildOffset(PRInt32 *aChildOffset); - nsresult SetChildOffset(PRInt32 aChildOffset); - -} -
--- a/dwt/internal/mozilla/nsIDocShellTreeOwner.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -module dwt.internal.mozilla.nsIDocShellTreeOwner; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDocShellTreeItem; -import dwt.internal.mozilla.nsStringAPI; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDOCSHELLTREEOWNER_IID_STR = "9e508466-5ebb-4618-abfa-9ad47bed0b2e"; - -const nsIID NS_IDOCSHELLTREEOWNER_IID= - {0x9e508466, 0x5ebb, 0x4618, - [ 0xab, 0xfa, 0x9a, 0xd4, 0x7b, 0xed, 0x0b, 0x2e ]}; - -extern(System) - -interface nsIDocShellTreeOwner : nsISupports { - - static const char[] IID_STR = NS_IDOCSHELLTREEOWNER_IID_STR; - static const nsIID IID = NS_IDOCSHELLTREEOWNER_IID; - - nsresult FindItemWithName(PRUnichar *name, nsIDocShellTreeItem aRequestor, nsIDocShellTreeItem aOriginalRequestor, nsIDocShellTreeItem *_retval); - nsresult ContentShellAdded(nsIDocShellTreeItem aContentShell, PRBool aPrimary, PRUnichar *aID); - nsresult GetPrimaryContentShell(nsIDocShellTreeItem *aPrimaryContentShell); - nsresult SizeShellTo(nsIDocShellTreeItem shell, PRInt32 cx, PRInt32 cy); - nsresult SetPersistence(PRBool aPersistPosition, PRBool aPersistSize, PRBool aPersistSizeMode); - nsresult GetPersistence(PRBool *aPersistPosition, PRBool *aPersistSize, PRBool *aPersistSizeMode); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID_STR = "3c2a6927-e923-4ea8-bbda-a335c768ce4e"; - -const nsIID NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID= - {0x3c2a6927, 0xe923, 0x4ea8, - [ 0xbb, 0xda, 0xa3, 0x35, 0xc7, 0x68, 0xce, 0x4e ]}; - -extern(System) - -interface nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH : nsIDocShellTreeOwner { - - static const char[] IID_STR = NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID_STR; - static const nsIID IID = NS_IDOCSHELLTREEOWNER_MOZILLA_1_8_BRANCH_IID; - - nsresult ContentShellAdded2(nsIDocShellTreeItem aContentShell, PRBool aPrimary, PRBool aTargetable, nsAString * aID); - nsresult ContentShellRemoved(nsIDocShellTreeItem aContentShell); - -} -
--- a/dwt/internal/mozilla/nsIDocumentCharsetInfo.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsIDocumentCharsetInfo; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIAtom; - -const char[] NS_IDOCUMENTCHARSETINFO_IID_STR = "2d40b291-01e1-11d4-9d0e-0050040007b2"; - -const nsIID NS_IDOCUMENTCHARSETINFO_IID= - {0x2d40b291, 0x01e1, 0x11d4, - [ 0x9d, 0x0e, 0x00, 0x50, 0x04, 0x00, 0x07, 0xb2 ]}; - -extern(System) - -interface nsIDocumentCharsetInfo : nsISupports { - - static const char[] IID_STR = NS_IDOCUMENTCHARSETINFO_IID_STR; - static const nsIID IID = NS_IDOCUMENTCHARSETINFO_IID; - - nsresult GetForcedCharset(nsIAtom *aForcedCharset); - nsresult SetForcedCharset(nsIAtom aForcedCharset); - nsresult GetForcedDetector(PRBool *aForcedDetector); - nsresult SetForcedDetector(PRBool aForcedDetector); - nsresult GetParentCharset(nsIAtom *aParentCharset); - nsresult SetParentCharset(nsIAtom aParentCharset); - nsresult GetParentCharsetSource(PRInt32 *aParentCharsetSource); - nsresult SetParentCharsetSource(PRInt32 aParentCharsetSource); - -} -
--- a/dwt/internal/mozilla/nsIDownload.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -module dwt.internal.mozilla.nsIDownload; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsITransfer; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIObserver; -import dwt.internal.mozilla.nsICancelable; -import dwt.internal.mozilla.nsIMIMEInfo; - -const char[] NS_IDOWNLOAD_IID_STR = "9e1fd9f2-9727-4926-85cd-f16c375bba6d"; - -const nsIID NS_IDOWNLOAD_IID= - {0x9e1fd9f2, 0x9727, 0x4926, - [ 0x85, 0xcd, 0xf1, 0x6c, 0x37, 0x5b, 0xba, 0x6d ]}; - -extern(System) - -interface nsIDownload : nsISuppports { - - static const char[] IID_STR = NS_IDOWNLOAD_IID_STR; - static const nsIID IID = NS_IDOWNLOAD_IID; - - nsresult Init(nsIURI aSource, nsIURI aTarget, nsAString* aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, int /*long*/ aPersist); - nsresult GetSource(nsIURI *aSource); - nsresult GetTarget(nsIURI *aTarget); - nsresult GetPersist(int *aPersist); - nsresult GetPercentComplete(PRInt32 *aPercentComplete); - nsresult GetDisplayName(PRUnichar * *aDisplayName); - nsresult SetDisplayName(char[] aDisplayName); - nsresult GetStartTime(PRInt64 *aStartTime); - nsresult GetMIMEInfo(nsIMIMEInfo *aMIMEInfo); - nsresult GetListener(int * aListener); - nsresult SetListener(int aListener); - nsresult GetObserver(int * aObserver); - nsresult SetObserver(int aObserver); -}
--- a/dwt/internal/mozilla/nsIDownload_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -module dwt.internal.mozilla.nsIDownload; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsITransfer; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIObserver; -import dwt.internal.mozilla.nsICancelable; -import dwt.internal.mozilla.nsIMIMEInfo; - -const char[] NS_IDOWNLOAD_IID_STR = "9e1fd9f2-9727-4926-85cd-f16c375bba6d"; - -const nsIID NS_IDOWNLOAD_IID= - {0x9e1fd9f2, 0x9727, 0x4926, - [ 0x85, 0xcd, 0xf1, 0x6c, 0x37, 0x5b, 0xba, 0x6d ]}; - -extern(System) - -interface nsIDownload_1_8 : nsITransfer { - - static const char[] IID_STR = NS_IDOWNLOAD_IID_STR; - static const nsIID IID = NS_IDOWNLOAD_IID; - - nsresult GetTargetFile(nsILocalFile *aTargetFile); - nsresult GetPercentComplete(PRInt32 *aPercentComplete); - nsresult GetAmountTransferred(PRUint64 *aAmountTransferred); - nsresult GetSize(PRUint64 *aSize); - nsresult GetSource(nsIURI *aSource); - nsresult GetTarget(nsIURI *aTarget); - nsresult GetCancelable(nsICancelable *aCancelable); - nsresult GetDisplayName(PRUnichar * *aDisplayName); - nsresult GetStartTime(PRInt64 *aStartTime); - nsresult GetMIMEInfo(nsIMIMEInfo *aMIMEInfo); - -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsIEmbeddingSiteWindow.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -module dwt.internal.mozilla.nsIEmbeddingSiteWindow; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IEMBEDDINGSITEWINDOW_IID_STR = "3e5432cd-9568-4bd1-8cbe-d50aba110743"; - -const nsIID NS_IEMBEDDINGSITEWINDOW_IID= - {0x3e5432cd, 0x9568, 0x4bd1, - [ 0x8c, 0xbe, 0xd5, 0x0a, 0xba, 0x11, 0x07, 0x43 ]}; - -extern(System) - -interface nsIEmbeddingSiteWindow : nsISupports { - - static const char[] IID_STR = NS_IEMBEDDINGSITEWINDOW_IID_STR; - static const nsIID IID = NS_IEMBEDDINGSITEWINDOW_IID; - - enum { DIM_FLAGS_POSITION = 1U }; - enum { DIM_FLAGS_SIZE_INNER = 2U }; - enum { DIM_FLAGS_SIZE_OUTER = 4U }; - - nsresult SetDimensions(PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy); - nsresult GetDimensions(PRUint32 flags, PRInt32 *x, PRInt32 *y, PRInt32 *cx, PRInt32 *cy); - nsresult SetFocus(); - nsresult GetVisibility(PRBool *aVisibility); - nsresult SetVisibility(PRBool aVisibility); - nsresult GetTitle(PRUnichar * *aTitle); - nsresult SetTitle(PRUnichar * aTitle); - nsresult GetSiteWindow(void * *aSiteWindow); - -} -
--- a/dwt/internal/mozilla/nsIEmbeddingSiteWindow2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -module dwt.internal.mozilla.nsIEmbeddingSiteWindow2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIEmbeddingSiteWindow; - -const char[] NS_IEMBEDDINGSITEWINDOW2_IID_STR = "e932bf55-0a64-4beb-923a-1f32d3661044"; - -const nsIID NS_IEMBEDDINGSITEWINDOW2_IID= - {0xe932bf55, 0x0a64, 0x4beb, - [ 0x92, 0x3a, 0x1f, 0x32, 0xd3, 0x66, 0x10, 0x44 ]}; - -extern(System) - -interface nsIEmbeddingSiteWindow2 : nsIEmbeddingSiteWindow { - - static const char[] IID_STR = NS_IEMBEDDINGSITEWINDOW2_IID_STR; - static const nsIID IID = NS_IEMBEDDINGSITEWINDOW2_IID; - - nsresult Blur(); - -} -
--- a/dwt/internal/mozilla/nsIEnumerator.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -module dwt.internal.mozilla.nsIEnumerator; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IENUMERATOR_IID_STR = "ad385286-cbc4-11d2-8cca-0060b0fc14a3"; - -const nsIID NS_IENUMERATOR_IID= - {0xad385286, 0xcbc4, 0x11d2, - [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]}; - -extern(System) - -interface nsIEnumerator : nsISupports { - - static const char[] IID_STR = NS_IENUMERATOR_IID_STR; - static const nsIID IID = NS_IENUMERATOR_IID; - - nsresult First(); - nsresult Next(); - nsresult CurrentItem(nsISupports *_retval); - nsresult IsDone(); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IBIDIRECTIONALENUMERATOR_IID_STR = "75f158a0-cadd-11d2-8cca-0060b0fc14a3"; - -const nsIID NS_IBIDIRECTIONALENUMERATOR_IID= - {0x75f158a0, 0xcadd, 0x11d2, - [ 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]}; - -extern(System) - -interface nsIBidirectionalEnumerator : nsIEnumerator { - - static const char[] IID_STR = NS_IBIDIRECTIONALENUMERATOR_IID_STR; - static const nsIID IID = NS_IBIDIRECTIONALENUMERATOR_IID; - - nsresult Last(); - nsresult Prev(); - -} -
--- a/dwt/internal/mozilla/nsIEventQueue.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -module dwt.internal.mozilla.nsIEventQueue; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIEventTarget; - -const char[] NS_IEVENTQUEUE_IID_STR = "176afb41-00a4-11d3-9f2a-00400553eef0"; -const nsIID NS_IEVENTQUEUE_IID= - {0x176afb41, 0x00a4, 0x11d3, - [ 0x9f, 0x2a, 0x00, 0x40, 0x05, 0x53, 0xee, 0xf0 ]}; - -extern(System) - -interface nsIEventQueue : nsIEventTarget { - static const char[] IID_STR = NS_IEVENTQUEUE_IID_STR; - static const nsIID IID = NS_IEVENTQUEUE_IID; - - nsresult InitEvent(PLEvent * aEvent, void * owner, PLHandleEventProc handler, PLDestroyEventProc destructor); - nsresult PostSynchronousEvent(PLEvent * aEvent, void * *aResult); - nsresult PendingEvents(PRBool *_retval); - nsresult ProcessPendingEvents(); - nsresult EventLoop(); - nsresult EventAvailable(PRBool * aResult); - nsresult GetEvent(PLEvent * *_retval); - nsresult HandleEvent(PLEvent * aEvent); - nsresult WaitForEvent(PLEvent * *_retval); - PRInt32 GetEventQueueSelectFD(); - nsresult Init(PRBool aNative); - nsresult InitFromPRThread(PRThread * thread, PRBool aNative); - nsresult InitFromPLQueue(PLEventQueue * aQueue); - nsresult EnterMonitor(); - nsresult ExitMonitor(); - nsresult RevokeEvents(void * owner); - nsresult GetPLEventQueue(PLEventQueue * *_retval); - nsresult IsQueueNative(PRBool *_retval); - nsresult StopAcceptingEvents(); - -} -
--- a/dwt/internal/mozilla/nsIEventTarget.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -module dwt.internal.mozilla.nsIEventTarget; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsID; - -const char[] NS_IEVENTTARGET_IID_STR = "ea99ad5b-cc67-4efb-97c9-2ef620a59f2a"; - -const nsIID NS_IEVENTTARGET_IID= - {0xea99ad5b, 0xcc67, 0x4efb, - [ 0x97, 0xc9, 0x2e, 0xf6, 0x20, 0xa5, 0x9f, 0x2a ]}; - -extern(System) - -interface nsIEventTarget : nsISupports { - - static const char[] IID_STR = NS_IEVENTTARGET_IID_STR; - static const nsIID IID = NS_IEVENTTARGET_IID; - - nsresult PostEvent(PLEvent * aEvent); - nsresult IsOnCurrentThread(PRBool *_retval); -} -
--- a/dwt/internal/mozilla/nsIExternalHelperAppService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -module dwt.internal.mozilla.nsIExternalHelperAppService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsICancelable; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsIStreamListener; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsIMIMEInfo; -import dwt.internal.mozilla.nsIWebProgressListener2; -import dwt.internal.mozilla.nsIInterfaceRequestor; -import dwt.internal.mozilla.nsStringAPI; - -import dwt.internal.mozilla.prtime; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IEXTERNALHELPERAPPSERVICE_IID_STR = "0ea90cf3-2dd9-470f-8f76-f141743c5678"; - -const nsIID NS_IEXTERNALHELPERAPPSERVICE_IID= - {0x0ea90cf3, 0x2dd9, 0x470f, - [ 0x8f, 0x76, 0xf1, 0x41, 0x74, 0x3c, 0x56, 0x78 ]}; - -extern(System) - -interface nsIExternalHelperAppService : nsISupports { - - static const char[] IID_STR = NS_IEXTERNALHELPERAPPSERVICE_IID_STR; - static const nsIID IID = NS_IEXTERNALHELPERAPPSERVICE_IID; - - nsresult DoContent(nsACString * aMimeContentType, nsIRequest aRequest, nsIInterfaceRequestor aWindowContext, nsIStreamListener *_retval); - nsresult ApplyDecodingForExtension(nsACString * aExtension, nsACString * aEncodingType, PRBool *_retval); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_PIEXTERNALAPPLAUNCHER_IID_STR = "d0b5d7d3-9565-403d-9fb5-e5089c4567c6"; - -const nsIID NS_PIEXTERNALAPPLAUNCHER_IID= - {0xd0b5d7d3, 0x9565, 0x403d, - [ 0x9f, 0xb5, 0xe5, 0x08, 0x9c, 0x45, 0x67, 0xc6 ]}; - -extern(System) - -interface nsPIExternalAppLauncher : nsISupports { - - static const char[] IID_STR = NS_PIEXTERNALAPPLAUNCHER_IID_STR; - static const nsIID IID = NS_PIEXTERNALAPPLAUNCHER_IID; - - nsresult DeleteTemporaryFileOnExit(nsIFile aTemporaryFile); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IHELPERAPPLAUNCHER_IID_STR = "99a0882d-2ff9-4659-9952-9ac531ba5592"; - -const nsIID NS_IHELPERAPPLAUNCHER_IID= - {0x99a0882d, 0x2ff9, 0x4659, - [ 0x99, 0x52, 0x9a, 0xc5, 0x31, 0xba, 0x55, 0x92 ]}; - -extern(System) - -interface nsIHelperAppLauncher : nsICancelable { - - static const char[] IID_STR = NS_IHELPERAPPLAUNCHER_IID_STR; - static const nsIID IID = NS_IHELPERAPPLAUNCHER_IID; - - nsresult GetMIMEInfo(nsIMIMEInfo *aMIMEInfo); - nsresult GetSource(nsIURI *aSource); - nsresult GetSuggestedFileName(nsAString * aSuggestedFileName); - nsresult SaveToDisk(nsIFile aNewFileLocation, PRBool aRememberThisPreference); - nsresult LaunchWithApplication(nsIFile aApplication, PRBool aRememberThisPreference); - nsresult SetWebProgressListener(nsIWebProgressListener2 aWebProgressListener); - nsresult CloseProgressWindow(); - nsresult GetTargetFile(nsIFile *aTargetFile); - nsresult GetTimeDownloadStarted(PRTime *aTimeDownloadStarted); - -} -
--- a/dwt/internal/mozilla/nsIFactory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - -module dwt.internal.mozilla.nsIFactory; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IFACTORY_IID_STR = "00000001-0000-0000-c000-000000000046"; - -const nsIID NS_IFACTORY_IID= - {0x00000001, 0x0000, 0x0000, - [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ]}; - -extern(System) - -interface nsIFactory : nsISupports { - - static const char[] IID_STR = NS_IFACTORY_IID_STR; - static const nsIID IID = NS_IFACTORY_IID; - - nsresult CreateInstance(nsISupports aOuter, nsIID * iid, void * *result); - nsresult LockFactory(PRBool lock); -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsIFile.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -module dwt.internal.mozilla.nsIFile; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IFILE_IID_STR = "c8c0a080-0868-11d3-915f-d9d889d48e3c"; - -const nsIID NS_IFILE_IID= - {0xc8c0a080, 0x0868, 0x11d3, - [ 0x91, 0x5f, 0xd9, 0xd8, 0x89, 0xd4, 0x8e, 0x3c ]}; - -extern(System) - -interface nsIFile : nsISupports { - static const char[] IID_STR = NS_IFILE_IID_STR; - static const nsIID IID = NS_IFILE_IID; - - enum { NORMAL_FILE_TYPE = 0U }; - enum { DIRECTORY_TYPE = 1U }; - - nsresult Append(nsAString * node); - nsresult AppendNative(nsACString * node); - nsresult Normalize(); - nsresult Create(PRUint32 type, PRUint32 permissions); - nsresult GetLeafName(nsAString * aLeafName); - nsresult SetLeafName(nsAString * aLeafName); - nsresult GetNativeLeafName(nsACString * aNativeLeafName); - nsresult SetNativeLeafName(nsACString * aNativeLeafName); - nsresult CopyTo(nsIFile newParentDir, nsAString * newName); - nsresult CopyToNative(nsIFile newParentDir, nsACString * newName); - nsresult CopyToFollowingLinks(nsIFile newParentDir, nsAString * newName); - nsresult CopyToFollowingLinksNative(nsIFile newParentDir, nsACString * newName); - nsresult MoveTo(nsIFile newParentDir, nsAString * newName); - nsresult MoveToNative(nsIFile newParentDir, nsACString * newName); - nsresult Remove(PRBool recursive); - nsresult GetPermissions(PRUint32 *aPermissions); - nsresult SetPermissions(PRUint32 aPermissions); - nsresult GetPermissionsOfLink(PRUint32 *aPermissionsOfLink); - nsresult SetPermissionsOfLink(PRUint32 aPermissionsOfLink); - nsresult GetLastModifiedTime(PRInt64 *aLastModifiedTime); - nsresult SetLastModifiedTime(PRInt64 aLastModifiedTime); - nsresult GetLastModifiedTimeOfLink(PRInt64 *aLastModifiedTimeOfLink); - nsresult SetLastModifiedTimeOfLink(PRInt64 aLastModifiedTimeOfLink); - nsresult GetFileSize(PRInt64 *aFileSize); - nsresult SetFileSize(PRInt64 aFileSize); - nsresult GetFileSizeOfLink(PRInt64 *aFileSizeOfLink); - nsresult GetTarget(nsAString * aTarget); - nsresult GetNativeTarget(nsACString * aNativeTarget); - nsresult GetPath(nsAString * aPath); - nsresult GetNativePath(nsACString * aNativePath); - nsresult Exists(PRBool *_retval); - nsresult IsWritable(PRBool *_retval); - nsresult IsReadable(PRBool *_retval); - nsresult IsExecutable(PRBool *_retval); - nsresult IsHidden(PRBool *_retval); - nsresult IsDirectory(PRBool *_retval); - nsresult IsFile(PRBool *_retval); - nsresult IsSymlink(PRBool *_retval); - nsresult IsSpecial(PRBool *_retval); - nsresult CreateUnique(PRUint32 type, PRUint32 permissions); - nsresult Clone(nsIFile *_retval); - nsresult Equals(nsIFile inFile, PRBool *_retval); - nsresult Contains(nsIFile inFile, PRBool recur, PRBool *_retval); - nsresult GetParent(nsIFile *aParent); - nsresult GetDirectoryEntries(nsISimpleEnumerator *aDirectoryEntries); -} -
--- a/dwt/internal/mozilla/nsIFilePicker.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -module dwt.internal.mozilla.nsIFilePicker; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIFileURL; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IFILEPICKER_IID_STR = "80faf095-c807-4558-a2cc-185ed70754ea"; - -const nsIID NS_IFILEPICKER_IID= - {0x80faf095, 0xc807, 0x4558, - [ 0xa2, 0xcc, 0x18, 0x5e, 0xd7, 0x07, 0x54, 0xea ]}; - -extern(System) - -interface nsIFilePicker : nsISupports { - - static const char[] IID_STR = NS_IFILEPICKER_IID_STR; - static const nsIID IID = NS_IFILEPICKER_IID; - - enum { modeOpen = 0 }; - enum { modeSave = 1 }; - enum { modeGetFolder = 2 }; - enum { modeOpenMultiple = 3 }; - enum { returnOK = 0 }; - enum { returnCancel = 1 }; - enum { returnReplace = 2 }; - enum { filterAll = 1 }; - enum { filterHTML = 2 }; - enum { filterText = 4 }; - enum { filterImages = 8 }; - enum { filterXML = 16 }; - enum { filterXUL = 32 }; - enum { filterApps = 64 }; - - nsresult Init(nsIDOMWindow parent, nsAString * title, PRInt16 mode); - nsresult AppendFilters(PRInt32 filterMask); - nsresult AppendFilter(nsAString * title, nsAString * filter); - nsresult GetDefaultString(nsAString * aDefaultString); - nsresult SetDefaultString(nsAString * aDefaultString); - nsresult GetDefaultExtension(nsAString * aDefaultExtension); - nsresult SetDefaultExtension(nsAString * aDefaultExtension); - nsresult GetFilterIndex(PRInt32 *aFilterIndex); - nsresult SetFilterIndex(PRInt32 aFilterIndex); - nsresult GetDisplayDirectory(nsILocalFile *aDisplayDirectory); - nsresult SetDisplayDirectory(nsILocalFile aDisplayDirectory); - nsresult GetFile(nsILocalFile *aFile); - nsresult GetFileURL(nsIFileURL *aFileURL); - nsresult GetFiles(nsISimpleEnumerator *aFiles); - nsresult Show(PRInt16 *_retval); - -} -
--- a/dwt/internal/mozilla/nsIFileURL.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIFileURL; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIURL; -import dwt.internal.mozilla.nsIFile; - -const char[] NS_IFILEURL_IID_STR = "d26b2e2e-1dd1-11b2-88f3-8545a7ba7949"; - -const nsIID NS_IFILEURL_IID= - {0xd26b2e2e, 0x1dd1, 0x11b2, - [ 0x88, 0xf3, 0x85, 0x45, 0xa7, 0xba, 0x79, 0x49 ]}; - -extern(System) - -interface nsIFileURL : nsIURL { - - static const char[] IID_STR = NS_IFILEURL_IID_STR; - static const nsIID IID = NS_IFILEURL_IID; - - nsresult GetFile(nsIFile *aFile); - nsresult SetFile(nsIFile aFile); - -} -
--- a/dwt/internal/mozilla/nsIHelperAppLauncherDialog.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -module dwt.internal.mozilla.nsIHelperAppLauncherDialog; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIExternalHelperAppService; -import dwt.internal.mozilla.nsILocalFile; - -const char[] NS_IHELPERAPPLAUNCHERDIALOG_IID_STR = "64355793-988d-40a5-ba8e-fcde78cac631"; - -const nsIID NS_IHELPERAPPLAUNCHERDIALOG_IID= - {0x64355793, 0x988d, 0x40a5, - [ 0xba, 0x8e, 0xfc, 0xde, 0x78, 0xca, 0xc6, 0x31 ]}; - -extern(System) - -interface nsIHelperAppLauncherDialog : nsISupports { - - static const char[] IID_STR = NS_IHELPERAPPLAUNCHERDIALOG_IID_STR; - static const nsIID IID = NS_IHELPERAPPLAUNCHERDIALOG_IID; - - enum { REASON_CANTHANDLE = 0U }; - enum { REASON_SERVERREQUEST = 1U }; - enum { REASON_TYPESNIFFED = 2U }; - nsresult Show(nsIHelperAppLauncher aLauncher, nsISupports aContext, PRUint32 aReason); - nsresult PromptForSaveToFile(nsIHelperAppLauncher aLauncher, nsISupports aWindowContext, PRUnichar *aDefaultFile, PRUnichar *aSuggestedFileExtension, nsILocalFile *_retval); - -} -
--- a/dwt/internal/mozilla/nsIHistoryEntry.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIHistoryEntry; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIURI; - -const char[] NS_IHISTORYENTRY_IID_STR = "a41661d4-1417-11d5-9882-00c04fa02f40"; - -const nsIID NS_IHISTORYENTRY_IID= - {0xa41661d4, 0x1417, 0x11d5, - [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]}; - -extern(System) - -interface nsIHistoryEntry : nsISupports { - - static const char[] IID_STR = NS_IHISTORYENTRY_IID_STR; - static const nsIID IID = NS_IHISTORYENTRY_IID; - - nsresult GetURI(nsIURI *aURI); - nsresult GetTitle(PRUnichar * *aTitle); - nsresult GetIsSubFrame(PRBool *aIsSubFrame); - -} -
--- a/dwt/internal/mozilla/nsIIOService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIIOService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIProtocolHandler; -import dwt.internal.mozilla.nsIChannel; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IIOSERVICE_IID_STR = "bddeda3f-9020-4d12-8c70-984ee9f7935e"; - -const nsIID NS_IIOSERVICE_IID= - {0xbddeda3f, 0x9020, 0x4d12, - [ 0x8c, 0x70, 0x98, 0x4e, 0xe9, 0xf7, 0x93, 0x5e ]}; - -extern(System) - -interface nsIIOService : nsISupports { - - static const char[] IID_STR = NS_IIOSERVICE_IID_STR; - static const nsIID IID = NS_IIOSERVICE_IID; - - nsresult GetProtocolHandler(char *aScheme, nsIProtocolHandler *_retval); - nsresult GetProtocolFlags(char *aScheme, PRUint32 *_retval); - nsresult NewURI(nsACString * aSpec, char *aOriginCharset, nsIURI aBaseURI, nsIURI *_retval); - nsresult NewFileURI(nsIFile aFile, nsIURI *_retval); - nsresult NewChannelFromURI(nsIURI aURI, nsIChannel *_retval); - nsresult NewChannel(nsACString * aSpec, char *aOriginCharset, nsIURI aBaseURI, nsIChannel *_retval); - nsresult GetOffline(PRBool *aOffline); - nsresult SetOffline(PRBool aOffline); - nsresult AllowPort(PRInt32 aPort, char *aScheme, PRBool *_retval); - nsresult ExtractScheme(nsACString * urlString, nsACString * _retval); - -} -
--- a/dwt/internal/mozilla/nsIIOService2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIIOService2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIIOService; - -const char[] NS_IIOSERVICE2_IID_STR = "d44fe6d4-ee35-4789-886a-eb8f0554d04e"; - -const nsIID NS_IIOSERVICE2_IID= - {0xd44fe6d4, 0xee35, 0x4789, - [ 0x88, 0x6a, 0xeb, 0x8f, 0x05, 0x54, 0xd0, 0x4e ]}; - -extern(System) - -interface nsIIOService2 : nsIIOService { - - static const char[] IID_STR = NS_IIOSERVICE2_IID_STR; - static const nsIID IID = NS_IIOSERVICE2_IID; - - nsresult GetManageOfflineStatus(PRBool *aManageOfflineStatus); - nsresult SetManageOfflineStatus(PRBool aManageOfflineStatus); - -} -
--- a/dwt/internal/mozilla/nsIInputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -module dwt.internal.mozilla.nsIInputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -typedef nsresult function(nsIInputStream aInStream, - void *aClosure, - byte *aFromSegment, - PRUint32 aToOffset, - PRUint32 aCount, - PRUint32 *aWriteCount) nsWriteSegmentFun; - -const char[] NS_IINPUTSTREAM_IID_STR = "fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a"; - -const nsIID NS_IINPUTSTREAM_IID= - {0xfa9c7f6c, 0x61b3, 0x11d4, - [ 0x98, 0x77, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a ]}; - -extern(System) - -interface nsIInputStream : nsISupports { - - static const char[] IID_STR = NS_IINPUTSTREAM_IID_STR; - static const nsIID IID = NS_IINPUTSTREAM_IID; - - nsresult Close(); - nsresult Available(PRUint32 *_retval); - nsresult Read(byte * aBuf, PRUint32 aCount, PRUint32 *_retval); - nsresult ReadSegments(nsWriteSegmentFun aWriter, void * aClosure, PRUint32 aCount, PRUint32 *_retval); - nsresult IsNonBlocking(PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIInterfaceRequestor.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -module dwt.internal.mozilla.nsIInterfaceRequestor; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IINTERFACEREQUESTOR_IID_STR = "033a1470-8b2a-11d3-af88-00a024ffc08c"; - -const nsIID NS_IINTERFACEREQUESTOR_IID= - {0x033a1470, 0x8b2a, 0x11d3, - [ 0xaf, 0x88, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIInterfaceRequestor : nsISupports { - - static const char[] IID_STR = NS_IINTERFACEREQUESTOR_IID_STR; - static const nsIID IID = NS_IINTERFACEREQUESTOR_IID; - - nsresult GetInterface(nsIID * uuid, void * *result); - -} -
--- a/dwt/internal/mozilla/nsIJSContextStack.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -module dwt.internal.mozilla.nsIJSContextStack; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IJSCONTEXTSTACK_IID_STR = "c67d8270-3189-11d3-9885-006008962422"; - -const nsIID NS_IJSCONTEXTSTACK_IID= - {0xc67d8270, 0x3189, 0x11d3, - [ 0x98, 0x85, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 ]}; - -extern(System) - -interface nsIJSContextStack : nsISupports { - - static const char[] IID_STR = NS_IJSCONTEXTSTACK_IID_STR; - static const nsIID IID = NS_IJSCONTEXTSTACK_IID; - - nsresult GetCount(PRInt32 *aCount); - nsresult Peek(JSContext * *_retval); - nsresult Pop(JSContext * *_retval); - nsresult Push(JSContext * cx); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IJSCONTEXTSTACKITERATOR_IID_STR = "c7e6b7aa-fc12-4ca7-b140-98c38b698961"; - -const nsIID NS_IJSCONTEXTSTACKITERATOR_IID= - {0xc7e6b7aa, 0xfc12, 0x4ca7, - [ 0xb1, 0x40, 0x98, 0xc3, 0x8b, 0x69, 0x89, 0x61 ]}; - -extern(System) - -interface nsIJSContextStackIterator : nsISupports { - - static const char[] IID_STR = NS_IJSCONTEXTSTACKITERATOR_IID_STR; - static const nsIID IID = NS_IJSCONTEXTSTACKITERATOR_IID; - - nsresult Reset(nsIJSContextStack stack); - nsresult Done(PRBool *_retval); - nsresult Prev(JSContext * *_retval); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ITHREADJSCONTEXTSTACK_IID_STR = "a1339ae0-05c1-11d4-8f92-0010a4e73d9a"; - -const nsIID NS_ITHREADJSCONTEXTSTACK_IID= - {0xa1339ae0, 0x05c1, 0x11d4, - [ 0x8f, 0x92, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a ]}; - -extern(System) - -interface nsIThreadJSContextStack : nsIJSContextStack { - - static const char[] IID_STR = NS_ITHREADJSCONTEXTSTACK_IID_STR; - static const nsIID IID = NS_ITHREADJSCONTEXTSTACK_IID; - - nsresult GetSafeJSContext(JSContext * *aSafeJSContext); - nsresult SetSafeJSContext(JSContext * aSafeJSContext); - -} -
--- a/dwt/internal/mozilla/nsILoadGroup.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsILoadGroup; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsIRequestObserver; -import dwt.internal.mozilla.nsIInterfaceRequestor; - -const char[] NS_ILOADGROUP_IID_STR = "3de0a31c-feaf-400f-9f1e-4ef71f8b20cc"; - -const nsIID NS_ILOADGROUP_IID= - {0x3de0a31c, 0xfeaf, 0x400f, - [ 0x9f, 0x1e, 0x4e, 0xf7, 0x1f, 0x8b, 0x20, 0xcc ]}; - -extern(System) - -interface nsILoadGroup : nsIRequest { - - static const char[] IID_STR = NS_ILOADGROUP_IID_STR; - static const nsIID IID = NS_ILOADGROUP_IID; - - nsresult GetGroupObserver(nsIRequestObserver *aGroupObserver); - nsresult SetGroupObserver(nsIRequestObserver aGroupObserver); - nsresult GetDefaultLoadRequest(nsIRequest *aDefaultLoadRequest); - nsresult SetDefaultLoadRequest(nsIRequest aDefaultLoadRequest); - nsresult AddRequest(nsIRequest aRequest, nsISupports aContext); - nsresult RemoveRequest(nsIRequest aRequest, nsISupports aContext, nsresult aStatus); - nsresult GetRequests(nsISimpleEnumerator *aRequests); - nsresult GetActiveCount(PRUint32 *aActiveCount); - nsresult GetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks); - nsresult SetNotificationCallbacks(nsIInterfaceRequestor aNotificationCallbacks); - -} -
--- a/dwt/internal/mozilla/nsILocalFile.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -module dwt.internal.mozilla.nsILocalFile; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.prlink; -import dwt.internal.mozilla.prio; -import dwt.internal.mozilla.prtime; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsStringAPI; - -import tango.stdc.stdio : FILE; - -const char[] NS_ILOCALFILE_IID_STR = "aa610f20-a889-11d3-8c81-000064657374"; - -const nsIID NS_ILOCALFILE_IID= - {0xaa610f20, 0xa889, 0x11d3, - [ 0x8c, 0x81, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]}; - -extern(System) - -interface nsILocalFile : nsIFile { - - static const char[] IID_STR = NS_ILOCALFILE_IID_STR; - static const nsIID IID = NS_ILOCALFILE_IID; - - nsresult InitWithPath(nsAString * filePath); - nsresult InitWithNativePath(nsACString * filePath); - nsresult InitWithFile(nsILocalFile aFile); - nsresult GetFollowLinks(PRBool *aFollowLinks); - nsresult SetFollowLinks(PRBool aFollowLinks); - nsresult OpenNSPRFileDesc(PRInt32 flags, PRInt32 mode, PRFileDesc * *_retval); - nsresult OpenANSIFileDesc(char *mode, FILE * *_retval); - nsresult Load(PRLibrary * *_retval); - nsresult GetDiskSpaceAvailable(PRInt64 *aDiskSpaceAvailable); - nsresult AppendRelativePath(nsAString * relativeFilePath); - nsresult AppendRelativeNativePath(nsACString * relativeFilePath); - nsresult GetPersistentDescriptor(nsACString * aPersistentDescriptor); - nsresult SetPersistentDescriptor(nsACString * aPersistentDescriptor); - nsresult Reveal(); - nsresult Launch(); - nsresult GetRelativeDescriptor(nsILocalFile fromFile, nsACString * _retval); - nsresult SetRelativeDescriptor(nsILocalFile fromFile, nsACString * relativeDesc); -} -
--- a/dwt/internal/mozilla/nsIMIMEInfo.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -module dwt.internal.mozilla.nsIMIMEInfo; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsIStringEnumerator; -import dwt.internal.mozilla.nsStringAPI; - -alias PRInt32 nsMIMEInfoHandleAction; - -const char[] NS_IMIMEINFO_IID_STR = "1448b42f-cf0d-466e-9a15-64e876ebe857"; - -const nsIID NS_IMIMEINFO_IID= - {0x1448b42f, 0xcf0d, 0x466e, - [ 0x9a, 0x15, 0x64, 0xe8, 0x76, 0xeb, 0xe8, 0x57 ]}; - -extern(System) - -interface nsIMIMEInfo : nsISupports { - - static const char[] IID_STR = NS_IMIMEINFO_IID_STR; - static const nsIID IID = NS_IMIMEINFO_IID; - - nsresult GetFileExtensions(nsIUTF8StringEnumerator *_retval); - nsresult SetFileExtensions(nsACString * aExtensions); - nsresult ExtensionExists(nsACString * aExtension, PRBool *_retval); - nsresult AppendExtension(nsACString * aExtension); - nsresult GetPrimaryExtension(nsACString * aPrimaryExtension); - nsresult SetPrimaryExtension(nsACString * aPrimaryExtension); - nsresult GetMIMEType(nsACString * aMIMEType); - nsresult SetDescription(nsAString * aDescription); - nsresult GetMacType(PRUint32 *aMacType); - nsresult SetMacType(PRUint32 aMacType); - nsresult GetMacCreator(PRUint32 *aMacCreator); - nsresult SetMacCreator(PRUint32 aMacCreator); - nsresult Equals(nsIMIMEInfo aMIMEInfo, PRBool *_retval); - nsresult GetPreferredApplicationHandler(nsIFile *aPreferredApplicationHandler); - nsresult SetPreferredApplicationHandler(nsIFile aPreferredApplicationHandler); - nsresult GetApplicationDescription(nsAString * aApplicationDescription); - nsresult SetApplicationDescription(nsAString * aApplicationDescription); - nsresult GetHasDefaultHandler(PRBool *aHasDefaultHandler); - nsresult GetDefaultDescription(nsAString * aDefaultDescription); - nsresult LaunchWithFile(nsIFile aFile); - - enum { saveToDisk = 0 }; - enum { alwaysAsk = 1 }; - enum { useHelperApp = 2 }; - enum { handleInternally = 3 }; - enum { useSystemDefault = 4 }; - - nsresult GetPreferredAction(nsMIMEInfoHandleAction *aPreferredAction); - nsresult SetPreferredAction(nsMIMEInfoHandleAction aPreferredAction); - nsresult GetAlwaysAskBeforeHandling(PRBool *aAlwaysAskBeforeHandling); - nsresult SetAlwaysAskBeforeHandling(PRBool aAlwaysAskBeforeHandling); - -} -
--- a/dwt/internal/mozilla/nsIMemory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIMemory; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IMEMORY_IID_STR = "59e7e77a-38e4-11d4-8cf5-0060b0fc14a3"; - -const nsIID NS_IMEMORY_IID= - {0x59e7e77a, 0x38e4, 0x11d4, - [ 0x8c, 0xf5, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]}; - -extern(System) -interface nsIMemory : nsISupports { - static const char[] IID_STR = NS_IMEMORY_IID_STR; - static const nsIID IID = NS_IMEMORY_IID; - - void * Alloc(size_t size); - void * Realloc(void * ptr, size_t newSize); - void Free(void * ptr); - nsresult HeapMinimize(PRBool immediate); - nsresult IsLowMemory(PRBool *_retval); -} -
--- a/dwt/internal/mozilla/nsIModule.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIModule; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsIComponentManager; - -const char[] NS_IMODULE_IID_STR = "7392d032-5371-11d3-994e-00805fd26fee"; - -const nsIID NS_IMODULE_IID= - {0x7392d032, 0x5371, 0x11d3, - [ 0x99, 0x4e, 0x00, 0x80, 0x5f, 0xd2, 0x6f, 0xee ]}; - -extern(System) -interface nsIModule : nsISupports { - static const char[] IID_STR = NS_IMODULE_IID_STR; - static const nsIID IID = NS_IMODULE_IID; - - nsresult GetClassObject(nsIComponentManager aCompMgr, nsCID * aClass, nsIID * aIID, void * *aResult); - nsresult RegisterSelf(nsIComponentManager aCompMgr, nsIFile aLocation, char *aLoaderStr, char *aType); - nsresult UnregisterSelf(nsIComponentManager aCompMgr, nsIFile aLocation, char *aLoaderStr); - nsresult CanUnload(nsIComponentManager aCompMgr, PRBool *_retval); -} -
--- a/dwt/internal/mozilla/nsIObjectInputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsIObjectInputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIBinaryInputStream; - -const char[] NS_IOBJECTINPUTSTREAM_IID_STR = "6c248606-4eae-46fa-9df0-ba58502368eb"; - -const nsIID NS_IOBJECTINPUTSTREAM_IID= - {0x6c248606, 0x4eae, 0x46fa, - [ 0x9d, 0xf0, 0xba, 0x58, 0x50, 0x23, 0x68, 0xeb ]}; - -extern(System) - -interface nsIObjectInputStream : nsIBinaryInputStream { - - static const char[] IID_STR = NS_IOBJECTINPUTSTREAM_IID_STR; - static const nsIID IID = NS_IOBJECTINPUTSTREAM_IID; - - nsresult ReadObject(PRBool aIsStrongRef, nsISupports *_retval); - nsresult ReadID(nsID *aID); - char * GetBuffer(PRUint32 aLength, PRUint32 aAlignMask); - void PutBuffer(char * aBuffer, PRUint32 aLength); - -} -
--- a/dwt/internal/mozilla/nsIObjectOutputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIObjectOutputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIBinaryOutputStream; - -const char[] NS_IOBJECTOUTPUTSTREAM_IID_STR = "92c898ac-5fde-4b99-87b3-5d486422094b"; - -const nsIID NS_IOBJECTOUTPUTSTREAM_IID= - {0x92c898ac, 0x5fde, 0x4b99, - [ 0x87, 0xb3, 0x5d, 0x48, 0x64, 0x22, 0x09, 0x4b ]}; - -extern(System) - -interface nsIObjectOutputStream : nsIBinaryOutputStream { - - static const char[] IID_STR = NS_IOBJECTOUTPUTSTREAM_IID_STR; - static const nsIID IID = NS_IOBJECTOUTPUTSTREAM_IID; - - nsresult WriteObject(nsISupports aObject, PRBool aIsStrongRef); - nsresult WriteSingleRefObject(nsISupports aObject); - nsresult WriteCompoundObject(nsISupports aObject, nsIID * aIID, PRBool aIsStrongRef); - nsresult WriteID(nsID * aID); - char * GetBuffer(PRUint32 aLength, PRUint32 aAlignMask); - void PutBuffer(char * aBuffer, PRUint32 aLength); - -} -
--- a/dwt/internal/mozilla/nsIObserver.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -module dwt.internal.mozilla.nsIObserver; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IOBSERVER_IID_STR = "db242e01-e4d9-11d2-9dde-000064657374"; - -const nsIID NS_IOBSERVER_IID= - {0xdb242e01, 0xe4d9, 0x11d2, - [ 0x9d, 0xde, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]}; - -extern(System) - -interface nsIObserver : nsISupports { - - static const char[] IID_STR = NS_IOBSERVER_IID_STR; - static const nsIID IID = NS_IOBSERVER_IID; - - nsresult Observe(nsISupports aSubject, char *aTopic, PRUnichar *aData); - -} -
--- a/dwt/internal/mozilla/nsIObserverService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsIObserverService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIObserver; -import dwt.internal.mozilla.nsISimpleEnumerator; - -const char[] NS_IOBSERVERSERVICE_IID_STR = "d07f5192-e3d1-11d2-8acd-00105a1b8860"; - -const nsIID NS_IOBSERVERSERVICE_IID= - {0xd07f5192, 0xe3d1, 0x11d2, - [ 0x8a, 0xcd, 0x00, 0x10, 0x5a, 0x1b, 0x88, 0x60 ]}; - -extern(System) - -interface nsIObserverService : nsISupports { - - static const char[] IID_STR = NS_IOBSERVERSERVICE_IID_STR; - static const nsIID IID = NS_IOBSERVERSERVICE_IID; - - nsresult AddObserver(nsIObserver anObserver, char *aTopic, PRBool ownsWeak); - nsresult RemoveObserver(nsIObserver anObserver, char *aTopic); - nsresult NotifyObservers(nsISupports aSubject, char *aTopic, PRUnichar *someData); - nsresult EnumerateObservers(char *aTopic, nsISimpleEnumerator *_retval); - -} -
--- a/dwt/internal/mozilla/nsIOutputStream.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIOutputStream; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIInputStream; - -typedef nsresult function(nsIOutputStream aOutStream, - void *aClosure, - char *aToSegment, - PRUint32 aFromOffset, - PRUint32 aCount, - PRUint32 *aReadCount) nsReadSegmentFun; - -const char[] NS_IOUTPUTSTREAM_IID_STR = "0d0acd2a-61b4-11d4-9877-00c04fa0cf4a"; - -const nsIID NS_IOUTPUTSTREAM_IID= - {0x0d0acd2a, 0x61b4, 0x11d4, - [ 0x98, 0x77, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a ]}; - -extern(System) - -interface nsIOutputStream : nsISupports { - - static const char[] IID_STR = NS_IOUTPUTSTREAM_IID_STR; - static const nsIID IID = NS_IOUTPUTSTREAM_IID; - - nsresult Close(); - nsresult Flush(); - nsresult Write(char *aBuf, PRUint32 aCount, PRUint32 *_retval); - nsresult WriteFrom(nsIInputStream aFromStream, PRUint32 aCount, PRUint32 *_retval); - nsresult WriteSegments(nsReadSegmentFun aReader, void * aClosure, PRUint32 aCount, PRUint32 *_retval); - nsresult IsNonBlocking(PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIPrefBranch.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -module dwt.internal.mozilla.nsIPrefBranch; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IPREFBRANCH_IID_STR = "56c35506-f14b-11d3-99d3-ddbfac2ccf65"; - -const nsIID NS_IPREFBRANCH_IID= - {0x56c35506, 0xf14b, 0x11d3, - [ 0x99, 0xd3, 0xdd, 0xbf, 0xac, 0x2c, 0xcf, 0x65 ]}; - -extern(System) - -interface nsIPrefBranch : nsISupports { - - static const char[] IID_STR = NS_IPREFBRANCH_IID_STR; - static const nsIID IID = NS_IPREFBRANCH_IID; - - enum { PREF_INVALID = 0 }; - enum { PREF_STRING = 32 }; - enum { PREF_INT = 64 }; - enum { PREF_BOOL = 128 }; - - nsresult GetRoot(char * *aRoot); - nsresult GetPrefType(char *aPrefName, PRInt32 *_retval); - nsresult GetBoolPref(char *aPrefName, PRBool *_retval); - nsresult SetBoolPref(char *aPrefName, PRInt32 aValue); - nsresult GetCharPref(char *aPrefName, char **_retval); - nsresult SetCharPref(char *aPrefName, char *aValue); - nsresult GetIntPref(char *aPrefName, PRInt32 *_retval); - nsresult SetIntPref(char *aPrefName, PRInt32 aValue); - nsresult GetComplexValue(char *aPrefName, nsIID * aType, void * *aValue); - nsresult SetComplexValue(char *aPrefName, nsIID * aType, nsISupports aValue); - nsresult ClearUserPref(char *aPrefName); - nsresult LockPref(char *aPrefName); - nsresult PrefHasUserValue(char *aPrefName, PRBool *_retval); - nsresult PrefIsLocked(char *aPrefName, PRBool *_retval); - nsresult UnlockPref(char *aPrefName); - nsresult DeleteBranch(char *aStartingAt); - nsresult GetChildList(char *aStartingAt, PRUint32 *aCount, char ***aChildArray); - nsresult ResetBranch(char *aStartingAt); - -} -
--- a/dwt/internal/mozilla/nsIPrefBranch2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIPrefBranch2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIPrefBranch; -import dwt.internal.mozilla.nsIObserver; - -const char[] NS_IPREFBRANCH2_IID_STR = "74567534-eb94-4b1c-8f45-389643bfc555"; - -const nsIID NS_IPREFBRANCH2_IID= - {0x74567534, 0xeb94, 0x4b1c, - [ 0x8f, 0x45, 0x38, 0x96, 0x43, 0xbf, 0xc5, 0x55 ]}; - -extern(System) - -interface nsIPrefBranch2 : nsIPrefBranch { - - static const char[] IID_STR = NS_IPREFBRANCH2_IID_STR; - static const nsIID IID = NS_IPREFBRANCH2_IID; - - nsresult AddObserver(char *aDomain, nsIObserver aObserver, PRBool aHoldWeak); - nsresult RemoveObserver(char *aDomain, nsIObserver aObserver); - -} -
--- a/dwt/internal/mozilla/nsIPrefLocalizedString.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIPrefLocalizedString; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IPREFLOCALIZEDSTRING_IID_STR = "ae419e24-1dd1-11b2-b39a-d3e5e7073802"; - -const nsIID NS_IPREFLOCALIZEDSTRING_IID= - {0xae419e24, 0x1dd1, 0x11b2, - [ 0xb3, 0x9a, 0xd3, 0xe5, 0xe7, 0x07, 0x38, 0x02 ]}; - -extern(System) - -interface nsIPrefLocalizedString : nsISupports { - - static const char[] IID_STR = NS_IPREFLOCALIZEDSTRING_IID_STR; - static const nsIID IID = NS_IPREFLOCALIZEDSTRING_IID; - - nsresult GetData(PRUnichar * *aData); - nsresult SetData(PRUnichar * aData); - nsresult ToString(PRUnichar **_retval); - nsresult SetDataWithLength(PRUint32 length, PRUnichar *data); - -} -
--- a/dwt/internal/mozilla/nsIPrefService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIPrefService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIPrefBranch; -import dwt.internal.mozilla.nsIFile; - -const char[] NS_IPREFSERVICE_IID_STR = "decb9cc7-c08f-4ea5-be91-a8fc637ce2d2"; - -const nsIID NS_IPREFSERVICE_IID= - {0xdecb9cc7, 0xc08f, 0x4ea5, - [ 0xbe, 0x91, 0xa8, 0xfc, 0x63, 0x7c, 0xe2, 0xd2 ]}; - -extern(System) - -interface nsIPrefService : nsISupports { - - static const char[] IID_STR = NS_IPREFSERVICE_IID_STR; - static const nsIID IID = NS_IPREFSERVICE_IID; - - nsresult ReadUserPrefs(nsIFile aFile); - nsresult ResetPrefs(); - nsresult ResetUserPrefs(); - nsresult SavePrefFile(nsIFile aFile); - nsresult GetBranch(char *aPrefRoot, nsIPrefBranch *_retval); - nsresult GetDefaultBranch(char *aPrefRoot, nsIPrefBranch *_retval); - -} -
--- a/dwt/internal/mozilla/nsIProgressDialog.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIProgressDialog; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDownload; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIObserver; - -const char[] NS_IPROGRESSDIALOG_IID_STR = "88a478b3-af65-440a-94dc-ed9b154d2990"; - -const nsIID NS_IPROGRESSDIALOG_IID= - {0x88a478b3, 0xaf65, 0x440a, - [ 0x94, 0xdc, 0xed, 0x9b, 0x15, 0x4d, 0x29, 0x90 ]}; - -extern(System) - -interface nsIProgressDialog : nsIDownload { - - static const char[] IID_STR = NS_IPROGRESSDIALOG_IID_STR; - static const nsIID IID = NS_IPROGRESSDIALOG_IID; - - nsresult Open(nsIDOMWindow aParent); - nsresult GetCancelDownloadOnClose(PRBool *aCancelDownloadOnClose); - nsresult SetCancelDownloadOnClose(PRBool aCancelDownloadOnClose); - nsresult GetDialog(nsIDOMWindow *aDialog); - nsresult SetDialog(nsIDOMWindow aDialog); - -} -
--- a/dwt/internal/mozilla/nsIProgressDialog_1_8.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsIProgressDialog_1_8; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDownload; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIObserver; - -const char[] NS_IPROGRESSDIALOG_IID_STR = "20e790a2-76c6-462d-851a-22ab6cbbe48b"; - -const nsIID NS_IPROGRESSDIALOG_IID= - {0x20e790a2, 0x76c6, 0x462d, - [ 0x85, 0x1a, 0x22, 0xab, 0x6c, 0xbb, 0xe4, 0x8b ]}; - -extern(System) - -interface nsIProgressDialog_1_8 : nsIDownload_1_8 { - - static const char[] IID_STR = NS_IPROGRESSDIALOG_IID_STR; - static const nsIID IID = NS_IPROGRESSDIALOG_IID; - - nsresult Open(nsIDOMWindow aParent); - nsresult GetCancelDownloadOnClose(PRBool *aCancelDownloadOnClose); - nsresult SetCancelDownloadOnClose(PRBool aCancelDownloadOnClose); - nsresult GetObserver(nsIObserver *aObserver); - nsresult SetObserver(nsIObserver aObserver); - nsresult GetDialog(nsIDOMWindow *aDialog); - nsresult SetDialog(nsIDOMWindow aDialog); - -} -
--- a/dwt/internal/mozilla/nsIPrompt.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -module dwt.internal.mozilla.nsIPrompt; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IPROMPT_IID_STR = "a63f70c0-148b-11d3-9333-00104ba0fd40"; - -const nsIID NS_IPROMPT_IID= - {0xa63f70c0, 0x148b, 0x11d3, - [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIPrompt : nsISupports { - - static const char[] IID_STR = NS_IPROMPT_IID_STR; - static const nsIID IID = NS_IPROMPT_IID; - - nsresult Alert(PRUnichar *dialogTitle, PRUnichar *text); - nsresult AlertCheck(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *checkMsg, PRBool *checkValue); - nsresult Confirm(PRUnichar *dialogTitle, PRUnichar *text, PRBool *_retval); - nsresult ConfirmCheck(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar *checkMsg, PRBool *checkValue, PRBool *_retval); - - enum { BUTTON_POS_0 = 1U }; - enum { BUTTON_POS_1 = 256U }; - enum { BUTTON_POS_2 = 65536U }; - enum { BUTTON_TITLE_OK = 1U }; - enum { BUTTON_TITLE_CANCEL = 2U }; - enum { BUTTON_TITLE_YES = 3U }; - enum { BUTTON_TITLE_NO = 4U }; - enum { BUTTON_TITLE_SAVE = 5U }; - enum { BUTTON_TITLE_DONT_SAVE = 6U }; - enum { BUTTON_TITLE_REVERT = 7U }; - enum { BUTTON_TITLE_IS_STRING = 127U }; - enum { BUTTON_POS_0_DEFAULT = 0U }; - enum { BUTTON_POS_1_DEFAULT = 16777216U }; - enum { BUTTON_POS_2_DEFAULT = 33554432U }; - enum { BUTTON_DELAY_ENABLE = 67108864U }; - enum { STD_OK_CANCEL_BUTTONS = 513U }; - - nsresult ConfirmEx(PRUnichar *dialogTitle, PRUnichar *text, PRUint32 buttonFlags, PRUnichar *button0Title, PRUnichar *button1Title, PRUnichar *button2Title, PRUnichar *checkMsg, PRBool *checkValue, PRInt32 *_retval); - nsresult Prompt(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar **value, PRUnichar *checkMsg, PRBool *checkValue, PRBool *_retval); - nsresult PromptPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar **password, PRUnichar *checkMsg, PRBool *checkValue, PRBool *_retval); - nsresult PromptUsernameAndPassword(PRUnichar *dialogTitle, PRUnichar *text, PRUnichar **username, PRUnichar **password, PRUnichar *checkMsg, PRBool *checkValue, PRBool *_retval); - nsresult Select(PRUnichar *dialogTitle, PRUnichar *text, PRUint32 count, PRUnichar **selectList, PRInt32 *outSelection, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIPromptService.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -module dwt.internal.mozilla.nsIPromptService; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMWindow; - -const char[] NS_IPROMPTSERVICE_IID_STR = "1630c61a-325e-49ca-8759-a31b16c47aa5"; - -const nsIID NS_IPROMPTSERVICE_IID= - {0x1630c61a, 0x325e, 0x49ca, - [ 0x87, 0x59, 0xa3, 0x1b, 0x16, 0xc4, 0x7a, 0xa5 ]}; - -extern(System) - -interface nsIPromptService : nsISupports { - - static const char[] IID_STR = NS_IPROMPTSERVICE_IID_STR; - static const nsIID IID = NS_IPROMPTSERVICE_IID; - - nsresult Alert(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText); - nsresult AlertCheck(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar *aCheckMsg, PRBool *aCheckState); - nsresult Confirm(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRBool *_retval); - nsresult ConfirmCheck(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar *aCheckMsg, PRBool *aCheckState, PRBool *_retval); - - enum { BUTTON_POS_0 = 1U }; - enum { BUTTON_POS_1 = 256U }; - enum { BUTTON_POS_2 = 65536U }; - enum { BUTTON_TITLE_OK = 1U }; - enum { BUTTON_TITLE_CANCEL = 2U }; - enum { BUTTON_TITLE_YES = 3U }; - enum { BUTTON_TITLE_NO = 4U }; - enum { BUTTON_TITLE_SAVE = 5U }; - enum { BUTTON_TITLE_DONT_SAVE = 6U }; - enum { BUTTON_TITLE_REVERT = 7U }; - enum { BUTTON_TITLE_IS_STRING = 127U }; - enum { BUTTON_POS_0_DEFAULT = 0U }; - enum { BUTTON_POS_1_DEFAULT = 16777216U }; - enum { BUTTON_POS_2_DEFAULT = 33554432U }; - enum { BUTTON_DELAY_ENABLE = 67108864U }; - enum { STD_OK_CANCEL_BUTTONS = 513U }; - enum { STD_YES_NO_BUTTONS = 1027U }; - - nsresult ConfirmEx(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUint32 aButtonFlags, PRUnichar *aButton0Title, PRUnichar *aButton1Title, PRUnichar *aButton2Title, PRUnichar *aCheckMsg, PRBool *aCheckState, PRInt32 *_retval); - nsresult Prompt(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar **aValue, PRUnichar *aCheckMsg, PRBool *aCheckState, PRBool *_retval); - nsresult PromptUsernameAndPassword(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar **aUsername, PRUnichar **aPassword, PRUnichar *aCheckMsg, PRBool *aCheckState, PRBool *_retval); - nsresult PromptPassword(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUnichar **aPassword, PRUnichar *aCheckMsg, PRBool *aCheckState, PRBool *_retval); - nsresult Select(nsIDOMWindow aParent, PRUnichar *aDialogTitle, PRUnichar *aText, PRUint32 aCount, PRUnichar **aSelectList, PRInt32 *aOutSelection, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsIProperties.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module mozilla.xpcom.nsIProperties; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IPROPERTIES_IID_STR = "78650582-4e93-4b60-8e85-26ebd3eb14ca"; - -const nsIID NS_IPROPERTIES_IID= - {0x78650582, 0x4e93, 0x4b60, - [ 0x8e, 0x85, 0x26, 0xeb, 0xd3, 0xeb, 0x14, 0xca ]}; - -extern(System) - -interface nsIProperties : nsISupports { - - static const char[] IID_STR = NS_IPROPERTIES_IID_STR; - static const nsIID IID = NS_IPROPERTIES_IID; - - nsresult Get(char *prop, nsIID * iid, void * *result); - nsresult Set(char *prop, nsISupports value); - nsresult Has(char *prop, PRBool *_retval); - nsresult Undefine(char *prop); - nsresult GetKeys(PRUint32 *count, char ***keys); - -} -
--- a/dwt/internal/mozilla/nsIProtocolHandler.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsIProtocolHandler; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIChannel; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IPROTOCOLHANDLER_IID_STR = "15fd6940-8ea7-11d3-93ad-00104ba0fd40"; - -const nsIID NS_IPROTOCOLHANDLER_IID= - {0x15fd6940, 0x8ea7, 0x11d3, - [ 0x93, 0xad, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIProtocolHandler : nsISupports { - - static const char[] IID_STR = NS_IPROTOCOLHANDLER_IID_STR; - static const nsIID IID = NS_IPROTOCOLHANDLER_IID; - - nsresult GetScheme(nsACString * aScheme); - nsresult GetDefaultPort(PRInt32 *aDefaultPort); - nsresult GetProtocolFlags(PRUint32 *aProtocolFlags); - nsresult NewURI(nsACString * aSpec, char *aOriginCharset, nsIURI aBaseURI, nsIURI *_retval); - nsresult NewChannel(nsIURI aURI, nsIChannel *_retval); - nsresult AllowPort(PRInt32 port, char *scheme, PRBool *_retval); - - enum { URI_STD = 0U }; - enum { URI_NORELATIVE = 1U }; - enum { URI_NOAUTH = 2U }; - enum { ALLOWS_PROXY = 4U }; - enum { ALLOWS_PROXY_HTTP = 8U }; - -} -
--- a/dwt/internal/mozilla/nsIRequest.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -module dwt.internal.mozilla.nsIRequest; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsILoadGroup; -import dwt.internal.mozilla.nsStringAPI; - -alias PRUint32 nsLoadFlags; - -const char[] NS_IREQUEST_IID_STR = "ef6bfbd2-fd46-48d8-96b7-9f8f0fd387fe"; - -const nsIID NS_IREQUEST_IID= - {0xef6bfbd2, 0xfd46, 0x48d8, - [ 0x96, 0xb7, 0x9f, 0x8f, 0x0f, 0xd3, 0x87, 0xfe ]}; - -extern(System) - -interface nsIRequest : nsISupports { - - static const char[] IID_STR = NS_IREQUEST_IID_STR; - static const nsIID IID = NS_IREQUEST_IID; - - nsresult GetName(nsACString * aName); - nsresult IsPending(PRBool *_retval); - nsresult GetStatus(nsresult *aStatus); - nsresult Cancel(nsresult aStatus); - nsresult Suspend(); - nsresult Resume(); - nsresult GetLoadGroup(nsILoadGroup *aLoadGroup); - nsresult SetLoadGroup(nsILoadGroup aLoadGroup); - nsresult GetLoadFlags(nsLoadFlags *aLoadFlags); - nsresult SetLoadFlags(nsLoadFlags aLoadFlags); - - enum { LOAD_NORMAL = 0U }; - enum { LOAD_BACKGROUND = 1U }; - enum { INHIBIT_CACHING = 128U }; - enum { INHIBIT_PERSISTENT_CACHING = 256U }; - enum { LOAD_BYPASS_CACHE = 512U }; - enum { LOAD_FROM_CACHE = 1024U }; - enum { VALIDATE_ALWAYS = 2048U }; - enum { VALIDATE_NEVER = 4096U }; - enum { VALIDATE_ONCE_PER_SESSION = 8192U }; - -} -
--- a/dwt/internal/mozilla/nsIRequestObserver.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIRequestObserver; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIRequest; - -const char[] NS_IREQUESTOBSERVER_IID_STR = "fd91e2e0-1481-11d3-9333-00104ba0fd40"; - -const nsIID NS_IREQUESTOBSERVER_IID= - {0xfd91e2e0, 0x1481, 0x11d3, - [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIRequestObserver : nsISupports { - - static const char[] IID_STR = NS_IREQUESTOBSERVER_IID_STR; - static const nsIID IID = NS_IREQUESTOBSERVER_IID; - - nsresult OnStartRequest(nsIRequest aRequest, nsISupports aContext); - nsresult OnStopRequest(nsIRequest aRequest, nsISupports aContext, nsresult aStatusCode); - -} -
--- a/dwt/internal/mozilla/nsISHEntry.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -module dwt.internal.mozilla.nsISHEntry; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIHistoryEntry; -import dwt.internal.mozilla.nsIContentViewer; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsIDocShellTreeItem; -import dwt.internal.mozilla.nsISupportsArray; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ISHENTRY_IID_STR = "542a98b9-2889-4922-aaf4-02b6056f4136"; - -const nsIID NS_ISHENTRY_IID= - {0x542a98b9, 0x2889, 0x4922, - [ 0xaa, 0xf4, 0x02, 0xb6, 0x05, 0x6f, 0x41, 0x36 ]}; - -extern(System) - -interface nsISHEntry : nsIHistoryEntry { - - static const char[] IID_STR = NS_ISHENTRY_IID_STR; - static const nsIID IID = NS_ISHENTRY_IID; - - nsresult SetURI(nsIURI aURI); - nsresult GetReferrerURI(nsIURI *aReferrerURI); - nsresult SetReferrerURI(nsIURI aReferrerURI); - nsresult GetContentViewer(nsIContentViewer *aContentViewer); - nsresult SetContentViewer(nsIContentViewer aContentViewer); - nsresult GetSticky(PRBool *aSticky); - nsresult SetSticky(PRBool aSticky); - nsresult GetWindowState(nsISupports *aWindowState); - nsresult SetWindowState(nsISupports aWindowState); - nsresult GetViewerBounds(nsRect * bounds); - nsresult SetViewerBounds(nsRect * bounds); - nsresult AddChildShell(nsIDocShellTreeItem shell); - nsresult ChildShellAt(PRInt32 index, nsIDocShellTreeItem *_retval); - nsresult ClearChildShells(); - nsresult GetRefreshURIList(nsISupportsArray *aRefreshURIList); - nsresult SetRefreshURIList(nsISupportsArray aRefreshURIList); - nsresult SyncPresentationState(); - nsresult SetTitle(nsAString * aTitle); - nsresult GetPostData(nsIInputStream *aPostData); - nsresult SetPostData(nsIInputStream aPostData); - nsresult GetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState); - nsresult SetLayoutHistoryState(nsILayoutHistoryState aLayoutHistoryState); - nsresult GetParent(nsISHEntry *aParent); - nsresult SetParent(nsISHEntry aParent); - nsresult GetLoadType(PRUint32 *aLoadType); - nsresult SetLoadType(PRUint32 aLoadType); - nsresult GetID(PRUint32 *aID); - nsresult SetID(PRUint32 aID); - nsresult GetPageIdentifier(PRUint32 *aPageIdentifier); - nsresult SetPageIdentifier(PRUint32 aPageIdentifier); - nsresult GetCacheKey(nsISupports *aCacheKey); - nsresult SetCacheKey(nsISupports aCacheKey); - nsresult GetSaveLayoutStateFlag(PRBool *aSaveLayoutStateFlag); - nsresult SetSaveLayoutStateFlag(PRBool aSaveLayoutStateFlag); - nsresult GetExpirationStatus(PRBool *aExpirationStatus); - nsresult SetExpirationStatus(PRBool aExpirationStatus); - nsresult GetContentType(nsACString * aContentType); - nsresult SetContentType(nsACString * aContentType); - nsresult SetScrollPosition(PRInt32 x, PRInt32 y); - nsresult GetScrollPosition(PRInt32 *x, PRInt32 *y); - nsresult Create(nsIURI URI, nsAString * title, nsIInputStream inputStream, nsILayoutHistoryState layoutHistoryState, nsISupports cacheKey, nsACString * contentType); - nsresult Clone(nsISHEntry *_retval); - nsresult SetIsSubFrame(PRBool aFlag); - nsresult GetAnyContentViewer(nsISHEntry *ownerEntry, nsIContentViewer *_retval); - -} -
--- a/dwt/internal/mozilla/nsISHistory.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -module dwt.internal.mozilla.nsISHistory; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIHistoryEntry; -import dwt.internal.mozilla.nsISHistoryListener; -import dwt.internal.mozilla.nsISimpleEnumerator; - -const char[] NS_ISHISTORY_IID_STR = "7294fe9b-14d8-11d5-9882-00c04fa02f40"; - -const nsIID NS_ISHISTORY_IID= - {0x7294fe9b, 0x14d8, 0x11d5, - [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]}; - -extern(System) - -interface nsISHistory : nsISupports { - - static const char[] IID_STR = NS_ISHISTORY_IID_STR; - static const nsIID IID = NS_ISHISTORY_IID; - - nsresult GetCount(PRInt32 *aCount); - nsresult GetIndex(PRInt32 *aIndex); - nsresult GetMaxLength(PRInt32 *aMaxLength); - nsresult SetMaxLength(PRInt32 aMaxLength); - nsresult GetEntryAtIndex(PRInt32 index, PRBool modifyIndex, nsIHistoryEntry *_retval); - nsresult PurgeHistory(PRInt32 numEntries); - nsresult AddSHistoryListener(nsISHistoryListener aListener); - nsresult RemoveSHistoryListener(nsISHistoryListener aListener); - nsresult GetSHistoryEnumerator(nsISimpleEnumerator *aSHistoryEnumerator); - -} -
--- a/dwt/internal/mozilla/nsISHistoryListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsISHistoryListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIURI; - -const char[] NS_ISHISTORYLISTENER_IID_STR = "3b07f591-e8e1-11d4-9882-00c04fa02f40"; - -const nsIID NS_ISHISTORYLISTENER_IID= - {0x3b07f591, 0xe8e1, 0x11d4, - [ 0x98, 0x82, 0x00, 0xc0, 0x4f, 0xa0, 0x2f, 0x40 ]}; - -extern(System) - -interface nsISHistoryListener : nsISupports { - - static const char[] IID_STR = NS_ISHISTORYLISTENER_IID_STR; - static const nsIID IID = NS_ISHISTORYLISTENER_IID; - - nsresult OnHistoryNewEntry(nsIURI aNewURI); - nsresult OnHistoryGoBack(nsIURI aBackURI, PRBool *_retval); - nsresult OnHistoryGoForward(nsIURI aForwardURI, PRBool *_retval); - nsresult OnHistoryReload(nsIURI aReloadURI, PRUint32 aReloadFlags, PRBool *_retval); - nsresult OnHistoryGotoIndex(PRInt32 aIndex, nsIURI aGotoURI, PRBool *_retval); - nsresult OnHistoryPurge(PRInt32 aNumEntries, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsISecureBrowserUI.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -module dwt.internal.mozilla.nsISecureBrowserUI; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ISECUREBROWSERUI_IID_STR = "081e31e0-a144-11d3-8c7c-00609792278c"; - -const nsIID NS_ISECUREBROWSERUI_IID= - {0x081e31e0, 0xa144, 0x11d3, - [ 0x8c, 0x7c, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c ]}; - -extern(System) - -interface nsISecureBrowserUI : nsISupports { - - static const char[] IID_STR = NS_ISECUREBROWSERUI_IID_STR; - static const nsIID IID = NS_ISECUREBROWSERUI_IID; - - nsresult Init(nsIDOMWindow window); - nsresult GetState(PRUint32 *aState); - nsresult GetTooltipText(nsAString * aTooltipText); - -} -
--- a/dwt/internal/mozilla/nsISelection.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -module dwt.internal.mozilla.nsISelection; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMNode; -import dwt.internal.mozilla.nsIDOMRange; - -const char[] NS_ISELECTION_IID_STR = "b2c7ed59-8634-4352-9e37-5484c8b6e4e1"; - -const nsIID NS_ISELECTION_IID= - {0xb2c7ed59, 0x8634, 0x4352, - [ 0x9e, 0x37, 0x54, 0x84, 0xc8, 0xb6, 0xe4, 0xe1 ]}; - -extern(System) - -interface nsISelection : nsISupports { - - static const char[] IID_STR = NS_ISELECTION_IID_STR; - static const nsIID IID = NS_ISELECTION_IID; - - nsresult GetAnchorNode(nsIDOMNode *aAnchorNode); - nsresult GetAnchorOffset(PRInt32 *aAnchorOffset); - nsresult GetFocusNode(nsIDOMNode *aFocusNode); - nsresult GetFocusOffset(PRInt32 *aFocusOffset); - nsresult GetIsCollapsed(PRBool *aIsCollapsed); - nsresult GetRangeCount(PRInt32 *aRangeCount); - nsresult GetRangeAt(PRInt32 index, nsIDOMRange *_retval); - nsresult Collapse(nsIDOMNode parentNode, PRInt32 offset); - nsresult Extend(nsIDOMNode parentNode, PRInt32 offset); - nsresult CollapseToStart(); - nsresult CollapseToEnd(); - nsresult ContainsNode(nsIDOMNode node, PRBool entirelyContained, PRBool *_retval); - nsresult SelectAllChildren(nsIDOMNode parentNode); - nsresult AddRange(nsIDOMRange range); - nsresult RemoveRange(nsIDOMRange range); - nsresult RemoveAllRanges(); - nsresult DeleteFromDocument(); - nsresult SelectionLanguageChange(PRBool langRTL); - nsresult ToString(PRUnichar **_retval); - -} -
--- a/dwt/internal/mozilla/nsISerializable.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsISerializable; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIObjectInputStream; -import dwt.internal.mozilla.nsIObjectOutputStream; - -const char[] NS_ISERIALIZABLE_IID_STR = "91cca981-c26d-44a8-bebe-d9ed4891503a"; - -const nsIID NS_ISERIALIZABLE_IID= - {0x91cca981, 0xc26d, 0x44a8, - [ 0xbe, 0xbe, 0xd9, 0xed, 0x48, 0x91, 0x50, 0x3a ]}; - -extern(System) - -interface nsISerializable : nsISupports { - - static const char[] IID_STR = NS_ISERIALIZABLE_IID_STR; - static const nsIID IID = NS_ISERIALIZABLE_IID; - - nsresult Read(nsIObjectInputStream aInputStream); - nsresult Write(nsIObjectOutputStream aOutputStream); - -} -
--- a/dwt/internal/mozilla/nsIServiceManager.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIServiceManager; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_ISERVICEMANAGER_IID_STR = "8bb35ed9-e332-462d-9155-4a002ab5c958"; -const nsIID NS_ISERVICEMANAGER_IID= - {0x8bb35ed9, 0xe332, 0x462d, - [ 0x91, 0x55, 0x4a, 0x00, 0x2a, 0xb5, 0xc9, 0x58 ]}; - -extern(System) - -interface nsIServiceManager : nsISupports { - - static const char[] IID_STR = NS_ISERVICEMANAGER_IID_STR; - static const nsIID IID = NS_ISERVICEMANAGER_IID; - - nsresult GetService(nsCID * aClass, nsIID * aIID, void * *result); - nsresult GetServiceByContractID(char *aContractID, nsIID * aIID, void * *result); - nsresult IsServiceInstantiated(nsCID * aClass, nsIID * aIID, PRBool *_retval); - nsresult IsServiceInstantiatedByContractID(char *aContractID, nsIID * aIID, PRBool *_retval); - -} -
--- a/dwt/internal/mozilla/nsISimpleEnumerator.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsISimpleEnumerator; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_ISIMPLEENUMERATOR_IID_STR = "d1899240-f9d2-11d2-bdd6-000064657374"; - -const nsIID NS_ISIMPLEENUMERATOR_IID= - {0xd1899240, 0xf9d2, 0x11d2, - [ 0xbd, 0xd6, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 ]}; - -extern(System) - -interface nsISimpleEnumerator : nsISupports { - - static const char[] IID_STR = NS_ISIMPLEENUMERATOR_IID_STR; - static const nsIID IID = NS_ISIMPLEENUMERATOR_IID; - - nsresult HasMoreElements(PRBool *_retval); - nsresult GetNext(nsISupports *_retval); - -} -
--- a/dwt/internal/mozilla/nsIStreamListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIStreamListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIRequestObserver; -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsIInputStream; - -const char[] NS_ISTREAMLISTENER_IID_STR = "1a637020-1482-11d3-9333-00104ba0fd40"; - -const nsIID NS_ISTREAMLISTENER_IID= - {0x1a637020, 0x1482, 0x11d3, - [ 0x93, 0x33, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIStreamListener : nsIRequestObserver { - - static const char[] IID_STR = NS_ISTREAMLISTENER_IID_STR; - static const nsIID IID = NS_ISTREAMLISTENER_IID; - - nsresult OnDataAvailable(nsIRequest aRequest, nsISupports aContext, nsIInputStream aInputStream, PRUint32 aOffset, PRUint32 aCount); - -} -
--- a/dwt/internal/mozilla/nsIStringEnumerator.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -module dwt.internal.mozilla.nsIStringEnumerator; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsStringAPI; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ISTRINGENUMERATOR_IID_STR = "50d3ef6c-9380-4f06-9fb2-95488f7d141c"; - -const nsIID NS_ISTRINGENUMERATOR_IID= - {0x50d3ef6c, 0x9380, 0x4f06, - [ 0x9f, 0xb2, 0x95, 0x48, 0x8f, 0x7d, 0x14, 0x1c ]}; - -extern(System) - -interface nsIStringEnumerator : nsISupports { - - static const char[] IID_STR = NS_ISTRINGENUMERATOR_IID_STR; - static const nsIID IID = NS_ISTRINGENUMERATOR_IID; - - nsresult HasMore(PRBool *_retval); - nsresult GetNext(nsAString * _retval); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IUTF8STRINGENUMERATOR_IID_STR = "9bdf1010-3695-4907-95ed-83d0410ec307"; - -const nsIID NS_IUTF8STRINGENUMERATOR_IID= - {0x9bdf1010, 0x3695, 0x4907, - [ 0x95, 0xed, 0x83, 0xd0, 0x41, 0x0e, 0xc3, 0x07 ]}; - -extern(System) - -interface nsIUTF8StringEnumerator : nsISupports { - - static const char[] IID_STR = NS_IUTF8STRINGENUMERATOR_IID_STR; - static const nsIID IID = NS_IUTF8STRINGENUMERATOR_IID; - - nsresult HasMore(PRBool *_retval); - nsresult GetNext(nsACString * _retval); - -} -
--- a/dwt/internal/mozilla/nsISupports.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -module dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -const char[] NS_ISUPPORTS_IID_STR = "00000000-0000-0000-c000-000000000046"; - -const nsIID NS_ISUPPORTS_IID= - { 0x00000000, 0x0000, 0x0000, - [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] }; - -extern(System) - -interface IUnknown -{ - static const char[] IID_STR = NS_ISUPPORTS_IID_STR; - static const nsIID IID = NS_ISUPPORTS_IID; - - nsresult QueryInterface(ref nsIID uuid, void **result); - - nsrefcnt AddRef(); - nsrefcnt Release(); -} - -// WHY WE USE COM's IUnknown for XPCOM: -// -// The IUnknown interface is special-cased in D and is specifically designed to be -// compatible with MS COM. XPCOM's nsISupports interface is the exact equivalent -// of IUnknown so we alias it here to take advantage of D's COM support. -JJR - -alias IUnknown nsISupports; \ No newline at end of file
--- a/dwt/internal/mozilla/nsISupportsArray.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -module dwt.internal.mozilla.nsISupportsArray; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsICollection; - -typedef PRBool function(nsISupports, void*) nsISupportsArrayEnumFunc; - -const char[] NS_ISUPPORTSARRAY_IID_STR = "791eafa0-b9e6-11d1-8031-006008159b5a"; - -const nsIID NS_ISUPPORTSARRAY_IID= - {0x791eafa0, 0xb9e6, 0x11d1, - [ 0x80, 0x31, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a ]}; - -extern(System) - -interface nsISupportsArray : nsICollection { - - static const char[] IID_STR = NS_ISUPPORTSARRAY_IID_STR; - static const nsIID IID = NS_ISUPPORTSARRAY_IID; - - PRBool Equals(nsISupportsArray other); - nsISupports ElementAt(PRUint32 aIndex); - PRInt32 IndexOf(nsISupports aPossibleElement); - PRInt32 IndexOfStartingAt(nsISupports aPossibleElement, PRUint32 aStartIndex); - PRInt32 LastIndexOf(nsISupports aPossibleElement); - nsresult GetIndexOf(nsISupports aPossibleElement, PRInt32 *_retval); - nsresult GetIndexOfStartingAt(nsISupports aPossibleElement, PRUint32 aStartIndex, PRInt32 *_retval); - nsresult GetLastIndexOf(nsISupports aPossibleElement, PRInt32 *_retval); - PRBool InsertElementAt(nsISupports aElement, PRUint32 aIndex); - PRBool ReplaceElementAt(nsISupports aElement, PRUint32 aIndex); - PRBool RemoveElementAt(PRUint32 aIndex); - PRBool RemoveLastElement(nsISupports aElement); - nsresult DeleteLastElement(nsISupports aElement); - nsresult DeleteElementAt(PRUint32 aIndex); - PRBool AppendElements(nsISupportsArray aElements); - nsresult Compact(); - PRBool EnumerateForwards(nsISupportsArrayEnumFunc aFunc, void * aData); - PRBool EnumerateBackwards(nsISupportsArrayEnumFunc aFunc, void * aData); - nsresult Clone(nsISupportsArray *_retval); - PRBool MoveElement(PRInt32 aFrom, PRInt32 aTo); - PRBool InsertElementsAt(nsISupportsArray aOther, PRUint32 aIndex); - PRBool RemoveElementsAt(PRUint32 aIndex, PRUint32 aCount); - PRBool SizeTo(PRInt32 aSize); - -} -
--- a/dwt/internal/mozilla/nsITooltipListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsITooltipListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_ITOOLTIPLISTENER_IID_STR = "44b78386-1dd2-11b2-9ad2-e4eee2ca1916"; - -const nsIID NS_ITOOLTIPLISTENER_IID= - {0x44b78386, 0x1dd2, 0x11b2, - [ 0x9a, 0xd2, 0xe4, 0xee, 0xe2, 0xca, 0x19, 0x16 ]}; - -extern(System) - -interface nsITooltipListener : nsISupports { - - static const char[] IID_STR = NS_ITOOLTIPLISTENER_IID_STR; - static const nsIID IID = NS_ITOOLTIPLISTENER_IID; - - nsresult OnShowTooltip(PRInt32 aXCoords, PRInt32 aYCoords, PRUnichar *aTipText); - nsresult OnHideTooltip(); - -} -
--- a/dwt/internal/mozilla/nsITraceRefcnt.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsITraceRefcnt; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_ITRACEREFCNT_IID_STR = "273dc92f-0fe6-4545-96a9-21be77828039"; - -const nsIID NS_ITRACEREFCNT_IID= - {0x273dc92f, 0x0fe6, 0x4545, - [ 0x96, 0xa9, 0x21, 0xbe, 0x77, 0x82, 0x80, 0x39 ]}; - -extern(System) -interface nsITraceRefcnt : nsISupports { - static const char[] IID_STR = NS_ITRACEREFCNT_IID_STR; - static const nsIID IID = NS_ITRACEREFCNT_IID; - - nsresult LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, char *aTypeName, PRUint32 aInstanceSize); - nsresult LogRelease(void * aPtr, nsrefcnt aNewRefcnt, char *aTypeName); - nsresult LogCtor(void * aPtr, char *aTypeName, PRUint32 aInstanceSize); - nsresult LogDtor(void * aPtr, char *aTypeName, PRUint32 aInstanceSize); - nsresult LogAddCOMPtr(void * aPtr, nsISupports aObject); - nsresult LogReleaseCOMPtr(void * aPtr, nsISupports aObject); -} -
--- a/dwt/internal/mozilla/nsITransfer.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsITransfer; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.prtime; - -import dwt.internal.mozilla.nsIWebProgressListener2; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsICancelable; -import dwt.internal.mozilla.nsIMIMEInfo; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_ITRANSFER_IID_STR = "23c51569-e9a1-4a92-adeb-3723db82ef7c"; - -const nsIID NS_ITRANSFER_IID= - {0x23c51569, 0xe9a1, 0x4a92, - [ 0xad, 0xeb, 0x37, 0x23, 0xdb, 0x82, 0xef, 0x7c ]}; - -extern(System) - -interface nsITransfer : nsIWebProgressListener2 { - - static const char[] IID_STR = NS_ITRANSFER_IID_STR; - static const nsIID IID = NS_ITRANSFER_IID; - - nsresult Init(nsIURI aSource, nsIURI aTarget, nsAString * aDisplayName, nsIMIMEInfo aMIMEInfo, PRTime startTime, nsILocalFile aTempFile, nsICancelable aCancelable); - -} -
--- a/dwt/internal/mozilla/nsIURI.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -module dwt.internal.mozilla.nsIURI; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IURI_IID_STR = "07a22cc0-0ce5-11d3-9331-00104ba0fd40"; - -const nsIID NS_IURI_IID= - {0x07a22cc0, 0x0ce5, 0x11d3, - [ 0x93, 0x31, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIURI : nsISupports { - - static const char[] IID_STR = NS_IURI_IID_STR; - static const nsIID IID = NS_IURI_IID; - - nsresult GetSpec(nsACString * aSpec); - nsresult SetSpec(nsACString * aSpec); - nsresult GetPrePath(nsACString * aPrePath); - nsresult GetScheme(nsACString * aScheme); - nsresult SetScheme(nsACString * aScheme); - nsresult GetUserPass(nsACString * aUserPass); - nsresult SetUserPass(nsACString * aUserPass); - nsresult GetUsername(nsACString * aUsername); - nsresult SetUsername(nsACString * aUsername); - nsresult GetPassword(nsACString * aPassword); - nsresult SetPassword(nsACString * aPassword); - nsresult GetHostPort(nsACString * aHostPort); - nsresult SetHostPort(nsACString * aHostPort); - nsresult GetHost(nsACString * aHost); - nsresult SetHost(nsACString * aHost); - nsresult GetPort(PRInt32 *aPort); - nsresult SetPort(PRInt32 aPort); - nsresult GetPath(nsACString * aPath); - nsresult SetPath(nsACString * aPath); - nsresult Equals(nsIURI other, PRBool *_retval); - nsresult SchemeIs(char *scheme, PRBool *_retval); - nsresult Clone(nsIURI *_retval); - nsresult Resolve(nsACString * relativePath, nsACString * _retval); - nsresult GetAsciiSpec(nsACString * aAsciiSpec); - nsresult GetAsciiHost(nsACString * aAsciiHost); - nsresult GetOriginCharset(nsACString * aOriginCharset); - -} -
--- a/dwt/internal/mozilla/nsIURIContentListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -module dwt.internal.mozilla.nsIURIContentListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsIStreamListener; -import dwt.internal.mozilla.nsIURI; - -const char[] NS_IURICONTENTLISTENER_IID_STR = "94928ab3-8b63-11d3-989d-001083010e9b"; - -const nsIID NS_IURICONTENTLISTENER_IID= - {0x94928ab3, 0x8b63, 0x11d3, - [ 0x98, 0x9d, 0x00, 0x10, 0x83, 0x01, 0x0e, 0x9b ]}; - -extern(System) - -interface nsIURIContentListener : nsISupports { - - static const char[] IID_STR = NS_IURICONTENTLISTENER_IID_STR; - static const nsIID IID = NS_IURICONTENTLISTENER_IID; - - nsresult OnStartURIOpen(nsIURI aURI, PRBool *_retval); - nsresult DoContent(char *aContentType, PRBool aIsContentPreferred, nsIRequest aRequest, nsIStreamListener *aContentHandler, PRBool *_retval); - nsresult IsPreferred(char *aContentType, char **aDesiredContentType, PRBool *_retval); - nsresult CanHandleContent(char *aContentType, PRBool aIsContentPreferred, char **aDesiredContentType, PRBool *_retval); - nsresult GetLoadCookie(nsISupports *aLoadCookie); - nsresult SetLoadCookie(nsISupports aLoadCookie); - nsresult GetParentContentListener(nsIURIContentListener *aParentContentListener); - nsresult SetParentContentListener(nsIURIContentListener aParentContentListener); - -} -
--- a/dwt/internal/mozilla/nsIURL.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -module dwt.internal.mozilla.nsIURL; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IURL_IID_STR = "d6116970-8034-11d3-9399-00104ba0fd40"; - -const nsIID NS_IURL_IID= - {0xd6116970, 0x8034, 0x11d3, - [ 0x93, 0x99, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 ]}; - -extern(System) - -interface nsIURL : nsIURI { - - static const char[] IID_STR = NS_IURL_IID_STR; - static const nsIID IID = NS_IURL_IID; - - nsresult GetFilePath(nsACString * aFilePath); - nsresult SetFilePath(nsACString * aFilePath); - nsresult GetParam(nsACString * aParam); - nsresult SetParam(nsACString * aParam); - nsresult GetQuery(nsACString * aQuery); - nsresult SetQuery(nsACString * aQuery); - nsresult GetRef(nsACString * aRef); - nsresult SetRef(nsACString * aRef); - nsresult GetDirectory(nsACString * aDirectory); - nsresult SetDirectory(nsACString * aDirectory); - nsresult GetFileName(nsACString * aFileName); - nsresult SetFileName(nsACString * aFileName); - nsresult GetFileBaseName(nsACString * aFileBaseName); - nsresult SetFileBaseName(nsACString * aFileBaseName); - nsresult GetFileExtension(nsACString * aFileExtension); - nsresult SetFileExtension(nsACString * aFileExtension); - nsresult GetCommonBaseSpec(nsIURI aURIToCompare, nsACString * _retval); - nsresult GetRelativeSpec(nsIURI aURIToCompare, nsACString * _retval); - -} -
--- a/dwt/internal/mozilla/nsIWeakReference.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -module dwt.internal.mozilla.nsIWeakReference; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_IWEAKREFERENCE_IID_STR = "9188bc85-f92e-11d2-81ef-0060083a0bcf"; - -const nsIID NS_IWEAKREFERENCE_IID= - {0x9188bc85, 0xf92e, 0x11d2, - [ 0x81, 0xef, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]}; - -extern(System) - -interface nsIWeakReference : nsISupports { - - static const char[] IID_STR = NS_IWEAKREFERENCE_IID_STR; - static const nsIID IID = NS_IWEAKREFERENCE_IID; - - nsresult QueryReferent(nsIID * uuid, void * *result); - -} - -/****************************************************************************** - -******************************************************************************/ - -const char[] NS_ISUPPORTSWEAKREFERENCE_IID_STR = "9188bc86-f92e-11d2-81ef-0060083a0bcf"; - -const nsIID NS_ISUPPORTSWEAKREFERENCE_IID= - {0x9188bc86, 0xf92e, 0x11d2, - [ 0x81, 0xef, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf ]}; - -extern(System) - -interface nsISupportsWeakReference : nsISupports { - - static const char[] IID_STR = NS_ISUPPORTSWEAKREFERENCE_IID_STR; - static const nsIID IID = NS_ISUPPORTSWEAKREFERENCE_IID; - - nsresult GetWeakReference(nsIWeakReference *_retval); - -} -
--- a/dwt/internal/mozilla/nsIWebBrowser.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -module dwt.internal.mozilla.nsIWebBrowser; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIURIContentListener; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIWeakReference; - -const char[] NS_IWEBBROWSER_IID_STR = "69e5df00-7b8b-11d3-af61-00a024ffc08c"; - -const nsIID NS_IWEBBROWSER_IID= - {0x69e5df00, 0x7b8b, 0x11d3, - [ 0xaf, 0x61, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIWebBrowser : nsISupports { - - static const char[] IID_STR = NS_IWEBBROWSER_IID_STR; - static const nsIID IID = NS_IWEBBROWSER_IID; - - nsresult AddWebBrowserListener(nsIWeakReference aListener, nsIID * aIID); - nsresult RemoveWebBrowserListener(nsIWeakReference aListener, nsIID * aIID); - nsresult GetContainerWindow(nsIWebBrowserChrome *aContainerWindow); - nsresult SetContainerWindow(nsIWebBrowserChrome aContainerWindow); - nsresult GetParentURIContentListener(nsIURIContentListener *aParentURIContentListener); - nsresult SetParentURIContentListener(nsIURIContentListener aParentURIContentListener); - nsresult GetContentDOMWindow(nsIDOMWindow *aContentDOMWindow); - -} -
--- a/dwt/internal/mozilla/nsIWebBrowserChrome.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -module dwt.internal.mozilla.nsIWebBrowserChrome; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIWebBrowser; - -const char[] NS_IWEBBROWSERCHROME_IID_STR = "ba434c60-9d52-11d3-afb0-00a024ffc08c"; - -const nsIID NS_IWEBBROWSERCHROME_IID= - {0xba434c60, 0x9d52, 0x11d3, - [ 0xaf, 0xb0, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIWebBrowserChrome : nsISupports { - - static const char[] IID_STR = NS_IWEBBROWSERCHROME_IID_STR; - static const nsIID IID = NS_IWEBBROWSERCHROME_IID; - - enum { STATUS_SCRIPT = 1U }; - enum { STATUS_SCRIPT_DEFAULT = 2U }; - enum { STATUS_LINK = 3U }; - - nsresult SetStatus(PRUint32 statusType, PRUnichar *status); - nsresult GetWebBrowser(nsIWebBrowser *aWebBrowser); - nsresult SetWebBrowser(nsIWebBrowser aWebBrowser); - - enum { CHROME_DEFAULT = 1U }; - enum { CHROME_WINDOW_BORDERS = 2U }; - enum { CHROME_WINDOW_CLOSE = 4U }; - enum { CHROME_WINDOW_RESIZE = 8U }; - enum { CHROME_MENUBAR = 16U }; - enum { CHROME_TOOLBAR = 32U }; - enum { CHROME_LOCATIONBAR = 64U }; - enum { CHROME_STATUSBAR = 128U }; - enum { CHROME_PERSONAL_TOOLBAR = 256U }; - enum { CHROME_SCROLLBARS = 512U }; - enum { CHROME_TITLEBAR = 1024U }; - enum { CHROME_EXTRA = 2048U }; - enum { CHROME_WITH_SIZE = 4096U }; - enum { CHROME_WITH_POSITION = 8192U }; - enum { CHROME_WINDOW_MIN = 16384U }; - enum { CHROME_WINDOW_POPUP = 32768U }; - enum { CHROME_WINDOW_RAISED = 33554432U }; - enum { CHROME_WINDOW_LOWERED = 67108864U }; - enum { CHROME_CENTER_SCREEN = 134217728U }; - enum { CHROME_DEPENDENT = 268435456U }; - enum { CHROME_MODAL = 536870912U }; - enum { CHROME_OPENAS_DIALOG = 1073741824U }; - enum { CHROME_OPENAS_CHROME = 2147483648U }; - enum { CHROME_ALL = 4094U }; - - nsresult GetChromeFlags(PRUint32 *aChromeFlags); - nsresult SetChromeFlags(PRUint32 aChromeFlags); - nsresult DestroyBrowserWindow(); - nsresult SizeBrowserTo(PRInt32 aCX, PRInt32 aCY); - nsresult ShowAsModal(); - nsresult IsWindowModal(PRBool *_retval); - nsresult ExitModalEventLoop(nsresult aStatus); - -} -
--- a/dwt/internal/mozilla/nsIWebBrowserChromeFocus.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -module dwt.internal.mozilla.nsIWebBrowserChromeFocus; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -const char[] NS_IWEBBROWSERCHROMEFOCUS_IID_STR = "d2206418-1dd1-11b2-8e55-acddcd2bcfb8"; - -const nsIID NS_IWEBBROWSERCHROMEFOCUS_IID= - {0xd2206418, 0x1dd1, 0x11b2, - [ 0x8e, 0x55, 0xac, 0xdd, 0xcd, 0x2b, 0xcf, 0xb8 ]}; - -extern(System) - -interface nsIWebBrowserChromeFocus : nsISupports { - - static const char[] IID_STR = NS_IWEBBROWSERCHROMEFOCUS_IID_STR; - static const nsIID IID = NS_IWEBBROWSERCHROMEFOCUS_IID; - - nsresult FocusNextElement(); - nsresult FocusPrevElement(); - -} -
--- a/dwt/internal/mozilla/nsIWebBrowserFocus.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -module dwt.internal.mozilla.nsIWebBrowserFocus; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIDOMElement; - -const char[] NS_IWEBBROWSERFOCUS_IID_STR = "9c5d3c58-1dd1-11b2-a1c9-f3699284657a"; - -const nsIID NS_IWEBBROWSERFOCUS_IID= - {0x9c5d3c58, 0x1dd1, 0x11b2, - [ 0xa1, 0xc9, 0xf3, 0x69, 0x92, 0x84, 0x65, 0x7a ]}; - -extern(System) - -interface nsIWebBrowserFocus : nsISupports { - - static const char[] IID_STR = NS_IWEBBROWSERFOCUS_IID_STR; - static const nsIID IID = NS_IWEBBROWSERFOCUS_IID; - - nsresult Activate(); - nsresult Deactivate(); - nsresult SetFocusAtFirstElement(); - nsresult SetFocusAtLastElement(); - nsresult GetFocusedWindow(nsIDOMWindow *aFocusedWindow); - nsresult SetFocusedWindow(nsIDOMWindow aFocusedWindow); - nsresult GetFocusedElement(nsIDOMElement *aFocusedElement); - nsresult SetFocusedElement(nsIDOMElement aFocusedElement); - -} -
--- a/dwt/internal/mozilla/nsIWebNavigation.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -module dwt.internal.mozilla.nsIWebNavigation; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMDocument; -import dwt.internal.mozilla.nsIInputStream; -import dwt.internal.mozilla.nsISHistory; -import dwt.internal.mozilla.nsIURI; - -const char[] NS_IWEBNAVIGATION_IID_STR = "f5d9e7b0-d930-11d3-b057-00a024ffc08c"; - -const nsIID NS_IWEBNAVIGATION_IID= - {0xf5d9e7b0, 0xd930, 0x11d3, - [ 0xb0, 0x57, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIWebNavigation : nsISupports { - - static const char[] IID_STR = NS_IWEBNAVIGATION_IID_STR; - static const nsIID IID = NS_IWEBNAVIGATION_IID; - - nsresult GetCanGoBack(PRBool *aCanGoBack); - nsresult GetCanGoForward(PRBool *aCanGoForward); - nsresult GoBack(); - nsresult GoForward(); - nsresult GotoIndex(PRInt32 index); - - enum { LOAD_FLAGS_MASK = 65535U }; - enum { LOAD_FLAGS_NONE = 0U }; - enum { LOAD_FLAGS_IS_REFRESH = 16U }; - enum { LOAD_FLAGS_IS_LINK = 32U }; - enum { LOAD_FLAGS_BYPASS_HISTORY = 64U }; - enum { LOAD_FLAGS_REPLACE_HISTORY = 128U }; - enum { LOAD_FLAGS_BYPASS_CACHE = 256U }; - enum { LOAD_FLAGS_BYPASS_PROXY = 512U }; - enum { LOAD_FLAGS_CHARSET_CHANGE = 1024U }; - enum { LOAD_FLAGS_STOP_CONTENT = 2048U }; - enum { LOAD_FLAGS_FROM_EXTERNAL = 4096U }; - enum { LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP = 8192U }; - enum { LOAD_FLAGS_FIRST_LOAD = 16384U }; - - nsresult LoadURI(PRUnichar *aURI, PRUint32 aLoadFlags, nsIURI aReferrer, nsIInputStream aPostData, nsIInputStream aHeaders); - nsresult Reload(PRUint32 aReloadFlags); - - enum { STOP_NETWORK = 1U }; - enum { STOP_CONTENT = 2U }; - enum { STOP_ALL = 3U }; - - nsresult Stop(PRUint32 aStopFlags); - nsresult GetDocument(nsIDOMDocument *aDocument); - nsresult GetCurrentURI(nsIURI *aCurrentURI); - nsresult GetReferringURI(nsIURI *aReferringURI); - nsresult GetSessionHistory(nsISHistory *aSessionHistory); - nsresult SetSessionHistory(nsISHistory aSessionHistory); - -} -
--- a/dwt/internal/mozilla/nsIWebNavigationInfo.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -module dwt.internal.mozilla.nsIWebNavigationInfo; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; -import dwt.internal.mozilla.nsIWebNavigation; -import dwt.internal.mozilla.nsStringAPI; - -const char[] NS_IWEBNAVIGATIONINFO_IID_STR = "62a93afb-93a1-465c-84c8-0432264229de"; - -const nsIID NS_IWEBNAVIGATIONINFO_IID= - {0x62a93afb, 0x93a1, 0x465c, - [ 0x84, 0xc8, 0x04, 0x32, 0x26, 0x42, 0x29, 0xde ]}; - -extern(System) - -interface nsIWebNavigationInfo : nsISupports { - - static const char[] IID_STR = NS_IWEBNAVIGATIONINFO_IID_STR; - static const nsIID IID = NS_IWEBNAVIGATIONINFO_IID; - - enum { UNSUPPORTED = 0U }; - enum { IMAGE = 1U }; - enum { PLUGIN = 2U }; - enum { OTHER = 32768U }; - - nsresult IsTypeSupported(nsACString * aType, nsIWebNavigation aWebNav, PRUint32 *_retval); - -} -
--- a/dwt/internal/mozilla/nsIWebProgress.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -module dwt.internal.mozilla.nsIWebProgress; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIWebProgressListener; - -const char[] NS_IWEBPROGRESS_IID_STR = "570f39d0-efd0-11d3-b093-00a024ffc08c"; - -const nsIID NS_IWEBPROGRESS_IID= - {0x570f39d0, 0xefd0, 0x11d3, - [ 0xb0, 0x93, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIWebProgress : nsISupports { - - static const char[] IID_STR = NS_IWEBPROGRESS_IID_STR; - static const nsIID IID = NS_IWEBPROGRESS_IID; - - enum { NOTIFY_STATE_REQUEST = 1U }; - enum { NOTIFY_STATE_DOCUMENT = 2U }; - enum { NOTIFY_STATE_NETWORK = 4U }; - enum { NOTIFY_STATE_WINDOW = 8U }; - enum { NOTIFY_STATE_ALL = 15U }; - enum { NOTIFY_PROGRESS = 16U }; - enum { NOTIFY_STATUS = 32U }; - enum { NOTIFY_SECURITY = 64U }; - enum { NOTIFY_LOCATION = 128U }; - enum { NOTIFY_ALL = 255U }; - - nsresult AddProgressListener(nsIWebProgressListener aListener, PRUint32 aNotifyMask); - nsresult RemoveProgressListener(nsIWebProgressListener aListener); - nsresult GetDOMWindow(nsIDOMWindow *aDOMWindow); - nsresult GetIsLoadingDocument(PRBool *aIsLoadingDocument); - -} -
--- a/dwt/internal/mozilla/nsIWebProgressListener.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -module dwt.internal.mozilla.nsIWebProgressListener; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIWebProgress; -import dwt.internal.mozilla.nsIRequest; -import dwt.internal.mozilla.nsIURI; - -const char[] NS_IWEBPROGRESSLISTENER_IID_STR = "570f39d1-efd0-11d3-b093-00a024ffc08c"; - -const nsIID NS_IWEBPROGRESSLISTENER_IID= - {0x570f39d1, 0xefd0, 0x11d3, - [ 0xb0, 0x93, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c ]}; - -extern(System) - -interface nsIWebProgressListener : nsISupports { - - static const char[] IID_STR = NS_IWEBPROGRESSLISTENER_IID_STR; - static const nsIID IID = NS_IWEBPROGRESSLISTENER_IID; - - enum { STATE_START = 1U }; - enum { STATE_REDIRECTING = 2U }; - enum { STATE_TRANSFERRING = 4U }; - enum { STATE_NEGOTIATING = 8U }; - enum { STATE_STOP = 16U }; - enum { STATE_IS_REQUEST = 65536U }; - enum { STATE_IS_DOCUMENT = 131072U }; - enum { STATE_IS_NETWORK = 262144U }; - enum { STATE_IS_WINDOW = 524288U }; - enum { STATE_RESTORING = 16777216U }; - enum { STATE_IS_INSECURE = 4U }; - enum { STATE_IS_BROKEN = 1U }; - enum { STATE_IS_SECURE = 2U }; - enum { STATE_SECURE_HIGH = 262144U }; - enum { STATE_SECURE_MED = 65536U }; - enum { STATE_SECURE_LOW = 131072U }; - - nsresult OnStateChange(nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aStateFlags, nsresult aStatus); - nsresult OnProgressChange(nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress, PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress); - nsresult OnLocationChange(nsIWebProgress aWebProgress, nsIRequest aRequest, nsIURI aLocation); - nsresult OnStatusChange(nsIWebProgress aWebProgress, nsIRequest aRequest, nsresult aStatus, PRUnichar *aMessage); - nsresult OnSecurityChange(nsIWebProgress aWebProgress, nsIRequest aRequest, PRUint32 aState); - -} -
--- a/dwt/internal/mozilla/nsIWebProgressListener2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -module dwt.internal.mozilla.nsIWebProgressListener2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIWebProgressListener; -import dwt.internal.mozilla.nsIWebProgress; -import dwt.internal.mozilla.nsIRequest; - -const char[] NS_IWEBPROGRESSLISTENER2_IID_STR = "3f24610d-1e1f-4151-9d2e-239884742324"; - -const nsIID NS_IWEBPROGRESSLISTENER2_IID= - {0x3f24610d, 0x1e1f, 0x4151, - [ 0x9d, 0x2e, 0x23, 0x98, 0x84, 0x74, 0x23, 0x24 ]}; - -extern(System) - -interface nsIWebProgressListener2 : nsIWebProgressListener { - - static const char[] IID_STR = NS_IWEBPROGRESSLISTENER2_IID_STR; - static const nsIID IID = NS_IWEBPROGRESSLISTENER2_IID; - - nsresult OnProgressChange64(nsIWebProgress aWebProgress, nsIRequest aRequest, PRInt64 aCurSelfProgress, PRInt64 aMaxSelfProgress, PRInt64 aCurTotalProgress, PRInt64 aMaxTotalProgress); - -} -
--- a/dwt/internal/mozilla/nsIWindowCreator.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -module dwt.internal.mozilla.nsIWindowCreator; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIWebBrowserChrome; - -const char[] NS_IWINDOWCREATOR_IID_STR = "30465632-a777-44cc-90f9-8145475ef999"; - -const nsIID NS_IWINDOWCREATOR_IID= - {0x30465632, 0xa777, 0x44cc, - [ 0x90, 0xf9, 0x81, 0x45, 0x47, 0x5e, 0xf9, 0x99 ]}; - -extern(System) - -interface nsIWindowCreator : nsISupports { - - static const char[] IID_STR = NS_IWINDOWCREATOR_IID_STR; - static const nsIID IID = NS_IWINDOWCREATOR_IID; - - nsresult CreateChromeWindow(nsIWebBrowserChrome parent, PRUint32 chromeFlags, nsIWebBrowserChrome *_retval); - -} -
--- a/dwt/internal/mozilla/nsIWindowCreator2.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -module dwt.internal.mozilla.nsIWindowCreator2; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; - -import dwt.internal.mozilla.nsIWindowCreator; -import dwt.internal.mozilla.nsIURI; -import dwt.internal.mozilla.nsIWebBrowserChrome; - -const char[] NS_IWINDOWCREATOR2_IID_STR = "f673ec81-a4b0-11d6-964b-eb5a2bf216fc"; - -const nsIID NS_IWINDOWCREATOR2_IID= - {0xf673ec81, 0xa4b0, 0x11d6, - [ 0x96, 0x4b, 0xeb, 0x5a, 0x2b, 0xf2, 0x16, 0xfc ]}; - -extern(System) - -interface nsIWindowCreator2 : nsIWindowCreator { - - static const char[] IID_STR = NS_IWINDOWCREATOR2_IID_STR; - static const nsIID IID = NS_IWINDOWCREATOR2_IID; - - enum { PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 1U }; - nsresult CreateChromeWindow2(nsIWebBrowserChrome parent, PRUint32 chromeFlags, PRUint32 contextFlags, nsIURI uri, PRBool *cancel, nsIWebBrowserChrome *_retval); - -} -
--- a/dwt/internal/mozilla/nsIWindowWatcher.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -module dwt.internal.mozilla.nsIWindowWatcher; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsID; -import dwt.internal.mozilla.nsISupports; - -import dwt.internal.mozilla.nsIDOMWindow; -import dwt.internal.mozilla.nsIObserver; -import dwt.internal.mozilla.nsIPrompt; -import dwt.internal.mozilla.nsIAuthPrompt; -import dwt.internal.mozilla.nsISimpleEnumerator; -import dwt.internal.mozilla.nsIWebBrowserChrome; -import dwt.internal.mozilla.nsIWindowCreator; - -const char[] NS_IWINDOWWATCHER_IID_STR = "002286a8-494b-43b3-8ddd-49e3fc50622b"; - -const nsIID NS_IWINDOWWATCHER_IID= - {0x002286a8, 0x494b, 0x43b3, - [ 0x8d, 0xdd, 0x49, 0xe3, 0xfc, 0x50, 0x62, 0x2b ]}; - -extern(System) - -interface nsIWindowWatcher : nsISupports { - - static const char[] IID_STR = NS_IWINDOWWATCHER_IID_STR; - static const nsIID IID = NS_IWINDOWWATCHER_IID; - - nsresult OpenWindow(nsIDOMWindow aParent, char *aUrl, char *aName, char *aFeatures, nsISupports aArguments, nsIDOMWindow *_retval); - nsresult RegisterNotification(nsIObserver aObserver); - nsresult UnregisterNotification(nsIObserver aObserver); - nsresult GetWindowEnumerator(nsISimpleEnumerator *_retval); - nsresult GetNewPrompter(nsIDOMWindow aParent, nsIPrompt *_retval); - nsresult GetNewAuthPrompter(nsIDOMWindow aParent, nsIAuthPrompt *_retval); - nsresult SetWindowCreator(nsIWindowCreator creator); - nsresult GetChromeForWindow(nsIDOMWindow aWindow, nsIWebBrowserChrome *_retval); - nsresult GetWindowByName(PRUnichar *aTargetName, nsIDOMWindow aCurrentWindow, nsIDOMWindow *_retval); - nsresult GetActiveWindow(nsIDOMWindow *aActiveWindow); - nsresult SetActiveWindow(nsIDOMWindow aActiveWindow); - -} -
--- a/dwt/internal/mozilla/nsStringAPI.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ -module dwt.internal.mozilla.nsStringAPI; - -import dwt.internal.mozilla.Common; - -extern (System): - -/****************************************************************************** - -******************************************************************************/ - -enum -{ - NS_STRING_CONTAINER_INIT_DEPEND = 2, - NS_STRING_CONTAINER_INIT_ADOPT = 4, - NS_STRING_CONTAINER_INIT_SUBSTRING = 8, -} - -nsresult NS_StringContainerInit ( nsStringContainer *aContainer ); -nsresult NS_StringContainerInit2( nsStringContainer *aContainer, PRUnichar *aData, PRUint32 aDataLength, PRUint32 aFlags ); -void NS_StringContainerFinish(nsStringContainer *aContainer); -PRUint32 NS_StringGetData(nsAString *aStr, PRUnichar **aData, PRBool *aTerminated); -PRUint32 NS_StringGetMutableData(nsAString *aStr, PRUint32 aDataLength, PRUnichar **aData); -PRUnichar * NS_StringCloneData(nsAString *aStr); -nsresult NS_StringSetData(nsAString *aStr, PRUnichar *aData, PRUint32 aDataLength); -nsresult NS_StringSetDataRange( nsAString *aStr, PRUint32 aCutOffset, PRUint32 aCutLength, PRUnichar *aData, PRUint32 aDataLength ); -nsresult NS_StringCopy(nsAString *aDestStr, nsAString *aSrcStr); - -/****************************************************************************** - -******************************************************************************/ - -enum -{ - NS_CSTRING_CONTAINER_INIT_DEPEND = 2, - NS_CSTRING_CONTAINER_INIT_ADOPT = 4, - NS_CSTRING_CONTAINER_INIT_SUBSTRING = 8, -} - -nsresult NS_CStringContainerInit( nsCStringContainer *aContainer ); -nsresult NS_CStringContainerInit2( nsCStringContainer *aContainer, char *aData, PRUint32 aDataLength, PRUint32 aFlags ); -void NS_CStringContainerFinish( nsCStringContainer *aContainer ); -PRUint32 NS_CStringGetData( nsACString *aStr, char **aData, PRBool *aTerminated ); -PRUint32 NS_CStringGetMutableData( nsACString *aStr, PRUint32 aDataLength, char **aData ); -char * NS_CStringCloneData( nsACString *aStr); -nsresult NS_CStringSetData( nsACString *aStr, char *aData, PRUint32 aDataLength ); -nsresult NS_CStringSetDataRange( nsACString *aStr, PRUint32 aCutOffset, - PRUint32 aCutLength, char *aData, PRUint32 aDataLength ); -nsresult NS_CStringCopy( nsACString *aDestStr, nsACString *aSrcStr ); - -/****************************************************************************** - -******************************************************************************/ - -enum nsCStringEncoding -{ - NS_CSTRING_ENCODING_ASCII, - NS_CSTRING_ENCODING_UTF8, - NS_CSTRING_ENCODING_NATIVE_FILESYSTEM, -} - -nsresult NS_CStringToUTF16( nsACString *aSource, int aSrcEncoding, nsAString *aDest ); -nsresult NS_UTF16ToCString( nsAString *aSource, int aDestEncoding, nsACString *aDest ); - -/****************************************************************************** - -******************************************************************************/ - -alias nsAString nsAString_external; -alias nsACString nsACString_external; - -alias nsAString nsEmbedString; -alias nsACString nsEmbedCString; - -struct nsAString -{ - static nsAString opCall(wchar[] s) - { - nsAString result; - NS_StringSetData(&result, cast(PRUnichar*)s, uint.max); - return result; - } - - static wchar[] getString16( nsAString* str ) - { - wchar* buffer = null; - PRBool terminated; - uint len = NS_StringGetData(str, &buffer, &terminated); - return buffer[0 .. len].dup; - } - - private: - void *v; -} - -struct nsACString -{ - static nsACString opCall(char[] s) - { - nsACString result; - NS_CStringSetData(&result, cast(char*)s, uint.max); - return result; - } - - private: - void *v; -} - -/****************************************************************************** - -******************************************************************************/ - -struct nsStringContainer// : public nsAString -{ -private: - void* v; - void* d1; - uint d2; - void* d3; -} - -struct nsCStringContainer// : public nsACString -{ -private: - void* v; - void* d1; - uint d2; - void* d3; -} - -/****************************************************************************** - -******************************************************************************/ - -// import mozilla.xpcom.nsDebug; - -alias nsString_external nsString; -alias nsCString_external nsCString; -alias nsDependentString_external nsDependentString; -alias nsDependentCString_external nsDependentCString; -alias NS_ConvertASCIItoUTF16_external NS_ConvertASCIItoUTF16; -alias NS_ConvertUTF8toUTF16_external NS_ConvertUTF8toUTF16; -alias NS_ConvertUTF16toUTF8_external NS_ConvertUTF16toUTF8; -alias NS_LossyConvertUTF16toASCII_external NS_LossyConvertUTF16toASCII; -alias nsGetterCopies_external nsGetterCopies; -alias nsCGetterCopies_external nsCGetterCopies; -alias nsDependentSubstring_external nsDependentSubstring; -alias nsDependentCSubstring_external nsDependentCSubstring; - -struct nsString_external{} -struct nsCString_external{} -struct nsDependentString_external{} -struct nsDependentCString_external{} -struct NS_ConvertASCIItoUTF16_external{} -struct NS_ConvertUTF8toUTF16_external{} -struct NS_ConvertUTF16toUTF8_external{} -struct NS_LossyConvertUTF16toASCII_external{} - -/****************************************************************************** - -******************************************************************************/ - -struct nsGetterCopies_external -{ - private: - alias PRUnichar char_type; - nsString_external *mString; - char_type *mData; -} - -struct nsCGetterCopies_external -{ - private: - alias char char_type; - nsCString_external *mString; - char_type *mData; -} - -/****************************************************************************** - -******************************************************************************/ - -struct nsDependentSubstring_external{} -struct nsDependentCSubstring_external{} - -/****************************************************************************** - -******************************************************************************/ - -PRUint32 strlen_PRUnichar ( PRUnichar* str ) -{ - PRUint32 len = 0; - if (str !is null) - while (*(lparg0++) != 0) len++; - ret len; -} \ No newline at end of file
--- a/dwt/internal/mozilla/nsXPCOM.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ - -module dwt.internal.mozilla.nsXPCOM; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.nsStringAPI; -import dwt.internal.mozilla.nsIModule; -import dwt.internal.mozilla.nsIComponentManager; -import dwt.internal.mozilla.nsIComponentRegistrar; -import dwt.internal.mozilla.nsIServiceManager; -import dwt.internal.mozilla.nsIFile; -import dwt.internal.mozilla.nsILocalFile; -import dwt.internal.mozilla.nsIDirectoryService; -import dwt.internal.mozilla.nsIMemory; -import dwt.internal.mozilla.nsIDebug; -import dwt.internal.mozilla.nsITraceRefcnt; - -/****************************************************************************** - -******************************************************************************/ - -extern (System): - -struct nsStaticModuleInfo -{ - char *name; - nsGetModuleProc getModule; -} - -alias nsresult function (nsIComponentManager, nsIFile, nsIModule*) nsGetModuleProc; - -/****************************************************************************** - -******************************************************************************/ - -nsresult NS_InitXPCOM2( nsIServiceManager *result, nsIFile binDirectory, - nsIDirectoryServiceProvider appFileLocationProvider ); -nsresult NS_InitXPCOM3( nsIServiceManager *result, nsIFile binDirectory, - nsIDirectoryServiceProvider appFileLocationProvider, - nsStaticModuleInfo* staticComponents, - PRUint32 componentCount ); - -nsresult NS_ShutdownXPCOM(nsIServiceManager servMgr); -nsresult NS_GetServiceManager(nsIServiceManager *result); -nsresult NS_GetComponentManager(nsIComponentManager *result); -nsresult NS_GetComponentRegistrar(nsIComponentRegistrar *result); -nsresult NS_GetMemoryManager(nsIMemory *result); -nsresult NS_NewLocalFile(inout nsAString path, PRBool followLinks, nsILocalFile* result); -nsresult NS_NewNativeLocalFile(inout nsACString path, PRBool followLinks, nsILocalFile* result); -void * NS_Alloc(PRSize size); -void * NS_Realloc(void *ptr, PRSize size); -void NS_Free(void *ptr); -nsresult NS_GetDebug(nsIDebug *result); -nsresult NS_GetTraceRefcnt(nsITraceRefcnt *result);
--- a/dwt/internal/mozilla/nsXPCOMGlue.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -module dwt.internal.mozilla.nsXPCOMGlue; - -extern(C): - -align(4): - -struct GREVersionRange { - char *lower; - int lowerInclusive; - char *upper; - int upperInclusive; -} - -struct GREProperty { - char *property; - char *value; -} - -uint GRE_GetGREPathWithProperties(GREVersionRange *versions, - int versionsLength, - GREProperty *properties, - uint propertiesLength, - char *buffer, uint buflen); - -uint XPCOMGlueStartup(char* xpcomFile); - -alias void function() NSFuncPtr; - -struct nsDynamicFunctionLoad -{ - char *functionName; - NSFuncPtr *func; -} - -uint XPCOMGlueLoadXULFunctions(nsDynamicFunctionLoad *symbols); -uint XPCOMGlueShutdown(); -
--- a/dwt/internal/mozilla/prinrval.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -module dwt.internal.mozilla.prinrval; - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -import dwt.internal.mozilla.Common; - -extern (System): - -alias PRUint32 PRIntervalTime; - -const PR_INTERVAL_MIN = 1000U; -const PR_INTERVAL_MAX = 100000U; -const PR_INTERVAL_NO_WAIT = 0U; -const PR_INTERVAL_NO_TIMEOUT = 0xffffffffU; - -version(NON_XPCOM_GLUE) -{ - PRIntervalTime PR_IntervalNow(); - PRUint32 PR_TicksPerSecond(); - PRIntervalTime PR_SecondsToInterval(PRUint32 seconds); - PRIntervalTime PR_MillisecondsToInterval(PRUint32 milli); - PRIntervalTime PR_MicrosecondsToInterval(PRUint32 micro); - PRUint32 PR_IntervalToSeconds(PRIntervalTime ticks); - PRUint32 PR_IntervalToMilliseconds(PRIntervalTime ticks); - PRUint32 PR_IntervalToMicroseconds(PRIntervalTime ticks); -} \ No newline at end of file
--- a/dwt/internal/mozilla/prio.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,517 +0,0 @@ -module dwt.internal.mozilla.prio; - -import dwt.internal.mozilla.Common; -import dwt.internal.mozilla.prtime; -import dwt.internal.mozilla.prinrval; - -extern (System): - -alias PRIntn PRDescIdentity; -alias void PRFilePrivate; - -struct PRFileDesc -{ - PRIOMethods *methods; - PRFilePrivate *secret; - PRFileDesc *lower; - PRFileDesc *higher; - void function(PRFileDesc *fd)dtor; - PRDescIdentity identity; -} - -enum PRTransmitFileFlags -{ - PR_TRANSMITFILE_KEEP_OPEN, - PR_TRANSMITFILE_CLOSE_SOCKET, -} - -const PR_AF_INET = 2; -const PR_AF_LOCAL = 1; -const PR_INADDR_LOOPBACK = 0x7f000001; -const PR_AF_UNSPEC = 0; - -union _N2 -{ - PRUint8 [16]_S6_u8; - PRUint16 [8]_S6_u16; - PRUint32 [4]_S6_u32; - PRUint64 [2]_S6_u64; -} - -struct PRIPv6Addr -{ - struct _N2{ - union - { - PRUint8 [16]_S6_u8; - PRUint16 [8]_S6_u16; - PRUint32 [4]_S6_u32; - PRUint64 [2]_S6_u64; - } - } - _N2 _S6_un; -} - -struct _N3 -{ - PRUint16 family; - char [14]data; -} - -struct _N4 -{ - PRUint16 family; - PRUint16 port; - PRUint32 ip; - char [8]pad; -} - -struct _N5 -{ - PRUint16 family; - PRUint16 port; - PRUint32 flowinfo; - PRIPv6Addr ip; - PRUint32 scope_id; -} - -union PRNetAddr -{ - struct _N3 - { - PRUint16 family; - char [14]data; - } - _N3 raw; - struct _N4 - { - PRUint16 family; - PRUint16 port; - PRUint32 ip; - char [8]pad; - } - _N4 inet; - struct _N5 - { - PRUint16 family; - PRUint16 port; - PRUint32 flowinfo; - PRIPv6Addr ip; - PRUint32 scope_id; - } - _N5 ipv6; -} - -enum PRSockOption -{ - PR_SockOpt_Nonblocking, - PR_SockOpt_Linger, - PR_SockOpt_Reuseaddr, - PR_SockOpt_Keepalive, - PR_SockOpt_RecvBufferSize, - PR_SockOpt_SendBufferSize, - PR_SockOpt_IpTimeToLive, - PR_SockOpt_IpTypeOfService, - PR_SockOpt_AddMember, - PR_SockOpt_DropMember, - PR_SockOpt_McastInterface, - PR_SockOpt_McastTimeToLive, - PR_SockOpt_McastLoopback, - PR_SockOpt_NoDelay, - PR_SockOpt_MaxSegment, - PR_SockOpt_Broadcast, - PR_SockOpt_Last, -} - -struct PRLinger -{ - PRBool polarity; - PRIntervalTime linger; -} - -struct PRMcastRequest -{ - PRNetAddr mcaddr; - PRNetAddr ifaddr; -} - -union _N6 -{ - PRUintn ip_ttl; - PRUintn mcast_ttl; - PRUintn tos; - PRBool non_blocking; - PRBool reuse_addr; - PRBool keep_alive; - PRBool mcast_loopback; - PRBool no_delay; - PRBool broadcast; - PRSize max_segment; - PRSize recv_buffer_size; - PRSize send_buffer_size; - PRLinger linger; - PRMcastRequest add_member; - PRMcastRequest drop_member; - PRNetAddr mcast_if; -} - -struct PRSocketOptionData -{ - int option; - union _N6 - { - PRUintn ip_ttl; - PRUintn mcast_ttl; - PRUintn tos; - PRBool non_blocking; - PRBool reuse_addr; - PRBool keep_alive; - PRBool mcast_loopback; - PRBool no_delay; - PRBool broadcast; - PRSize max_segment; - PRSize recv_buffer_size; - PRSize send_buffer_size; - PRLinger linger; - PRMcastRequest add_member; - PRMcastRequest drop_member; - PRNetAddr mcast_if; - } - _N6 value; -} - -struct PRIOVec -{ - char *iov_base; - int iov_len; -} - -enum PRDescType -{ - PR_DESC_FILE = 1, - PR_DESC_SOCKET_TCP, - PR_DESC_SOCKET_UDP, - PR_DESC_LAYERED, - PR_DESC_PIPE, -} - -enum PRSeekWhence -{ - PR_SEEK_SET, - PR_SEEK_CUR, - PR_SEEK_END, -} - -version(NON_XPCOM_GLUE){ - int PR_GetDescType(PRFileDesc *file); -} - -alias PRStatus function(PRFileDesc *fd)PRCloseFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount)PRReadFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount)PRWriteFN; -alias PRInt32 function(PRFileDesc *fd)PRAvailableFN; -alias PRInt64 function(PRFileDesc *fd)PRAvailable64FN; -alias PRStatus function(PRFileDesc *fd)PRFsyncFN; -alias PROffset32 function(PRFileDesc *fd, PROffset32 offset, int how)PRSeekFN; -alias PROffset64 function(PRFileDesc *fd, PROffset64 offset, int how)PRSeek64FN; -alias PRStatus function(PRFileDesc *fd, PRFileInfo *info)PRFileInfoFN; -alias PRStatus function(PRFileDesc *fd, PRFileInfo64 *info)PRFileInfo64FN; -alias PRInt32 function(PRFileDesc *fd, PRIOVec *iov, PRInt32 iov_size, PRIntervalTime timeout)PRWritevFN; -alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout)PRConnectFN; -alias PRFileDesc * function(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout)PRAcceptFN; -alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRBindFN; -alias PRStatus function(PRFileDesc *fd, PRIntn backlog)PRListenFN; -alias PRStatus function(PRFileDesc *fd, PRIntn how)PRShutdownFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout)PRRecvFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout)PRSendFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout)PRRecvfromFN; -alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout)PRSendtoFN; -alias PRInt16 function(PRFileDesc *fd, PRInt16 in_flags, PRInt16 *out_flags)PRPollFN; -alias PRInt32 function(PRFileDesc *sd, PRFileDesc **nd, PRNetAddr **raddr, void *buf, PRInt32 amount, PRIntervalTime t)PRAcceptreadFN; -alias PRInt32 function(PRFileDesc *sd, PRFileDesc *fd, void *headers, PRInt32 hlen, int flags, PRIntervalTime t)PRTransmitfileFN; -alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRGetsocknameFN; -alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRGetpeernameFN; -alias PRStatus function(PRFileDesc *fd, PRSocketOptionData *data)PRGetsocketoptionFN; -alias PRStatus function(PRFileDesc *fd, PRSocketOptionData *data)PRSetsocketoptionFN; -alias PRInt32 function(PRFileDesc *networkSocket, PRSendFileData *sendData, int flags, PRIntervalTime timeout)PRSendfileFN; -alias PRStatus function(PRFileDesc *fd, PRInt16 out_flags)PRConnectcontinueFN; -alias PRIntn function(PRFileDesc *fd)PRReservedFN; - -struct PRIOMethods -{ - int file_type; - PRCloseFN close; - PRReadFN read; - PRWriteFN write; - PRAvailableFN available; - PRAvailable64FN available64; - PRFsyncFN fsync; - PRSeekFN seek; - PRSeek64FN seek64; - PRFileInfoFN fileInfo; - PRFileInfo64FN fileInfo64; - PRWritevFN writev; - PRConnectFN connect; - PRAcceptFN accept; - PRBindFN bind; - PRListenFN listen; - PRShutdownFN shutdown; - PRRecvFN recv; - PRSendFN send; - PRRecvfromFN recvfrom; - PRSendtoFN sendto; - PRPollFN poll; - PRAcceptreadFN acceptread; - PRTransmitfileFN transmitfile; - PRGetsocknameFN getsockname; - PRGetpeernameFN getpeername; - PRReservedFN reserved_fn_6; - PRReservedFN reserved_fn_5; - PRGetsocketoptionFN getsocketoption; - PRSetsocketoptionFN setsocketoption; - PRSendfileFN sendfile; - PRConnectcontinueFN connectcontinue; - PRReservedFN reserved_fn_3; - PRReservedFN reserved_fn_2; - PRReservedFN reserved_fn_1; - PRReservedFN reserved_fn_0; -} - -enum PRSpecialFD -{ - PR_StandardInput, - PR_StandardOutput, - PR_StandardError, -} - -version(NON_XPCOM_GLUE) -{ - PRFileDesc * PR_GetSpecialFD(int id); - PRDescIdentity PR_GetUniqueIdentity(char *layer_name); - char * PR_GetNameForIdentity(PRDescIdentity ident); - PRDescIdentity PR_GetLayersIdentity(PRFileDesc *fd); - PRFileDesc * PR_GetIdentitiesLayer(PRFileDesc *fd_stack, PRDescIdentity id); - PRIOMethods * PR_GetDefaultIOMethods(); - PRFileDesc * PR_CreateIOLayerStub(PRDescIdentity ident, PRIOMethods *methods); - PRFileDesc * PR_CreateIOLayer(PRFileDesc *fd); - PRStatus PR_PushIOLayer(PRFileDesc *fd_stack, PRDescIdentity id, PRFileDesc *layer); - PRFileDesc * PR_PopIOLayer(PRFileDesc *fd_stack, PRDescIdentity id); -} - -const PR_RDONLY = 0x01; -const PR_WRONLY = 0x02; -const PR_RDWR = 0x04; -const PR_CREATE_FILE = 0x08; -const PR_APPEND = 0x10; -const PR_TRUNCATE = 0x20; -const PR_SYNC = 0x40; -const PR_EXCL = 0x80; - -version(NON_XPCOM_GLUE) { - PRFileDesc * PR_Open(char *name, PRIntn flags, PRIntn mode); -} - -const PR_IRWXU = 00700; -const PR_IRUSR = 00400; -const PR_IWUSR = 00200; -const PR_IXUSR = 00100; -const PR_IRWXG = 00070; -const PR_IRGRP = 00040; -const PR_IWGRP = 00020; -const PR_IXGRP = 00010; -const PR_IRWXO = 00007; -const PR_IROTH = 00004; -const PR_IWOTH = 00002; -const PR_IXOTH = 00001; - -version(NON_XPCOM_GLUE) -{ - PRFileDesc * PR_OpenFile(char *name, PRIntn flags, PRIntn mode); - PRStatus PR_Close(PRFileDesc *fd); - PRInt32 PR_Read(PRFileDesc *fd, void *buf, PRInt32 amount); - PRInt32 PR_Write(PRFileDesc *fd, void *buf, PRInt32 amount); -} - -const PR_MAX_IOVECTOR_SIZE = 16; - -version(NON_XPCOM_GLUE) -{ - PRInt32 PR_Writev(PRFileDesc *fd, PRIOVec *iov, PRInt32 iov_size, PRIntervalTime timeout); - PRStatus PR_Delete(char *name); -} - -enum PRFileType -{ - PR_FILE_FILE = 1, - PR_FILE_DIRECTORY, - PR_FILE_OTHER, -} - -struct PRFileInfo -{ - int type; - PROffset32 size; - PRTime creationTime; - PRTime modifyTime; -} - -struct PRFileInfo64 -{ - int type; - PROffset64 size; - PRTime creationTime; - PRTime modifyTime; -} - -version (NON_XPCOM_GLUE) -{ - PRStatus PR_GetFileInfo(char *fn, PRFileInfo *info); - PRStatus PR_GetFileInfo64(char *fn, PRFileInfo64 *info); - PRStatus PR_GetOpenFileInfo(PRFileDesc *fd, PRFileInfo *info); - PRStatus PR_GetOpenFileInfo64(PRFileDesc *fd, PRFileInfo64 *info); - PRStatus PR_Rename(char *from, char *to); -} - -enum PRAccessHow -{ - PR_ACCESS_EXISTS = 1, - PR_ACCESS_WRITE_OK, - PR_ACCESS_READ_OK, -} - -version(NON_XPCOM_GLUE) -{ - PRStatus PR_Access(char *name, int how); - PROffset32 PR_Seek(PRFileDesc *fd, PROffset32 offset, int whence); - PROffset64 PR_Seek64(PRFileDesc *fd, PROffset64 offset, int whence); - PRInt32 PR_Available(PRFileDesc *fd); - PRInt64 PR_Available64(PRFileDesc *fd); - PRStatus PR_Sync(PRFileDesc *fd); -} - -struct PRDirEntry -{ - char *name; -} - -alias void PRDir; - -version(NON_XPCOM_GLUE) { - PRDir * PR_OpenDir(char *name); -} - -enum PRDirFlags -{ - PR_SKIP_NONE, - PR_SKIP_DOT, - PR_SKIP_DOT_DOT, - PR_SKIP_BOTH, - PR_SKIP_HIDDEN, -} - -version(NON_XPCOM_GLUE) -{ - PRDirEntry * PR_ReadDir(PRDir *dir, int flags); - PRStatus PR_CloseDir(PRDir *dir); - PRStatus PR_MkDir(char *name, PRIntn mode); - PRStatus PR_MakeDir(char *name, PRIntn mode); - PRStatus PR_RmDir(char *name); - PRFileDesc * PR_NewUDPSocket(); - PRFileDesc * PR_NewTCPSocket(); - PRFileDesc * PR_OpenUDPSocket(PRIntn af); - PRFileDesc * PR_OpenTCPSocket(PRIntn af); - PRStatus PR_Connect(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout); - PRStatus PR_ConnectContinue(PRFileDesc *fd, PRInt16 out_flags); - PRStatus PR_GetConnectStatus(PRPollDesc *pd); - PRFileDesc * PR_Accept(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout); - PRStatus PR_Bind(PRFileDesc *fd, PRNetAddr *addr); - PRStatus PR_Listen(PRFileDesc *fd, PRIntn backlog); -} - -enum PRShutdownHow -{ - PR_SHUTDOWN_RCV, - PR_SHUTDOWN_SEND, - PR_SHUTDOWN_BOTH, -} - -version(NON_XPCOM_GLUE) { - PRStatus PR_Shutdown(PRFileDesc *fd, int how); -} - -const PR_MSG_PEEK = 0x2; - -version(NON_XPCOM_GLUE) -{ - PRInt32 PR_Recv(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout); - PRInt32 PR_Send(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout); - PRInt32 PR_RecvFrom(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout); - PRInt32 PR_SendTo(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout); - PRInt32 PR_TransmitFile(PRFileDesc *networkSocket, PRFileDesc *sourceFile, void *headers, PRInt32 hlen, int flags, PRIntervalTime timeout); -} - -struct PRSendFileData -{ - PRFileDesc *fd; - PRUint32 file_offset; - PRSize file_nbytes; - void *header; - PRInt32 hlen; - void *trailer; - PRInt32 tlen; -} - -version(NON_XPCOM_GLUE) -{ - PRInt32 PR_SendFile(PRFileDesc *networkSocket, PRSendFileData *sendData, int flags, PRIntervalTime timeout); - PRInt32 PR_AcceptRead(PRFileDesc *listenSock, PRFileDesc **acceptedSock, PRNetAddr **peerAddr, void *buf, PRInt32 amount, PRIntervalTime timeout); - PRStatus PR_NewTCPSocketPair(PRFileDesc **fds); - PRStatus PR_GetSockName(PRFileDesc *fd, PRNetAddr *addr); - PRStatus PR_GetPeerName(PRFileDesc *fd, PRNetAddr *addr); - PRStatus PR_GetSocketOption(PRFileDesc *fd, PRSocketOptionData *data); - PRStatus PR_SetSocketOption(PRFileDesc *fd, PRSocketOptionData *data); - PRStatus PR_SetFDInheritable(PRFileDesc *fd, PRBool inheritable); - PRFileDesc * PR_GetInheritedFD(char *name); -} - -enum PRFileMapProtect -{ - PR_PROT_READONLY, - PR_PROT_READWRITE, - PR_PROT_WRITECOPY, -} - -alias void PRFileMap; - -version(NON_XPCOM_GLUE) -{ - PRFileMap * PR_CreateFileMap(PRFileDesc *fd, PRInt64 size, int prot); - PRInt32 PR_GetMemMapAlignment(); - void * PR_MemMap(PRFileMap *fmap, PROffset64 offset, PRUint32 len); - PRStatus PR_MemUnmap(void *addr, PRUint32 len); - PRStatus PR_CloseFileMap(PRFileMap *fmap); - PRStatus PR_CreatePipe(PRFileDesc **readPipe, PRFileDesc **writePipe); -} - -struct PRPollDesc -{ - PRFileDesc *fd; - PRInt16 in_flags; - PRInt16 out_flags; -} - -const PR_POLL_READ = 0x1; -const PR_POLL_WRITE = 0x2; -const PR_POLL_EXCEPT = 0x4; -const PR_POLL_ERR = 0x8; -const PR_POLL_NVAL = 0x10; -const PR_POLL_HUP = 0x20; - -version(NON_XPCOM_GLUE) -{ - PRInt32 PR_Poll(PRPollDesc *pds, PRIntn npds, PRIntervalTime timeout); - PRFileDesc * PR_NewPollableEvent(); - PRStatus PR_DestroyPollableEvent(PRFileDesc *event); - PRStatus PR_SetPollableEvent(PRFileDesc *event); - PRStatus PR_WaitForPollableEvent(PRFileDesc *event); -} \ No newline at end of file
--- a/dwt/internal/mozilla/prlink.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -module dwt.internal.mozilla.prlink; -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -import dwt.internal.mozilla.Common; - -struct PRStaticLinkTable -{ - char *name; - void function()fp; -} - -extern (System): - -PRStatus PR_SetLibraryPath(char *path); - -char * PR_GetLibraryPath(); -char * PR_GetLibraryName(char *dir, char *lib); -void PR_FreeLibraryName(char *mem); - -alias void PRLibrary; - -PRLibrary * PR_LoadLibrary(char *name); - -enum PRLibSpecType -{ - PR_LibSpec_Pathname, - PR_LibSpec_MacNamedFragment, - PR_LibSpec_MacIndexedFragment, -} - -alias void FSSpec; - -struct _N3 -{ - FSSpec *fsspec; - char *name; -} - -struct _N4 -{ - FSSpec *fsspec; - PRUint32 index; -} - -union _N2 -{ - char *pathname; - struct _N3 - { - FSSpec *fsspec; - char *name; - } - _N3 mac_named_fragment; - struct _N4 - { - FSSpec *fsspec; - PRUint32 index; - } - _N4 mac_indexed_fragment; -} - -struct PRLibSpec -{ - int type; - union _N2 - { - char *pathname; - struct _N3 - { - FSSpec *fsspec; - char *name; - } - _N3 mac_named_fragment; - struct _N4 - { - FSSpec *fsspec; - PRUint32 index; - } - _N4 mac_indexed_fragment; - } - _N2 value; -} - -const PR_LD_LAZY = 0x1; -const PR_LD_NOW = 0x2; -const PR_LD_GLOBAL = 0x4; -const PR_LD_LOCAL = 0x8; - -PRLibrary * PR_LoadLibraryWithFlags(PRLibSpec libSpec, PRIntn flags); -PRStatus PR_UnloadLibrary(PRLibrary *lib); -void * PR_FindSymbol(PRLibrary *lib, char *name); - -alias void function()PRFuncPtr; - -PRFuncPtr PR_FindFunctionSymbol(PRLibrary *lib, char *name); -void * PR_FindSymbolAndLibrary(char *name, PRLibrary **lib); -PRFuncPtr PR_FindFunctionSymbolAndLibrary(char *name, PRLibrary **lib); -PRLibrary * PR_LoadStaticLibrary(char *name, PRStaticLinkTable *table); -char * PR_GetLibraryFilePathname(char *name, PRFuncPtr addr);
--- a/dwt/internal/mozilla/prtime.d Tue Aug 05 18:00:50 2008 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -module dwt.internal.mozilla.prtime; - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -import dwt.internal.mozilla.Common; - -const PR_MSEC_PER_SEC = 1000U; -const PR_USEC_PER_SEC = 1000000U; -const PR_NSEC_PER_SEC = 1000000000U; -const PR_USEC_PER_MSEC = 1000U; -const PR_NSEC_PER_MSEC = 1000000U; - -extern (System): - -alias PRInt64 PRTime; - -struct PRTimeParameters -{ - PRInt32 tp_gmt_offset; - PRInt32 tp_dst_offset; -} - -struct PRExplodedTime -{ - PRInt32 tm_usec; - PRInt32 tm_sec; - PRInt32 tm_min; - PRInt32 tm_hour; - PRInt32 tm_mday; - PRInt32 tm_month; - PRInt16 tm_year; - PRInt8 tm_wday; - PRInt16 tm_yday; - PRTimeParameters tm_params; -} - -alias PRTimeParameters function(PRExplodedTime *gmt)PRTimeParamFn; - -version(NON_XPCOM_GLUE) -{ - PRTime PR_Now(); - void PR_ExplodeTime(PRTime usecs, PRTimeParamFn params, PRExplodedTime *exploded); - PRTime PR_ImplodeTime(PRExplodedTime *exploded); - void PR_NormalizeTime(PRExplodedTime *exploded, PRTimeParamFn params); - - PRTimeParameters PR_LocalTimeParameters(PRExplodedTime *gmt); - PRTimeParameters PR_GMTParameters(PRExplodedTime *gmt); - PRTimeParameters PR_USPacificTimeParameters(PRExplodedTime *gmt); - - PRStatus PR_ParseTimeString(char *string, PRBool default_to_gmt, PRTime *result); - PRUint32 PR_FormatTime(char *buf, int buflen, char *fmt, PRExplodedTime *tm); - PRUint32 PR_FormatTimeUSEnglish(char *buf, PRUint32 bufSize, char *format, PRExplodedTime *tm); -} \ No newline at end of file