aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/MozDownload.cpp
diff options
context:
space:
mode:
authorXan Lopez <xan@src.gnome.org>2003-12-21 20:55:57 +0800
committerXan Lopez <xan@src.gnome.org>2003-12-21 20:55:57 +0800
commit5fcc37ab46f722ee0992aad79f5993bf11bf64b0 (patch)
tree96d9d6b9628370dd111a825c2790329e116b031f /embed/mozilla/MozDownload.cpp
parentd3faaba781cd172d20b8f5bdadfefa3bcde1c36d (diff)
downloadgsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar.gz
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar.bz2
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar.lz
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar.xz
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.tar.zst
gsoc2013-epiphany-5fcc37ab46f722ee0992aad79f5993bf11bf64b0.zip
Re-implement Pause/Resume in downloader.
* embed/downloader-view.c: (download_dialog_pause_cb): * embed/mozilla/MozDownload.cpp: * embed/mozilla/MozDownload.h: * embed/mozilla/mozilla-download.cpp: Re-implement Pause/Resume in downloader. * src/window-commands.c: (window_cmd_help_about): Change mail address.
Diffstat (limited to 'embed/mozilla/MozDownload.cpp')
-rw-r--r--embed/mozilla/MozDownload.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/embed/mozilla/MozDownload.cpp b/embed/mozilla/MozDownload.cpp
index 8e7df243c..2b9a9e4b6 100644
--- a/embed/mozilla/MozDownload.cpp
+++ b/embed/mozilla/MozDownload.cpp
@@ -308,6 +308,9 @@ MozDownload::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest
PRInt32 aCurSelfProgress, PRInt32 aMaxSelfProgress,
PRInt32 aCurTotalProgress, PRInt32 aMaxTotalProgress)
{
+ if (!mRequest)
+ mRequest = aRequest;
+
PRInt64 now = PR_Now ();
if ((now - mLastUpdate < mInterval) &&
@@ -316,7 +319,7 @@ MozDownload::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest
return NS_OK;
mLastUpdate = now;
-
+
if (mUserCanceled)
{
if (aRequest)
@@ -368,21 +371,31 @@ MozDownload::OnSecurityChange (nsIWebProgress *aWebProgress, nsIRequest *aReques
void
MozDownload::Cancel()
{
- mUserCanceled = true;
- /* nsWebBrowserPersist does the right thing: After canceling, next time through
- OnStateChange(), aStatus != NS_OK. This isn't the case with nsExternalHelperAppService.*/
- if (!mWebPersist)
- mStatus = NS_ERROR_ABORT;
+ mUserCanceled = true;
+ /* nsWebBrowserPersist does the right thing: After canceling, next time through
+ * OnStateChange(), aStatus != NS_OK. This isn't the case with nsExternalHelperAppService.*/
+ if (!mWebPersist)
+ mStatus = NS_ERROR_ABORT;
}
void
MozDownload::Pause()
{
+ if (mRequest)
+ {
+ mRequest->Suspend ();
+ mDownloadState = EPHY_DOWNLOAD_PAUSED;
+ }
}
void
MozDownload::Resume()
{
+ if (mRequest)
+ {
+ mRequest->Resume ();
+ mDownloadState = EPHY_DOWNLOAD_DOWNLOADING;
+ }
}
nsresult InitiateMozillaDownload (nsIDOMDocument *domDocument, nsIURI *sourceURI,