mobile/android/components/DownloadManagerUI.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

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]);

mercurial