Bug 381881 - Properties window during download is empty. r=mconnor

This commit is contained in:
sdwilsh@shawnwilsher.com 2007-05-25 10:35:42 -07:00
Родитель f5a0bfe3ad
Коммит 93571cadb0
1 изменённых файлов: 17 добавлений и 19 удалений

Просмотреть файл

@ -38,32 +38,30 @@
function Startup()
{
const NC_NS = "http://home.netscape.com/NC-rdf#";
const rdfSvcContractID = "@mozilla.org/rdf/rdf-service;1";
const rdfSvcIID = Components.interfaces.nsIRDFService;
var rdfService = Components.classes[rdfSvcContractID].getService(rdfSvcIID);
const dlmgrContractID = "@mozilla.org/download-manager;1";
const dlmgrIID = Components.interfaces.nsIDownloadManager;
var downloadMgr = Components.classes[dlmgrContractID].getService(dlmgrIID);
var ds = downloadMgr.datasource;
var db = downloadMgr.DBConnection;
const dateTimeContractID = "@mozilla.org/intl/scriptabledateformat;1";
const dateTimeIID = Components.interfaces.nsIScriptableDateFormat;
var dateTimeService = Components.classes[dateTimeContractID].getService(dateTimeIID);
var resource = rdfService.GetUnicodeResource(window.arguments[0]);
var dateStartedRes = rdfService.GetResource(NC_NS + "DateStarted");
var dateEndedRes = rdfService.GetResource(NC_NS + "DateEnded");
var sourceRes = rdfService.GetResource(NC_NS + "URL");
var dateStartedField = document.getElementById("dateStarted");
var dateEndedField = document.getElementById("dateEnded");
var pathField = document.getElementById("path");
var sourceField = document.getElementById("source");
var dlid = window.arguments[0].replace(/^dl([0-9]+)$/, "$1");
var stmt = db.createStatement("SELECT startTime, endTime, target, source " +
"FROM moz_downloads " +
"WHERE id = ?1");
stmt.bindInt64Parameter(0, dlid);
stmt.executeStep();
try {
var dateStarted = ds.GetTarget(resource, dateStartedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
var dateStarted = stmt.getInt64(0);
dateStarted = new Date(dateStarted/1000);
dateStarted = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateStarted.getFullYear(), dateStarted.getMonth()+1, dateStarted.getDate(), dateStarted.getHours(), dateStarted.getMinutes(), dateStarted.getSeconds());
dateStartedField.setAttribute("value", dateStarted);
@ -72,7 +70,7 @@ function Startup()
}
try {
var dateEnded = ds.GetTarget(resource, dateEndedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
var dateEnded = stmt.getInt64(1);
dateEnded = new Date(dateEnded/1000);
dateEnded = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateEnded.getFullYear(), dateEnded.getMonth()+1, dateEnded.getDate(), dateEnded.getHours(), dateEnded.getMinutes(), dateEnded.getSeconds());
dateEndedField.setAttribute("value", dateEnded);
@ -80,13 +78,13 @@ function Startup()
catch (e) {
}
var source = ds.GetTarget(resource, sourceRes, true).QueryInterface(Components.interfaces.nsIRDFResource).Value;
pathField.value = stmt.getUTF8String(2);
sourceField.value = stmt.getUTF8String(3);
stmt.reset();
pathField.value = window.arguments[0];
sourceField.value = source;
var dl = window.opener.gDownloadManager.getDownload(window.arguments[0]);
if (dl) {
try {
window.opener.gDownloadManager.getDownload(dlid);
} catch (e) { // Download is not currently active
document.getElementById("dateEndedRow").hidden = true;
document.getElementById("dateEndedSeparator").hidden = true;
}