/* -*- 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; };