gecko-dev/mobile/android/components/DownloadManagerUI.js
Kyle Huey 0469a02b25 Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon
--HG--
extra : rebase_source : 98337b6a8c07d05e8c961a452dd05a7d75c3c60b
2012-10-31 09:13:28 -07:00

47 lines
1.4 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const Ci = Components.interfaces;
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
// -----------------------------------------------------------------------
// Download Manager UI
// -----------------------------------------------------------------------
function DownloadManagerUI() { }
DownloadManagerUI.prototype = {
classID: Components.ID("{93db15b1-b408-453e-9a2b-6619e168324a}"),
show: function show(aWindowContext, aID, aReason) {
if (!aReason)
aReason = Ci.nsIDownloadManagerUI.REASON_USER_INTERACTED;
let browser = Services.wm.getMostRecentWindow("navigator:browser");
if (browser)
browser.showDownloadManager(aWindowContext, aID, aReason);
},
get visible() {
let browser = Services.wm.getMostRecentWindow("navigator:browser");
if (browser) {
return browser.DownloadsView.visible;
}
return false;
},
getAttention: function getAttention() {
if (this.visible)
this.show(null, null, null);
else
throw Cr.NS_ERROR_UNEXPECTED;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDownloadManagerUI])
};
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([DownloadManagerUI]);