mobile/android/components/XPIDialogService.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:ae37ef74d57a
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/. */
4
5 const Ci = Components.interfaces;
6 const Cu = Components.utils;
7
8 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
9 Cu.import("resource://gre/modules/Services.jsm");
10
11 // -----------------------------------------------------------------------
12 // Web Install Prompt service
13 // -----------------------------------------------------------------------
14
15 function WebInstallPrompt() { }
16
17 WebInstallPrompt.prototype = {
18 classID: Components.ID("{c1242012-27d8-477e-a0f1-0b098ffc329b}"),
19 QueryInterface: XPCOMUtils.generateQI([Ci.amIWebInstallPrompt]),
20
21 confirm: function(aWindow, aURL, aInstalls) {
22 let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties");
23
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");
28
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 };
38
39 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([WebInstallPrompt]);

mercurial