diff options
Diffstat (limited to 'dom/interfaces/apps/nsIAppsService.idl')
-rw-r--r-- | dom/interfaces/apps/nsIAppsService.idl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/dom/interfaces/apps/nsIAppsService.idl b/dom/interfaces/apps/nsIAppsService.idl new file mode 100644 index 000000000..4e91a50ec --- /dev/null +++ b/dom/interfaces/apps/nsIAppsService.idl @@ -0,0 +1,75 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "domstubs.idl" + +interface mozIApplication; +interface nsIURI; + +%{C++ +#define APPS_SERVICE_CID { 0x05072afa, 0x92fe, 0x45bf, { 0xae, 0x22, 0x39, 0xb6, 0x9c, 0x11, 0x70, 0x58 } } +#define APPS_SERVICE_CONTRACTID "@mozilla.org/AppsService;1" +%} + +/* + * This service allows accessing some DOMApplicationRegistry methods from + * non-javascript code. + */ +[scriptable, uuid(711cfab6-7b72-4aa2-a60c-17952ea05661)] +interface nsIAppsService : nsISupports +{ + mozIApplication getAppByManifestURL(in DOMString manifestURL); + + /** + * Returns a Promise for the manifest for a given manifestURL. + * This is only supported in the parent process: the promise will be rejected + * in content processes. + */ + jsval getManifestFor(in DOMString manifestURL); + + /** + * Returns the |localId| of the app associated with the |manifestURL| passed + * in parameter. + * Returns nsIScriptSecurityManager::NO_APP_ID if |manifestURL| isn't a valid + * installed manifest URL. + */ + unsigned long getAppLocalIdByManifestURL(in DOMString manifestURL); + + /** + * Returns the application associated to this localId. + */ + mozIApplication getAppByLocalId(in unsigned long localId); + + /** + * Returns the manifest URL associated to this localId. + */ + DOMString getManifestURLByLocalId(in unsigned long localId); + + /** + * Returns the basepath for core apps + */ + DOMString getCoreAppsBasePath(); + + /** + * Returns the basepath for regular packaged apps + */ + DOMString getWebAppsBasePath(); + + /** + * Returns true if at least one app is in the registry. + */ + boolean areAnyAppsInstalled(); + + jsval getAppInfo(in DOMString appId); + + /** + * Returns the localId if the app was installed from a store + */ + DOMString getAppLocalIdByStoreId(in DOMString storeID); + + /** + * Returns the scope for app to use with service workers. + */ + DOMString getScopeByLocalId(in unsigned long localId); +}; |