зеркало из https://github.com/mozilla/pjs.git
Bug 381881 - Properties window during download is empty. r=mconnor
This commit is contained in:
Родитель
bf69b9fd45
Коммит
14b39505e4
|
@ -38,32 +38,30 @@
|
||||||
|
|
||||||
function Startup()
|
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 dlmgrContractID = "@mozilla.org/download-manager;1";
|
||||||
const dlmgrIID = Components.interfaces.nsIDownloadManager;
|
const dlmgrIID = Components.interfaces.nsIDownloadManager;
|
||||||
var downloadMgr = Components.classes[dlmgrContractID].getService(dlmgrIID);
|
var downloadMgr = Components.classes[dlmgrContractID].getService(dlmgrIID);
|
||||||
var ds = downloadMgr.datasource;
|
var db = downloadMgr.DBConnection;
|
||||||
|
|
||||||
const dateTimeContractID = "@mozilla.org/intl/scriptabledateformat;1";
|
const dateTimeContractID = "@mozilla.org/intl/scriptabledateformat;1";
|
||||||
const dateTimeIID = Components.interfaces.nsIScriptableDateFormat;
|
const dateTimeIID = Components.interfaces.nsIScriptableDateFormat;
|
||||||
var dateTimeService = Components.classes[dateTimeContractID].getService(dateTimeIID);
|
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 dateStartedField = document.getElementById("dateStarted");
|
||||||
var dateEndedField = document.getElementById("dateEnded");
|
var dateEndedField = document.getElementById("dateEnded");
|
||||||
var pathField = document.getElementById("path");
|
var pathField = document.getElementById("path");
|
||||||
var sourceField = document.getElementById("source");
|
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 {
|
try {
|
||||||
var dateStarted = ds.GetTarget(resource, dateStartedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
|
var dateStarted = stmt.getInt64(0);
|
||||||
dateStarted = new Date(dateStarted/1000);
|
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());
|
dateStarted = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateStarted.getFullYear(), dateStarted.getMonth()+1, dateStarted.getDate(), dateStarted.getHours(), dateStarted.getMinutes(), dateStarted.getSeconds());
|
||||||
dateStartedField.setAttribute("value", dateStarted);
|
dateStartedField.setAttribute("value", dateStarted);
|
||||||
|
@ -72,7 +70,7 @@ function Startup()
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var dateEnded = ds.GetTarget(resource, dateEndedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
|
var dateEnded = stmt.getInt64(1);
|
||||||
dateEnded = new Date(dateEnded/1000);
|
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());
|
dateEnded = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateEnded.getFullYear(), dateEnded.getMonth()+1, dateEnded.getDate(), dateEnded.getHours(), dateEnded.getMinutes(), dateEnded.getSeconds());
|
||||||
dateEndedField.setAttribute("value", dateEnded);
|
dateEndedField.setAttribute("value", dateEnded);
|
||||||
|
@ -80,13 +78,13 @@ function Startup()
|
||||||
catch (e) {
|
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];
|
try {
|
||||||
sourceField.value = source;
|
window.opener.gDownloadManager.getDownload(dlid);
|
||||||
|
} catch (e) { // Download is not currently active
|
||||||
var dl = window.opener.gDownloadManager.getDownload(window.arguments[0]);
|
|
||||||
if (dl) {
|
|
||||||
document.getElementById("dateEndedRow").hidden = true;
|
document.getElementById("dateEndedRow").hidden = true;
|
||||||
document.getElementById("dateEndedSeparator").hidden = true;
|
document.getElementById("dateEndedSeparator").hidden = true;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче