From: Andrzej Popowski Date: Wed, 30 Dec 2015 13:17:15 +0000 (+0100) Subject: [Privileges] - Fixing privilege issues X-Git-Tag: submit/tizen/20151231.020517^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f9fd148143260ef05216294f463124f0ad828c53;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Privileges] - Fixing privilege issues Change-Id: I69bcfd0b6d5333027f194c13b6b120ac9cb74275 Signed-off-by: Andrzej Popowski --- diff --git a/src/calendar/js/calendar_manager.js b/src/calendar/js/calendar_manager.js index 0f1ca1ec..cadae4f5 100755 --- a/src/calendar/js/calendar_manager.js +++ b/src/calendar/js/calendar_manager.js @@ -97,8 +97,8 @@ CalendarManager.prototype.getDefaultCalendar = function() { return CalendarManager_getDefaultCalendar.apply(this, arguments); }; -CalendarManager.prototype.getCalendar = function() { - +var CalendarManagerGetCalendar = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CALENDAR_READ); var args = validator_.validateArgs(arguments, [{ name: 'type', type: types_.ENUM, @@ -129,6 +129,10 @@ CalendarManager.prototype.getCalendar = function() { return new Calendar(new InternalCalendar(native_.getResultObject(result))); }; +CalendarManager.prototype.getCalendar = function() { + return CalendarManagerGetCalendar.apply(this, arguments); +}; + CalendarManager.prototype.addCalendar = function() { var args = validator_.validateArgs(arguments, [{ diff --git a/src/contact/js/contact_manager.js b/src/contact/js/contact_manager.js index 896d1ed1..45a3329b 100755 --- a/src/contact/js/contact_manager.js +++ b/src/contact/js/contact_manager.js @@ -225,7 +225,8 @@ ContactManager.prototype.get = function() { }; // Updates a person in the address book synchronously. -ContactManager.prototype.update = function() { +var ContactManagerUpdate = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CONTACT_WRITE); // validation var args = validator_.validateArgs(arguments, [{ name: 'person', @@ -245,6 +246,10 @@ ContactManager.prototype.update = function() { } }; +ContactManager.prototype.update = function() { + ContactManagerUpdate.apply(this, arguments); +}; + // Updates several existing persons in the contact DB asynchronously. ContactManager.prototype.updateBatch = function() { var args = validator_.validateArgs(arguments, [ diff --git a/src/content/js/manager.js b/src/content/js/manager.js index 7b610442..a7bc8a60 100755 --- a/src/content/js/manager.js +++ b/src/content/js/manager.js @@ -29,7 +29,9 @@ function _ContentManagerChangeCallback(result) { function ContentManager() { } -ContentManager.prototype.update = function(content) { +var ContentManagerUpdate = function(content) { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.CONTENT_WRITE); + var args = validator_.validateArgs(arguments, [ {name: 'content', type: types_.PLATFORM_OBJECT, values: Content} ]); @@ -45,6 +47,10 @@ ContentManager.prototype.update = function(content) { } }; +ContentManager.prototype.update = function() { + ContentManagerUpdate.apply(this, arguments); +}; + ContentManager.prototype.updateBatch = function(contents, successCallback, errorCallback) { var args = validator_.validateArgs(arguments, [ {name: 'contents', type: types_.ARRAY, values: Content}, diff --git a/src/package/package_api.js b/src/package/package_api.js index 285786e8..625a145f 100644 --- a/src/package/package_api.js +++ b/src/package/package_api.js @@ -141,8 +141,8 @@ function PackageManager() { // constructor of PackageManager } - -PackageManager.prototype.install = function(packageFileURI, progressCallback) { +var PackageManagerInstall = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.PACKAGEMANAGER_INSTALL); var args = validator_.validateArgs(arguments, [ {'name' : 'packageFileURI', 'type' : types_.STRING}, {'name' : 'progressCallback', @@ -181,7 +181,12 @@ PackageManager.prototype.install = function(packageFileURI, progressCallback) { } }; -PackageManager.prototype.uninstall = function(id, progressCallback) { +PackageManager.prototype.install = function(packageFileURI, progressCallback) { + PackageManagerInstall.apply(this, arguments); +}; + +var PackageManagerUninstall = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.PACKAGEMANAGER_INSTALL); var args = validator_.validateArgs(arguments, [ {'name' : 'id', 'type' : types_.STRING}, {'name' : 'progressCallback', @@ -218,7 +223,11 @@ PackageManager.prototype.uninstall = function(id, progressCallback) { } catch (e) { throw e; } +}; + +PackageManager.prototype.uninstall = function(id, progressCallback) { + PackageManagerUninstall.apply(this, arguments); }; PackageManager.prototype.getPackagesInfo = function(successCallback, errorCallback) { diff --git a/src/power/power_api.js b/src/power/power_api.js index d74fba31..07ef7f9e 100755 --- a/src/power/power_api.js +++ b/src/power/power_api.js @@ -212,7 +212,8 @@ PowerManager.prototype.getScreenBrightness = function() { * Sets the screen brightness level for an application, from 0 to 1. * @param {!number} brightness The screen brightness value to set. */ -PowerManager.prototype.setScreenBrightness = function(brightness) { +var PowerManagerSetScreenBrightness = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.POWER); var args = validator_.validateArgs(arguments, [ {'name' : 'brightness', 'type': types_.DOUBLE} ]); @@ -229,6 +230,10 @@ PowerManager.prototype.setScreenBrightness = function(brightness) { } catch(e) { throw e; } +}; + +PowerManager.prototype.setScreenBrightness = function(brightness) { + PowerManagerSetScreenBrightness.apply(this, arguments); } /** diff --git a/src/secureelement/secureelement_api.js b/src/secureelement/secureelement_api.js index 2163db02..09b53b31 100644 --- a/src/secureelement/secureelement_api.js +++ b/src/secureelement/secureelement_api.js @@ -92,7 +92,8 @@ var SEChangeListener = new ListenerManager(native_, SE_CHANGE_LISTENER); function SEService() { } -SEService.prototype.getReaders = function() { +var SEServiceGetReaders = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT); var args = validator_.validateArgs(arguments, [ { name: "successCallback", type: types_.FUNCTION }, { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true } @@ -119,7 +120,12 @@ SEService.prototype.getReaders = function() { } }; -SEService.prototype.registerSEListener = function() { +SEService.prototype.getReaders = function() { + SEServiceGetReaders.apply(this, arguments); +}; + +var SEServiceRegisterSEListener = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT); var args = validator_.validateArgs(arguments, [ { name : 'eventCallback', @@ -131,7 +137,12 @@ SEService.prototype.registerSEListener = function() { return SEChangeListener.addListener(args.eventCallback); }; -SEService.prototype.unregisterSEListener = function() { +SEService.prototype.registerSEListener = function() { + return SEServiceRegisterSEListener.apply(this, arguments); +}; + +var SEServiceUnregisterSEListener = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT); var args = validator_.validateArgs(arguments, [ { name : 'id', @@ -140,9 +151,14 @@ SEService.prototype.unregisterSEListener = function() { ]); SEChangeListener.removeListener(args.id); +}; + +SEService.prototype.unregisterSEListener = function() { + SEServiceUnregisterSEListener.apply(this, arguments); } -SEService.prototype.shutdown = function() { +var SEServiceShutdown = function() { + xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT); var result = native_.callSync('SEService_shutdown', {}); if (native_.isFailure(result)) { @@ -150,6 +166,10 @@ SEService.prototype.shutdown = function() { } }; +SEService.prototype.shutdown = function() { + SEServiceShutdown.apply(this, arguments); +}; + //////////////////Reader///////////////// function Reader(reader_handle) {