From 85c867082d19eb3eb6ef341c694b13925a1ee114 Mon Sep 17 00:00:00 2001 From: Andrzej Popowski Date: Mon, 4 May 2015 09:09:52 +0200 Subject: [PATCH] [package] - checking privileges moved to JS layer Change-Id: Iddc225bc1824e118e586a5847356b6c9dfc92b30 Signed-off-by: Andrzej Popowski --- src/package/package_api.js | 13 +++++++++++++ src/package/package_instance.cc | 18 ------------------ 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/package/package_api.js b/src/package/package_api.js index 64690961..7e96c47c 100644 --- a/src/package/package_api.js +++ b/src/package/package_api.js @@ -1,6 +1,7 @@ // Package var validator_ = xwalk.utils.validator; +var privilege_ = xwalk.utils.privilege; var types_ = validator_.Types; @@ -95,6 +96,8 @@ function PackageManager() { PackageManager.prototype.install = function(packageFileURI, progressCallback) { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGEMANAGER_INSTALL); + var args = validator_.validateArgs(arguments, [ {'name' : 'packageFileURI', 'type' : types_.STRING}, {'name' : 'progressCallback', @@ -134,6 +137,8 @@ PackageManager.prototype.install = function(packageFileURI, progressCallback) { }; PackageManager.prototype.uninstall = function(id, progressCallback) { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGEMANAGER_INSTALL); + var args = validator_.validateArgs(arguments, [ {'name' : 'id', 'type' : types_.STRING}, {'name' : 'progressCallback', @@ -174,6 +179,8 @@ PackageManager.prototype.uninstall = function(id, progressCallback) { }; PackageManager.prototype.getPackagesInfo = function(successCallback, errorCallback) { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGE_INFO); + var args = validator_.validateArgs(arguments, [ {'name' : 'successCallback', 'type' : types_.FUNCTION}, {'name' : 'errorCallback', 'type' : types_.FUNCTION, 'optional' : true, 'nullable' : true} @@ -208,6 +215,8 @@ PackageManager.prototype.getPackagesInfo = function(successCallback, errorCallba }; PackageManager.prototype.getPackageInfo = function() { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGE_INFO); + var args = validator_.validateArgs(arguments, [ {'name': 'id', 'type': types_.STRING, 'optional' : true, 'nullable' : true} ]); @@ -228,6 +237,8 @@ PackageManager.prototype.getPackageInfo = function() { }; PackageManager.prototype.setPackageInfoEventListener = function(eventCallback) { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGE_INFO); + var args = validator_.validateArgs( arguments, [ @@ -266,6 +277,8 @@ PackageManager.prototype.setPackageInfoEventListener = function(eventCallback) { }; PackageManager.prototype.unsetPackageInfoEventListener = function() { + xwalk.utils.checkPrivilegeAccess(privilege_.PACKAGE_INFO); + var nativeParam = { }; diff --git a/src/package/package_instance.cc b/src/package/package_instance.cc index 710021a1..3b4a49b9 100644 --- a/src/package/package_instance.cc +++ b/src/package/package_instance.cc @@ -22,12 +22,6 @@ using common::NotFoundException; using common::TypeMismatchException; using common::SecurityException; -namespace { -// The privileges that required in Package API -const std::string kPrivilegePackageInstall = "http://tizen.org/privilege/packagemanager.install"; -const std::string kPrivilegePackageInfo = "http://tizen.org/privilege/package.info"; -} // namespace - typedef enum _PackageThreadWorkType { PackageThreadWorkNone = 0, PackageThreadWorkGetPackagesInfo, @@ -279,8 +273,6 @@ void PackageInstance::PackageManagerInstall( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInstall, &out); - CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "packageFileURI", out) @@ -324,8 +316,6 @@ void PackageInstance::PackageManagerUninstall( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInstall, &out); - CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "id", out) @@ -366,8 +356,6 @@ void PackageInstance::PackageManagerGetpackagesinfo( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); - CHECK_EXIST(args, "callbackId", out) int callback_id = static_cast(args.get("callbackId").get()); @@ -382,8 +370,6 @@ void PackageInstance::PackageManagerGetpackageinfo( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); - if ( args.contains("id") ) { std::string id = args.get("id").get(); PackageInfoProvider::GetPackageInfo(id.c_str(), out); @@ -403,8 +389,6 @@ void PackageInstance:: const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); - CHECK_EXIST(args, "callbackId", out) int callback_id = static_cast(args.get("callbackId").get()); @@ -444,8 +428,6 @@ void PackageInstance:: const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); - if ( !is_package_info_listener_set_ ) { LoggerD("Listener is not set"); ReportSuccess(out); -- 2.34.1