From: Pawel Andruszkiewicz
Date: Thu, 30 Apr 2015 12:22:44 +0000 (+0200)
Subject: [CallHistory] Privilege checks moved to JS.
X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~91
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d7a7ee7edb9e6dfb29dd880bb437282280dc962;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[CallHistory] Privilege checks moved to JS.
Privileges need to be checked before validation of arguments.
Change-Id: Idd7add88ebd1ff2a4e99d5d8500cc60d33c3d08a
Signed-off-by: Pawel Andruszkiewicz
---
diff --git a/src/callhistory/callhistory_api.js b/src/callhistory/callhistory_api.js
index c8cc12dc..199c95b4 100644
--- a/src/callhistory/callhistory_api.js
+++ b/src/callhistory/callhistory_api.js
@@ -89,6 +89,8 @@ function CallHistory() {
};
CallHistory.prototype.find = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_READ);
+
var args = validator_.validateArgs(arguments, [
{
name : 'successCallback',
@@ -149,6 +151,8 @@ CallHistory.prototype.find = function() {
};
CallHistory.prototype.remove = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_WRITE);
+
var args = validator_.validateArgs(arguments, [
{
name : 'entry',
@@ -170,6 +174,8 @@ CallHistory.prototype.remove = function() {
};
CallHistory.prototype.removeBatch = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_WRITE);
+
var args = validator_.validateArgs(arguments, [
{
name : 'entries',
@@ -206,6 +212,8 @@ CallHistory.prototype.removeBatch = function() {
};
CallHistory.prototype.removeAll = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_WRITE);
+
var args = validator_.validateArgs(arguments, [
{
name : 'successCallback',
@@ -233,6 +241,8 @@ CallHistory.prototype.removeAll = function() {
};
CallHistory.prototype.addChangeListener = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_READ);
+
var args = validator_.validateArgs(arguments, [
{
name : 'eventCallback',
@@ -249,6 +259,8 @@ CallHistory.prototype.addChangeListener = function() {
};
CallHistory.prototype.removeChangeListener = function() {
+ xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALLHISTORY_READ);
+
var args = validator_.validateArgs(arguments, [
{
name : 'watchId',
diff --git a/src/callhistory/callhistory_instance.cc b/src/callhistory/callhistory_instance.cc
index d7f304d3..4956be7c 100644
--- a/src/callhistory/callhistory_instance.cc
+++ b/src/callhistory/callhistory_instance.cc
@@ -11,12 +11,6 @@
namespace extension {
namespace callhistory {
-namespace {
-// The privileges that required in CallHistory API
-const std::string kPrivilegeCallHistoryRead = "http://tizen.org/privilege/callhistory.read";
-const std::string kPrivilegeCallHistoryWrite = "http://tizen.org/privilege/callhistory.write";
-}
-
using namespace common;
CallHistoryInstance::CallHistoryInstance() : history_(*this) {
@@ -42,14 +36,12 @@ CallHistoryInstance::~CallHistoryInstance() {
void CallHistoryInstance::Find(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryRead, &out);
history_.find(args.get());
ReportSuccess(out);
}
void CallHistoryInstance::Remove(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryWrite, &out);
PlatformResult result = history_.remove(args.get());
if (result.IsSuccess()) {
ReportSuccess(out);
@@ -60,7 +52,6 @@ void CallHistoryInstance::Remove(const picojson::value& args, picojson::object&
void CallHistoryInstance::RemoveBatch(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryWrite, &out);
PlatformResult result = history_.removeBatch(args.get());
if (result.IsSuccess()) {
ReportSuccess(out);
@@ -71,14 +62,12 @@ void CallHistoryInstance::RemoveBatch(const picojson::value& args, picojson::obj
void CallHistoryInstance::RemoveAll(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryWrite, &out);
history_.removeAll(args.get());
ReportSuccess(out);
}
void CallHistoryInstance::AddChangeListener(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryRead, &out);
PlatformResult result = history_.startCallHistoryChangeListener();
if (result.IsSuccess()) {
ReportSuccess(out);
@@ -89,7 +78,6 @@ void CallHistoryInstance::AddChangeListener(const picojson::value& args, picojso
void CallHistoryInstance::RemoveChangeListener(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeCallHistoryRead, &out);
PlatformResult result = history_.stopCallHistoryChangeListener();
if (result.IsSuccess()) {
ReportSuccess(out);