Revert "[NBS] Privilege checks moved to JS."
authorPiotr Kosko <p.kosko@samsung.com>
Wed, 4 Nov 2015 13:31:24 +0000 (14:31 +0100)
committerTomasz Marciniak <t.marciniak@samsung.com>
Fri, 4 Dec 2015 11:53:33 +0000 (12:53 +0100)
This reverts commit 802910c166d66be6857bec53983a47465f754e64.
This also applies changes from 81a066f51f6f7b4d24b2986602375ce38293e2c3

[Verification] Code compiles without errors, unable to test on tizen3.0

Change-Id: Ia1cc247b2fd512ea3244f2b6be3353d3851f1502
Signed-off-by: Piotr Kosko <p.kosko@samsung.com>
src/networkbearerselection/networkbearerselection_api.js
src/networkbearerselection/networkbearerselection_instance.cc

index 7aec196d851d3e91c88b3b02b7e4ff8f0de25f1f..379ea2aabc6cbc7fd1c7db904c65b9350e63e6dc 100644 (file)
@@ -60,9 +60,6 @@ function _networkBearerSelectionCallback(result) {
 function NetworkBearerSelection() {}
 
 NetworkBearerSelection.prototype.requestRouteToHost = function(networkType, domainName, successCallback, errorCallback) {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NETWORKBEARERSELECTION);
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.INTERNET);
-
   var args = validator_.validateArgs(arguments, [
     {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)},
     {name: 'domainName', type: types_.STRING},
@@ -88,14 +85,11 @@ NetworkBearerSelection.prototype.requestRouteToHost = function(networkType, doma
   var result = native_.callSync('NetworkBearerSelection_requestRouteToHost', nativeParam);
 
   if (native_.isFailure(result)) {
-    native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+    throw native_.getErrorObject(result);
   }
 };
 
 NetworkBearerSelection.prototype.releaseRouteToHost = function(networkType, domainName, successCallback, errorCallback) {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NETWORKBEARERSELECTION);
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.INTERNET);
-
   var args = validator_.validateArgs(arguments, [
     {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)},
     {name: 'domainName', type: types_.STRING},
@@ -112,7 +106,11 @@ NetworkBearerSelection.prototype.releaseRouteToHost = function(networkType, doma
     native_.callIfPossible(args.successCallback);
   };
 
-  native_.call('NetworkBearerSelection_releaseRouteToHost', args, callback);
+  var result = native_.call('NetworkBearerSelection_releaseRouteToHost', args, callback);
+
+  if (native_.isFailure(result)) {
+    throw native_.getErrorObject(result);
+  }
 };
 
 
index 2c13d3fbbd05913cad771573128ce56bcc51fa3e..809c83610b8f80ef7addacfe800b2ce1e632b52c 100644 (file)
 #include "common/logger.h"
 #include "common/platform_exception.h"
 #include "common/task-queue.h"
+#include "common/tools.h"
 
 namespace extension {
 namespace networkbearerselection {
 
+namespace {
+// The privileges that required in NetworkBearerSelection API
+const std::string kPrivilegeNetworkBearerSelection = "http://tizen.org/privilege/networkbearerselection";
+const std::string kPrivilegeInternet = "http://tizen.org/privilege/internet";
+const std::vector<std::string> kNbsPrivileges{kPrivilegeNetworkBearerSelection, kPrivilegeInternet};
+
+}  // namespace
+
 using namespace common;
 using namespace extension::networkbearerselection;
 
@@ -66,6 +75,8 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionRequestRouteToHost(
     picojson::object& out) {
   LoggerD("enter");
 
+  CHECK_PRIVILEGE_ACCESS(kNbsPrivileges, &out);
+
   CHECK_EXIST(args, "domainName", out)
   CHECK_EXIST(args, "id", out)
 
@@ -88,6 +99,8 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionReleaseRouteToHost(
     picojson::object& out) {
   LoggerD("enter");
 
+  CHECK_PRIVILEGE_ACCESS(kNbsPrivileges, &out);
+
   CHECK_EXIST(args, "callbackId", out)
   CHECK_EXIST(args, "domainName", out)
   const double callback_id = args.get("callbackId").get<double>();