From: Tomasz Marciniak Date: Fri, 6 Nov 2015 10:05:01 +0000 (+0100) Subject: Revert "[Application] Moved checking privileges to JS layer." X-Git-Tag: submit/tizen_mobile/20151215.080542^2~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f1d6598d3f102a3fb6a3c88f60c94f0636cf4073;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git Revert "[Application] Moved checking privileges to JS layer." This reverts commit d5be33204f9eb3e15bfe15a437a026d4d21f601a. This also applies changes from commit 0c20e951d04a6917e12ea80b7691fb582eeb3d12 Change-Id: I230dac370fed041e094ef7f4cfc1fe49bce4b0c6 Signed-off-by: Tomasz Marciniak --- diff --git a/src/application/application_api.js b/src/application/application_api.js index e8b00eef..7b42f15c 100755 --- a/src/application/application_api.js +++ b/src/application/application_api.js @@ -17,7 +17,6 @@ var T = xwalk.utils.type; var Converter = xwalk.utils.converter; var AV = xwalk.utils.validator; -var Privilege = xwalk.utils.privilege; var native = new xwalk.utils.NativeManager(extension); @@ -119,8 +118,6 @@ ApplicationManager.prototype.getCurrentApplication = function() { }; ApplicationManager.prototype.kill = function() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPMANAGER_KILL); - var args = AV.validateMethod(arguments, [ { name : 'contextId', @@ -156,8 +153,6 @@ ApplicationManager.prototype.kill = function() { }; ApplicationManager.prototype.launch = function() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPLICATION_LAUNCH); - var args = AV.validateMethod(arguments, [ { name : 'id', @@ -193,8 +188,6 @@ ApplicationManager.prototype.launch = function() { }; ApplicationManager.prototype.launchAppControl = function() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPLICATION_LAUNCH); - var args = AV.validateMethod(arguments, [ { name : 'appControl', @@ -418,8 +411,6 @@ ApplicationManager.prototype.getAppInfo = function() { }; ApplicationManager.prototype.getAppCerts = function() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPMANAGER_CERTIFICATE); - var args = AV.validateMethod(arguments, [ { name : 'id', @@ -475,8 +466,6 @@ ApplicationManager.prototype.getAppSharedURI = function() { }; ApplicationManager.prototype.getAppMetaData = function() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPLICATION_INFO); - var args = AV.validateMethod(arguments, [ { name : 'id', @@ -795,27 +784,19 @@ Application.prototype.broadcastTrustedEvent = function(event, data) { // class ApplicationInformation //////////////////////////////////////////////////// function ApplicationInformation(data) { - var size; - var sizeException; + var size = undefined; function sizeGetter() { - xwalk.utils.checkPrivilegeAccess(Privilege.APPLICATION_INFO); if (undefined === size) { var callArgs = { packageId : this.packageId }; // jshint ignore:line var result = native.callSync('ApplicationInformation_getSize', callArgs); if (native.isFailure(result)) { - sizeException = native.getErrorObject(result); - size = 0; + throw native.getErrorObject(result); } else { size = native.getResultObject(result).size; } } - - if (undefined !== sizeException) { - throw sizeException; - } - return size; } diff --git a/src/application/application_instance.cc b/src/application/application_instance.cc index 005b65c4..67ff539d 100755 --- a/src/application/application_instance.cc +++ b/src/application/application_instance.cc @@ -21,10 +21,19 @@ #include "common/platform_exception.h" #include "common/task-queue.h" #include "common/current_application.h" +#include "common/tools.h" namespace extension { namespace application { +namespace { +// The privileges that are required in Application API +const std::string kPrivilegeAppManagerCertificate = "http://tizen.org/privilege/appmanager.certificate"; +const std::string kPrivilegeAppManagerKill = "http://tizen.org/privilege/appmanager.kill"; +const std::string kPrivilegeApplicationInfo = "http://tizen.org/privilege/application.info"; +const std::string kPrivilegeApplicationLaunch = "http://tizen.org/privilege/application.launch"; +} // namespace + using namespace common; ApplicationInstance::ApplicationInstance() : @@ -111,6 +120,8 @@ void ApplicationInstance::GetAppInfo(const picojson::value& args, picojson::obje void ApplicationInstance::GetAppCerts(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeAppManagerCertificate, &out); + std::string app_id = app_id_; const auto& id = args.get("id"); if (id.is()) { @@ -135,6 +146,8 @@ void ApplicationInstance::GetAppSharedURI(const picojson::value& args, picojson: void ApplicationInstance::GetAppMetaData(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeApplicationInfo, &out); + std::string app_id = app_id_; const auto& id = args.get("id"); if (id.is()) { @@ -178,24 +191,32 @@ void ApplicationInstance::ReplyFailure(const picojson::value& args, picojson::ob void ApplicationInstance::GetSize(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeApplicationInfo, &out); + manager_.GetApplicationInformationSize(args, &out); } void ApplicationInstance::Kill(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeAppManagerKill, &out); + manager_.Kill(args); } void ApplicationInstance::Launch(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeApplicationLaunch, &out); + manager_.Launch(args); } void ApplicationInstance::LaunchAppControl(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeApplicationLaunch, &out); + manager_.LaunchAppControl(args); }