diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /dom/interfaces/apps | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/interfaces/apps')
-rw-r--r-- | dom/interfaces/apps/moz.build | 14 | ||||
-rw-r--r-- | dom/interfaces/apps/mozIApplication.idl | 60 | ||||
-rw-r--r-- | dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl | 20 | ||||
-rw-r--r-- | dom/interfaces/apps/nsIAppsService.idl | 75 |
4 files changed, 169 insertions, 0 deletions
diff --git a/dom/interfaces/apps/moz.build b/dom/interfaces/apps/moz.build new file mode 100644 index 000000000..ca6c08821 --- /dev/null +++ b/dom/interfaces/apps/moz.build @@ -0,0 +1,14 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +XPIDL_SOURCES += [ + 'mozIApplication.idl', + 'mozIApplicationClearPrivateDataParams.idl', + 'nsIAppsService.idl', +] + +XPIDL_MODULE = 'dom_apps' + diff --git a/dom/interfaces/apps/mozIApplication.idl b/dom/interfaces/apps/mozIApplication.idl new file mode 100644 index 000000000..7aa2b8d29 --- /dev/null +++ b/dom/interfaces/apps/mozIApplication.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: sw=2 ts=8 et : + */ +/* 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 nsIPrincipal; + +/** + * We expose Gecko-internal helpers related to "web apps" through this + * sub-interface. + */ +[scriptable, uuid(e76aa5e0-80b2-404f-bccc-1067828bb6ed)] +interface mozIApplication: nsISupports +{ + /* Return true if this app has |permission|. */ + boolean hasPermission(in string permission); + + /* Application status as defined in nsIPrincipal. */ + readonly attribute unsigned short appStatus; + + /* Returns the uuid of the app. */ + readonly attribute DOMString id; + + /* Returns the origin of the app. */ + readonly attribute DOMString origin; + + /* Returns the manifest url of the app. */ + readonly attribute DOMString manifestURL; + + /* Returns the local id of the app. */ + readonly attribute unsigned long localId; + + /* Returns the base directory for the app */ + readonly attribute DOMString basePath; + + /* Name copied from the manifest */ + readonly attribute DOMString name; + + /* CSP copied from the manifest */ + readonly attribute DOMString csp; + + /* Store ID if the app is installed from a store */ + readonly attribute DOMString storeID; + + /* Store version if the app is installed from a store */ + readonly attribute unsigned long storeVersion; + + /* role copied from the manifest */ + readonly attribute DOMString role; + + /* Returns the kind of the app. */ + readonly attribute DOMString kind; + + /* Returns the app's principal */ + readonly attribute nsIPrincipal principal; +}; diff --git a/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl b/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl new file mode 100644 index 000000000..c08deac10 --- /dev/null +++ b/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl @@ -0,0 +1,20 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: sw=2 ts=8 et : + */ +/* 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 "nsISupports.idl" + +[scriptable, uuid(ba0e6c8e-8c03-4b9b-8f9b-4fb14216f56e)] +interface mozIApplicationClearPrivateDataParams : nsISupports +{ + readonly attribute unsigned long appId; + readonly attribute boolean browserOnly; +}; + +%{C++ +#define TOPIC_WEB_APP_CLEAR_DATA "webapps-clear-data" +#define TOPIC_CLEAR_ORIGIN_DATA "clear-origin-attributes-data" +%} 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); +}; |