From 9f6ec0d40ff4c76e68e23b789de42ae938e6d07d Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 4 Nov 2015 14:31:24 +0100
Subject: [PATCH] Revert "[NBS] Privilege checks moved to JS."
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
---
.../networkbearerselection_api.js | 14 ++++++--------
.../networkbearerselection_instance.cc | 13 +++++++++++++
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/networkbearerselection/networkbearerselection_api.js b/src/networkbearerselection/networkbearerselection_api.js
index 7aec196d..379ea2aa 100644
--- a/src/networkbearerselection/networkbearerselection_api.js
+++ b/src/networkbearerselection/networkbearerselection_api.js
@@ -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);
+ }
};
diff --git a/src/networkbearerselection/networkbearerselection_instance.cc b/src/networkbearerselection/networkbearerselection_instance.cc
index 2c13d3fb..809c8361 100644
--- a/src/networkbearerselection/networkbearerselection_instance.cc
+++ b/src/networkbearerselection/networkbearerselection_instance.cc
@@ -22,10 +22,19 @@
#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 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();
--
2.34.1