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 Cu = Components.utils;
8 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
9 Cu.import("resource://gre/modules/Services.jsm");
11 // -----------------------------------------------------------------------
12 // Web Install Prompt service
13 // -----------------------------------------------------------------------
15 function WebInstallPrompt() { }
17 WebInstallPrompt.prototype = {
18 classID: Components.ID("{c1242012-27d8-477e-a0f1-0b098ffc329b}"),
19 QueryInterface: XPCOMUtils.generateQI([Ci.amIWebInstallPrompt]),
21 confirm: function(aWindow, aURL, aInstalls) {
22 let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties");
24 let prompt = Services.prompt;
25 let flags = prompt.BUTTON_POS_0 * prompt.BUTTON_TITLE_IS_STRING + prompt.BUTTON_POS_1 * prompt.BUTTON_TITLE_CANCEL;
26 let title = bundle.GetStringFromName("addonsConfirmInstall.title");
27 let button = bundle.GetStringFromName("addonsConfirmInstall.install");
29 aInstalls.forEach(function(install) {
30 let result = (prompt.confirmEx(aWindow, title, install.name, flags, button, null, null, null, {value: false}) == 0);
31 if (result)
32 install.install();
33 else
34 install.cancel();
35 });
36 }
37 };
39 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([WebInstallPrompt]);