aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
Diffstat (limited to 'embed')
-rw-r--r--embed/mozilla/MozDownload.cpp54
-rw-r--r--embed/mozilla/MozDownload.h25
2 files changed, 54 insertions, 25 deletions
diff --git a/embed/mozilla/MozDownload.cpp b/embed/mozilla/MozDownload.cpp
index 23c48fcd7..e65974476 100644
--- a/embed/mozilla/MozDownload.cpp
+++ b/embed/mozilla/MozDownload.cpp
@@ -79,7 +79,11 @@ MozDownload::~MozDownload()
NS_ASSERTION (!mEphyDownload, "MozillaDownload still alive!");
}
+#ifdef HAVE_NSITRANSFER_H
+NS_IMPL_ISUPPORTS1(MozDownload, nsITransfer)
+#else
NS_IMPL_ISUPPORTS3(MozDownload, nsIDownload, nsITransfer, nsIWebProgressListener)
+#endif
NS_IMETHODIMP
MozDownload::InitForEmbed (nsIURI *aSource, nsIURI *aTarget, const PRUnichar *aDisplayName,
@@ -151,6 +155,7 @@ MozDownload::GetSource(nsIURI **aSource)
return NS_OK;
}
+#ifndef HAVE_NSITRANSFER_H
NS_IMETHODIMP
MozDownload::GetTarget(nsIURI **aTarget)
{
@@ -159,6 +164,7 @@ MozDownload::GetTarget(nsIURI **aTarget)
return NS_OK;
}
+#endif
NS_IMETHODIMP
MozDownload::GetTargetFile (nsILocalFile** aTargetFile)
@@ -175,6 +181,7 @@ MozDownload::GetTargetFile (nsILocalFile** aTargetFile)
return rv;
}
+#ifndef HAVE_NSITRANSFER_H
NS_IMETHODIMP
MozDownload::GetPersist(nsIWebBrowserPersist **aPersist)
{
@@ -183,6 +190,7 @@ MozDownload::GetPersist(nsIWebBrowserPersist **aPersist)
return NS_OK;
}
+#endif
NS_IMETHODIMP
MozDownload::GetPercentComplete(PRInt32 *aPercentComplete)
@@ -193,6 +201,7 @@ MozDownload::GetPercentComplete(PRInt32 *aPercentComplete)
return NS_OK;
}
+#ifndef HAVE_NSITRANSFER_H
#ifdef MOZ_NSIDOWNLOAD_GETSIZE
/* readonly attribute PRUint64 amountTransferred; */
NS_IMETHODIMP
@@ -207,52 +216,53 @@ MozDownload::GetSize(PRUint64 *aSize)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
-#endif /* MOZ_NSIDOWNLOAD_GETSIZE */
NS_IMETHODIMP
-MozDownload::GetTotalProgress(PRInt32 *aTotalProgress)
+MozDownload::GetStartTime(PRInt64 *aStartTime)
{
- NS_ENSURE_ARG_POINTER(aTotalProgress);
- *aTotalProgress = mTotalProgress;
+ NS_ENSURE_ARG_POINTER(aStartTime);
+ *aStartTime = mStartTime;
return NS_OK;
}
+#endif /* MOZ_NSIDOWNLOAD_GETSIZE */
NS_IMETHODIMP
-MozDownload::GetCurrentProgress(PRInt32 *aCurrentProgress)
+MozDownload::GetDisplayName(PRUnichar * *aDisplayName)
{
- NS_ENSURE_ARG_POINTER(aCurrentProgress);
- *aCurrentProgress = mCurrentProgress;
-
- return NS_OK;
+ return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
-MozDownload::GetState(EphyDownloadState *aDownloadState)
+MozDownload::SetDisplayName(const PRUnichar * aDisplayName)
{
- NS_ENSURE_ARG_POINTER(aDownloadState);
- *aDownloadState = mDownloadState;
-
- return NS_OK;
+ return NS_ERROR_NOT_IMPLEMENTED;
}
+#endif /* !HAVE_NSITRANSFER_H */
NS_IMETHODIMP
-MozDownload::GetDisplayName(PRUnichar * *aDisplayName)
+MozDownload::GetTotalProgress(PRInt32 *aTotalProgress)
{
- return NS_ERROR_NOT_IMPLEMENTED;
+ NS_ENSURE_ARG_POINTER(aTotalProgress);
+ *aTotalProgress = mTotalProgress;
+
+ return NS_OK;
}
NS_IMETHODIMP
-MozDownload::SetDisplayName(const PRUnichar * aDisplayName)
+MozDownload::GetCurrentProgress(PRInt32 *aCurrentProgress)
{
- return NS_ERROR_NOT_IMPLEMENTED;
+ NS_ENSURE_ARG_POINTER(aCurrentProgress);
+ *aCurrentProgress = mCurrentProgress;
+
+ return NS_OK;
}
NS_IMETHODIMP
-MozDownload::GetStartTime(PRInt64 *aStartTime)
+MozDownload::GetState(EphyDownloadState *aDownloadState)
{
- NS_ENSURE_ARG_POINTER(aStartTime);
- *aStartTime = mStartTime;
+ NS_ENSURE_ARG_POINTER(aDownloadState);
+ *aDownloadState = mDownloadState;
return NS_OK;
}
@@ -326,7 +336,7 @@ MozDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest,
if (aStateFlags & EPHY_EMBED_STATE_STOP)
{
/* Keep us alive */
- nsCOMPtr<nsIDownload> kungFuDeathGrip(this);
+ nsCOMPtr<nsITransfer> kungFuDeathGrip(this);
mDownloadState = NS_SUCCEEDED (aStatus) ? EPHY_DOWNLOAD_COMPLETED : EPHY_DOWNLOAD_FAILED;
if (mEphyDownload)
diff --git a/embed/mozilla/MozDownload.h b/embed/mozilla/MozDownload.h
index 9addcadb1..c4592ec5d 100644
--- a/embed/mozilla/MozDownload.h
+++ b/embed/mozilla/MozDownload.h
@@ -49,7 +49,6 @@
#include "ephy-download.h"
#include "ephy-embed-shell.h"
-#include <nsIDownload.h>
#include <nsIWebProgressListener.h>
#include <nsIDOMDocument.h>
#include <nsIURI.h>
@@ -59,6 +58,12 @@
#include <nsIRequest.h>
#include <nsIMIMEInfo.h>
+#ifdef HAVE_NSITRANSFER_H
+#include <nsITransfer.h>
+#else
+#include <nsIDownload.h>
+#endif
+
#include <libgnomevfs/gnome-vfs-mime-handlers.h>
/* MozDownload
@@ -89,17 +94,31 @@ nsresult InitiateMozillaDownload (nsIDOMDocument *domDocument, nsIURI *sourceUri
PRInt32 aMaxSize);
nsresult BuildDownloadPath (const char *defaultFileName, nsILocalFile **_retval);
-class MozDownload : public nsIDownload,
+class MozDownload :
+#ifdef HAVE_NSITRANSFER_H
+ public nsITransfer
+#else
+ public nsIDownload,
public nsIWebProgressListener
+#endif
{
public:
MozDownload();
virtual ~MozDownload();
NS_DECL_ISUPPORTS
+ NS_DECL_NSIWEBPROGRESSLISTENER
NS_DECL_NSITRANSFER
+#ifndef HAVE_NSITRANSFER_H
NS_DECL_NSIDOWNLOAD
- NS_DECL_NSIWEBPROGRESSLISTENER
+#endif
+
+#ifdef HAVE_NSITRANSFER_H
+ nsresult GetMIMEInfo (nsIMIMEInfo **aMIMEInfo);
+ nsresult GetTargetFile (nsILocalFile **aFile);
+ nsresult GetSource(nsIURI * *aSource);
+ nsresult GetPercentComplete(PRInt32 *aPercentComplete);
+#endif
virtual void Cancel();
virtual void Pause();