|
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 file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 */ |
|
5 |
|
6 |
|
7 /** |
|
8 * A callback function that webpages can implement to be notified when triggered |
|
9 * installs complete. |
|
10 */ |
|
11 callback InstallTriggerCallback = void(DOMString url, short status); |
|
12 |
|
13 dictionary InstallTriggerData { |
|
14 DOMString URL; |
|
15 DOMString? IconURL; |
|
16 DOMString? Hash; |
|
17 }; |
|
18 |
|
19 /** |
|
20 * The interface for the InstallTrigger object available to all websites. |
|
21 */ |
|
22 [ChromeOnly, |
|
23 JSImplementation="@mozilla.org/addons/installtrigger;1"] |
|
24 interface InstallTriggerImpl { |
|
25 /** |
|
26 * Retained for backwards compatibility. |
|
27 */ |
|
28 const unsigned short SKIN = 1; |
|
29 const unsigned short LOCALE = 2; |
|
30 const unsigned short CONTENT = 4; |
|
31 const unsigned short PACKAGE = 7; |
|
32 |
|
33 /** |
|
34 * Tests if installation is enabled. |
|
35 */ |
|
36 boolean enabled(); |
|
37 |
|
38 /** |
|
39 * Tests if installation is enabled. |
|
40 * |
|
41 * @deprecated Use "enabled" in the future. |
|
42 */ |
|
43 boolean updateEnabled(); |
|
44 |
|
45 /** |
|
46 * Starts a new installation of a set of add-ons. |
|
47 * |
|
48 * @param aArgs |
|
49 * The add-ons to install. This should be a JS object, each property |
|
50 * is the name of an add-on to be installed. The value of the |
|
51 * property should either be a string URL, or an object with the |
|
52 * following properties: |
|
53 * * URL for the add-on's URL |
|
54 * * IconURL for an icon for the add-on |
|
55 * * Hash for a hash of the add-on |
|
56 * @param aCallback |
|
57 * A callback to call as each installation succeeds or fails |
|
58 * @return true if the installations were successfully started |
|
59 */ |
|
60 boolean install(MozMap<(DOMString or InstallTriggerData)> installs, |
|
61 optional InstallTriggerCallback callback); |
|
62 |
|
63 /** |
|
64 * Starts installing a new add-on. |
|
65 * |
|
66 * @deprecated use "install" in the future. |
|
67 * |
|
68 * @param aType |
|
69 * Unused, retained for backwards compatibility |
|
70 * @param aUrl |
|
71 * The URL of the add-on |
|
72 * @param aSkin |
|
73 * Unused, retained for backwards compatibility |
|
74 * @return true if the installation was successfully started |
|
75 */ |
|
76 boolean installChrome(unsigned short type, DOMString url, DOMString skin); |
|
77 |
|
78 /** |
|
79 * Starts installing a new add-on. |
|
80 * |
|
81 * @deprecated use "install" in the future. |
|
82 * |
|
83 * @param aUrl |
|
84 * The URL of the add-on |
|
85 * @param aFlags |
|
86 * Unused, retained for backwards compatibility |
|
87 * @return true if the installation was successfully started |
|
88 */ |
|
89 boolean startSoftwareUpdate(DOMString url, optional unsigned short flags); |
|
90 }; |