[package] - checking privileges moved to JS layer
authorAndrzej Popowski <a.popowski@samsung.com>
Mon, 4 May 2015 07:09:52 +0000 (09:09 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 4 May 2015 07:50:37 +0000 (16:50 +0900)
Change-Id: Iddc225bc1824e118e586a5847356b6c9dfc92b30
Signed-off-by: Andrzej Popowski <a.popowski@samsung.com>
src/package/package_api.js
src/package/package_instance.cc

index 6469096..7e96c47 100644 (file)
@@ -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 = {
   };
 
index 710021a..3b4a49b 100644 (file)
@@ -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<int>(args.get("callbackId").get<double>());
@@ -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<std::string>();
     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<int>(args.get("callbackId").get<double>());
@@ -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);