Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/src/GeckoDownload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/GeckoDownload.cpp')
-rw-r--r--lib/src/GeckoDownload.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/src/GeckoDownload.cpp b/lib/src/GeckoDownload.cpp
index eb6b4f4..134e1de 100644
--- a/lib/src/GeckoDownload.cpp
+++ b/lib/src/GeckoDownload.cpp
@@ -1,6 +1,8 @@
#include "config.h"
#include <nsIFactory.h>
+#include <nsIFile.h>
+#include <nsIFileURL.h>
#include "sugar-download-manager.h"
@@ -46,13 +48,20 @@ GeckoDownload::Init (nsIURI *aSource,
nsILocalFile *aTempFile,
nsICancelable *aCancelable)
{
- mSource = aSource;
- aTarget->GetPath (mTargetFileName);
- mMIMEInfo = aMIMEInfo;
- mTempFile = aTempFile;
-// mCancelable = aCancelable; Just a reminder for when we implement cancelling downloads.
+ mSource = aSource;
+ mMIMEInfo = aMIMEInfo;
+ mTempFile = aTempFile;
- return NS_OK;
+ nsresult rv;
+
+ nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(aTarget);
+ NS_ENSURE_TRUE(fileURL, NS_ERROR_FAILURE);
+
+ nsCOMPtr<nsIFile> file;
+ rv = fileURL->GetFile(getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ file->GetNativePath (mTargetFileName);
}
NS_IMETHODIMP