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);