Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 const Ci = Components.interfaces;
6 const Cr = Components.results;
8 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
9 Components.utils.import("resource://gre/modules/Services.jsm");
11 // -----------------------------------------------------------------------
12 // Download Manager UI
13 // -----------------------------------------------------------------------
15 function DownloadManagerUI() { }
17 DownloadManagerUI.prototype = {
18 classID: Components.ID("{93db15b1-b408-453e-9a2b-6619e168324a}"),
20 show: function show(aWindowContext, aDownload, aReason, aUsePrivateUI) {
21 if (!aReason)
22 aReason = Ci.nsIDownloadManagerUI.REASON_USER_INTERACTED;
24 this._getBrowserApp().selectOrOpenTab("about:downloads");
25 },
27 get visible() {
28 let browserApp = this._getBrowserApp();
29 let downloadsTab = browserApp.getTabWithURL("about:downloads");
30 return (downloadsTab && downloadsTab == browserApp.selectedTab) ? true : false;
31 },
33 getAttention: function getAttention() {
34 if (this._getBrowserApp().getTabWithURL("about:downloads"))
35 return;
37 throw Cr.NS_ERROR_UNEXPECTED;
38 },
40 _getBrowserApp: function getBrowserApp() {
41 try {
42 return Services.wm.getMostRecentWindow("navigator:browser").BrowserApp;
43 } catch (e) {
44 throw Cr.NS_ERROR_FAILURE;
45 }
46 },
48 QueryInterface: XPCOMUtils.generateQI([Ci.nsIDownloadManagerUI])
49 };
51 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([DownloadManagerUI]);