landing patch for bug 24867 "UI for FTP upload" r=biesi,neil sr=bryner
authordarin@meer.net
Mon, 13 Aug 2007 18:12:06 -0700
changeset 4597 39611c772b32c50fbd3163d6cf34739d810918e1
parent 4596 1c99c7ae4a539eaff15f8d0554b0bd72546923bb
child 4598 0cbf75e33cf545cf79359e712bf376ead23a983d
push idunknown
push userunknown
push dateunknown
reviewersbiesi, neil, bryner
bugs24867
milestone1.9a8pre
landing patch for bug 24867 "UI for FTP upload" r=biesi,neil sr=bryner
toolkit/components/downloads/public/nsIDownload.idl
xpfe/components/download-manager/public/nsIProgressDialog.idl
--- a/toolkit/components/downloads/public/nsIDownload.idl
+++ b/toolkit/components/downloads/public/nsIDownload.idl
@@ -40,101 +40,109 @@
 
 interface nsIURI;
 interface nsILocalFile;
 interface nsIObserver;
 interface nsIWebBrowserPersist;
 interface nsIWebProgressListener;
 interface nsIMIMEInfo;
 
-[scriptable, uuid(06cb92f2-1dd2-11b2-95f2-96dfdfb804a1)]
-interface nsIDownload : nsISupports {
+[scriptable, uuid(d80095a7-e81c-464c-a13f-ecb84feb969f)]
+interface nsITransfer : nsISupports {
     
     /**
-     * Initializes the download with certain properties.  This function must
+     * Initializes the transfer with certain properties.  This function must
      * be called prior to accessing any properties on this interface.
      *
-     * @param aSource The source (nsIURI) of the download.
+     * @param aSource The source URI of the transfer.
      *
-     * @param aTarget The local file to which the download is being saved.
+     * @param aTarget The target URI of the transfer.
      *
-     * @param aDisplayName The user-readable description of the download.
+     * @param aDisplayName The user-readable description of the transfer.
      *
-     * @param aMIMEInfo The MIME info associated with the download file,
+     * @param aMIMEInfo The MIME info associated with the target,
      *                  including MIME type and helper app when appropriate.
      *                  This parameter is optional.
      *
-     * @param aPersist The "persist" used to transfer the download.  If set,
-     *                 the manager will set its listener to the download item
+     * @param aPersist The "persist" used for this transfer.  If set,
+     *                 the manager will set its listener to the transfer item
      *                 and use it for cancellation.  If not set, the client
-     *                 is expected to set the download item as the listener on
+     *                 is expected to set the transfer item as the listener on
      *                 whatever transfer component is being used, and to
-     *                 set an observer on the download item that listens for
-     *                 the "oncancel" topic and cancels the download.
+     *                 set an observer on the transfer item that listens for
+     *                 the "oncancel" topic and cancels the transfer.
      */
     void init(in nsIURI aSource,
-              in nsILocalFile aTarget,
+              in nsIURI aTarget,
               in wstring aDisplayName,
               in nsIMIMEInfo aMIMEInfo,
               in long long startTime,
               in nsIWebBrowserPersist aPersist);
 
     /**
-     * The source of the download.
+     * The source of the transfer.
      */
     readonly attribute nsIURI source;
     
     /**
-     * The local file to which the download is being saved.
+     * The target of the transfer.
      */
-    readonly attribute nsILocalFile target;
+    readonly attribute nsIURI target;
  
     /**
-     * Optional. If set, it will be used for cancellation, and the download
+     * Optional. If set, it will be used for cancellation, and the transfer
      * will be set as its listener.  If not, |observer| should be set to listen
      * and respond accordingly to topics like oncancel, and the client promises
-     * to set the download item as the listener for whatever transfer component
-     * being used.
+     * to set the transfer item as the listener for whatever transfer component
+     * is being used.
      */
- 
     readonly attribute nsIWebBrowserPersist persist;
    
     /**
-     * The percentage of completion of the download.
+     * The percentage of transfer completed;
      */
     readonly attribute PRInt32 percentComplete;
 
     /**
-     * The user-readable description of the download.
+     * The user-readable description of the transfer.
      */
     attribute wstring displayName;
 
     /**
-     * The time a download was started.
+     * The time a transfer was started.
      */
     readonly attribute long long startTime;
     
     /**
-     * Optional. If set, it will contain the download's relevant MIME information.
+     * Optional. If set, it will contain the target's relevant MIME information.
      * This includes it's MIME Type, helper app, and whether that helper should be
      * executed.
      */
     readonly attribute nsIMIMEInfo MIMEInfo;
 
     /**
-     * Optional; downloading information is passed to this listener and used to
+     * Optional; transfering information is passed to this listener and used to
      * update client UI.
      */
     attribute nsIWebProgressListener listener;
  
     /**
      * If set, receives notifications of events like cancel ("oncancel").
      * Must be set if no persist object is specified (see above).
      */
     attribute nsIObserver observer;
 };
 
+[scriptable, uuid(b0aae798-78aa-4769-9f0e-9aef4cf9474d)]
+interface nsIDownload : nsITransfer {
+    
+    /**
+     * The target of a download is always a file on the local file system.
+     */
+    readonly attribute nsILocalFile targetFile;
+};
+
 %{C++
 #define NS_DOWNLOAD_CONTRACTID "@mozilla.org/download;1"
 // {E3FA9D0A-1DD1-11B2-BDEF-8C720B597445}
 #define NS_DOWNLOAD_CID \
     { 0xe3fa9d0a, 0x1dd1, 0x11b2, { 0xbd, 0xef, 0x8c, 0x72, 0x0b, 0x59, 0x74, 0x45 } }
 %}
--- a/xpfe/components/download-manager/public/nsIProgressDialog.idl
+++ b/xpfe/components/download-manager/public/nsIProgressDialog.idl
@@ -41,18 +41,18 @@ interface nsIDOMWindow;
  *   5. Close the dialog when the operation completes, or when the user
  *      closes it manually.
  *   6. Release the instance.  The instance will be referenced by
  *      the dialog itself, so it won't get freed until the dialog closes.
  *      The dialog will keep the instance alive, so typically one does
  *      not need to hold a reference to it.
  */
 
-[scriptable, uuid(88A478B3-AF65-440a-94DC-ED9B154D2990)]
-interface nsIProgressDialog : nsIDownload {
+[scriptable, uuid(1915c4f1-ee57-4684-b46a-0d9f695403b4)]
+interface nsIProgressDialog : nsITransfer {
    /**
     * Open the dialog
     *
     * @param aParent  Parent window; optional (if null, then
     *                 a top-level window is created)
     */
    void open( in nsIDOMWindow aParent );