diff -r 000000000000 -r 6474c204b198 dom/interfaces/apps/nsIAppsService.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/interfaces/apps/nsIAppsService.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,70 @@ +/* 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 mozIDOMApplication; +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(93cde78d-56f6-4322-b707-9b23eb80d90d)] +interface nsIAppsService : nsISupports +{ + mozIApplication getAppByManifestURL(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 CSP associated to this localId. + */ + DOMString getCSPByLocalId(in unsigned long localId); + + /** + * Returns the basepath for core apps + */ + DOMString getCoreAppsBasePath(); + + /** + * Returns the basepath for regular packaged apps + */ + DOMString getWebAppsBasePath(); + + jsval getAppInfo(in DOMString appId); + + /** + * Returns a URI to redirect to when we get a redirection to 'uri'. + * Returns null if no redirection is declared for this uri. + */ + nsIURI getRedirect(in unsigned long localId, in nsIURI uri); + + /** + * Returns the localId if the app was installed from a store + */ + DOMString getAppLocalIdByStoreId(in DOMString storeID); +};