return null;
};
+var apiVersion = null;
Utils.prototype.getPkgApiVersion = function() {
+ if (apiVersion) {
+ return apiVersion;
+ }
var result = native_.callSync('UtilsGetPkgApiVersion');
if (native_.isFailure(result)) {
throw native_.getErrorObject(result);
}
- return native_.getResultObject(result);
+ apiVersion = native_.getResultObject(result);
+ return apiVersion;
};
var isPrivilege = function(toCheck) {
return true;
};
+var cachedPrivileges = {};
Utils.prototype.checkPrivilegeAccess = function(privilege) {
if (!isPrivilege(privilege)) {
xwalk.utils.error(
throw new WebAPIException(WebAPIException.SECURITY_ERR);
}
+ if (cachedPrivileges[privilege]) {
+ return;
+ }
var result = native_.callSync('UtilsCheckPrivilegeAccess', {
privilege: _toString(privilege)
});
-
- if (native_.isFailure(result)) {
+ var isFailure = native_.isFailure(result);
+ cachedPrivileges[privilege] = !isFailure;
+ if (isFailure) {
throw native_.getErrorObject(result);
}
};