[Content] Moved checking privileges to JS layer.
authorTomasz Marciniak <t.marciniak@samsung.com>
Mon, 4 May 2015 05:35:39 +0000 (07:35 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 4 May 2015 07:43:55 +0000 (16:43 +0900)
[Verification] Code compiles without errors.

Change-Id: Ib3a0dd3300023c44a71bf217abb7dd38c06d32cd
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/content/content_instance.cc
src/content/js/common.js
src/content/js/manager.js
src/content/js/playlist.js

index a43a400..114d192 100755 (executable)
 namespace extension {
 namespace content {
 
-namespace {
-// The privileges that required in Content API
-const std::string kPrivilegeContentRead = "http://tizen.org/privilege/content.read";
-const std::string kPrivilegeContentWrite = "http://tizen.org/privilege/content.write";
-
-} // namespace
-
 using common::tools::ReportSuccess;
 using common::tools::ReportError;
 
@@ -229,7 +222,6 @@ static void changedContentCallback(media_content_error_e error,
 
 
 void ContentInstance::ContentManagerUpdate(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   int ret;
   if (ContentManager::getInstance()->isConnected()) {
     ret = ContentManager::getInstance()->update(args);
@@ -243,7 +235,6 @@ void ContentInstance::ContentManagerUpdate(const picojson::value& args, picojson
 
 void ContentInstance::ContentManagerUpdatebatch(const picojson::value& args, picojson::object& out) {
   LoggerE("entered");
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   double callbackId = args.get("callbackId").get<double>();
 
   auto cbData = std::shared_ptr<ReplyCallbackData>(new ReplyCallbackData);
@@ -279,7 +270,6 @@ void ContentInstance::ContentManagerGetdirectories(const picojson::value& args,
 
 }
 void ContentInstance::ContentManagerFind(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentRead, &out);
   CHECK_EXIST(args, "callbackId", out)
 
   double callbackId = args.get("callbackId").get<double>();
@@ -298,7 +288,6 @@ void ContentInstance::ContentManagerFind(const picojson::value& args, picojson::
 
 }
 void ContentInstance::ContentManagerScanfile(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   CHECK_EXIST(args, "callbackId", out)
   CHECK_EXIST(args, "contentURI", out)
 
@@ -318,7 +307,6 @@ void ContentInstance::ContentManagerScanfile(const picojson::value& args, picojs
 
 void ContentInstance::ContentManagerSetchangelistener(const picojson::value& args,
                                                       picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentRead, &out);
   CHECK_EXIST(args, "listenerId", out)
 
   ReplyCallbackData* cbData = new ReplyCallbackData();
@@ -337,13 +325,11 @@ void ContentInstance::ContentManagerSetchangelistener(const picojson::value& arg
 }
 
 void ContentInstance::ContentManagerUnsetchangelistener(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentRead, &out);
   if (ContentManager::getInstance()->unSetChangeListener().IsError()) {
     LoggerD("unsuccesfull deregistering of callback");
   }
 }
 void ContentInstance::ContentManagerGetplaylists(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentRead, &out);
   CHECK_EXIST(args, "callbackId", out)
 
   double callbackId = args.get("callbackId").get<double>();
@@ -365,7 +351,6 @@ void ContentInstance::ContentManagerGetplaylists(const picojson::value& args, pi
 
 }
 void ContentInstance::ContentManagerCreateplaylist(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   CHECK_EXIST(args, "callbackId", out)
   CHECK_EXIST(args, "name", out)
 
@@ -387,7 +372,6 @@ void ContentInstance::ContentManagerCreateplaylist(const picojson::value& args,
   common::TaskQueue::GetInstance().Queue<ReplyCallbackData>(WorkThread, CompletedCallback, cbData);
 }
 void ContentInstance::ContentManagerRemoveplaylist(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   double callbackId = args.get("callbackId").get<double>();
 
   auto cbData = std::shared_ptr<ReplyCallbackData>(new ReplyCallbackData);
@@ -408,7 +392,6 @@ void ContentInstance::ContentManagerRemoveplaylist(const picojson::value& args,
 }
 
 void ContentInstance::ContentManagerPlaylistAdd(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   int ret;
   if(ContentManager::getInstance()->isConnected()) {
     std::string playlist_id = args.get("playlistId").get<std::string>();
@@ -424,7 +407,6 @@ void ContentInstance::ContentManagerPlaylistAdd(const picojson::value& args, pic
 }
 
 void ContentInstance::ContentManagerPlaylistAddbatch(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   LoggerE("entered");
   double callbackId = args.get("callbackId").get<double>();
 
@@ -444,7 +426,6 @@ void ContentInstance::ContentManagerPlaylistAddbatch(const picojson::value& args
 
 
 void ContentInstance::ContentManagerPlaylistGet(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentRead, &out);
   LoggerE("entered");
   double callbackId = args.get("callbackId").get<double>();
 
@@ -463,7 +444,6 @@ void ContentInstance::ContentManagerPlaylistGet(const picojson::value& args, pic
 }
 
 void ContentInstance::ContentManagerPlaylistRemove(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   int ret;
   if(ContentManager::getInstance()->isConnected()) {
     std::string playlist_id = args.get("playlistId").get<std::string>();
@@ -479,7 +459,6 @@ void ContentInstance::ContentManagerPlaylistRemove(const picojson::value& args,
 }
 
 void ContentInstance::ContentManagerPlaylistRemovebatch(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   LoggerE("entered");
   double callbackId = args.get("callbackId").get<double>();
 
@@ -499,7 +478,6 @@ void ContentInstance::ContentManagerPlaylistRemovebatch(const picojson::value& a
 
 
 void ContentInstance::ContentManagerPlaylistSetorder(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   LoggerE("entered");
   double callbackId = args.get("callbackId").get<double>();
 
@@ -518,7 +496,6 @@ void ContentInstance::ContentManagerPlaylistSetorder(const picojson::value& args
 }
 
 void ContentInstance::ContentManagerPlaylistMove(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   LoggerE("entered");
   double callbackId = args.get("callbackId").get<double>();
 
@@ -568,7 +545,6 @@ void ContentInstance::PlaylistGetName(const picojson::value& args, picojson::obj
 }
 
 void ContentInstance::PlaylistSetName(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   int ret;
   CHECK_EXIST(args, "id", out)
   CHECK_EXIST(args, "name", out)
@@ -596,7 +572,6 @@ void ContentInstance::PlaylistGetThumbnailUri(const picojson::value& args, picoj
 }
 
 void ContentInstance::PlaylistSetThumbnailUri(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeContentWrite, &out);
   int ret;
   CHECK_EXIST(args, "id", out)
   CHECK_EXIST(args, "uri", out)
index 0259e13..ee624f1 100644 (file)
@@ -10,6 +10,7 @@ var converter_ = utils_.converter;
 var validator_ = utils_.validator;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
+var privilege_ = xwalk.utils.privilege;
 
 var EditManager = function() {
   this.isAllowed = false;
index 7b8f3bb..37f6912 100644 (file)
@@ -17,7 +17,7 @@ function ContentManager() {
 }
 
 ContentManager.prototype.update = function(content) {
-  xwalk.utils.checkPrivilegeAccess('http://tizen.org/privilege/content.write');
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
 
   var args = validator_.validateArgs(arguments, [
     {name: 'content', type: types_.PLATFORM_OBJECT, values: Content}
@@ -35,6 +35,8 @@ ContentManager.prototype.update = function(content) {
 };
 
 ContentManager.prototype.updateBatch = function(contents, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'contents', type: types_.ARRAY, values: Content},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -84,6 +86,8 @@ ContentManager.prototype.getDirectories = function(successCallback, errorCallbac
 };
 
 ContentManager.prototype.find = function(successCallback, errorCallback, directoryId, filter, sortMode, count, offset) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'successCallback', type: types_.FUNCTION},
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -136,6 +140,8 @@ ContentManager.prototype.find = function(successCallback, errorCallback, directo
 };
 
 ContentManager.prototype.scanFile = function(contentURI, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'contentURI', type: types_.STRING},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -167,6 +173,8 @@ ContentManager.prototype.scanFile = function(contentURI, successCallback, errorC
 };
 
 ContentManager.prototype.setChangeListener = function(changeCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);
+
   var args = validator_.validateArgs(arguments, [{
     name: 'changeCallback',
     type: types_.LISTENER,
@@ -196,6 +204,8 @@ ContentManager.prototype.setChangeListener = function(changeCallback) {
 };
 
 ContentManager.prototype.unsetChangeListener = function() {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);
+
   var data = {};
 
   var result = native_.callSync('ContentManager_unsetChangeListener', data);
@@ -206,6 +216,8 @@ ContentManager.prototype.unsetChangeListener = function() {
 };
 
 ContentManager.prototype.getPlaylists = function(successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'successCallback', type: types_.FUNCTION},
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
@@ -230,6 +242,8 @@ ContentManager.prototype.getPlaylists = function(successCallback, errorCallback)
 };
 
 ContentManager.prototype.createPlaylist = function(name, successCallback, errorCallback, sourcePlaylist) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'name', type: types_.STRING},
     {name: 'successCallback', type: types_.FUNCTION},
@@ -262,6 +276,8 @@ ContentManager.prototype.createPlaylist = function(name, successCallback, errorC
 };
 
 ContentManager.prototype.removePlaylist = function(id, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'id', type: types_.STRING},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
index a04d8b3..cc9fac4 100644 (file)
@@ -27,6 +27,7 @@ function Playlist(data) {
         return native_.getResultObject(result);
       },
       set: function(v) {
+        xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
         if (!type_.isNull(v)) {
           var name = converter_.toString(v, false);
           var result = native_.callSync('ContentPlaylist_setName',
@@ -60,6 +61,7 @@ function Playlist(data) {
         return res === " " ? null : res;
       },
       set: function(v) {
+        xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
         var thumbnailURI = converter_.toString(v, true);
         if (type_.isNullOrUndefined(thumbnailURI)) {
           //CoreAPI not support empty thumbnail, so one space must be used instead null thumbnail
@@ -89,6 +91,8 @@ function Playlist(data) {
 }
 
 Playlist.prototype.add = function (item) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'item', type: types_.PLATFORM_OBJECT, values: Content}
   ]);
@@ -105,6 +109,8 @@ Playlist.prototype.add = function (item) {
 };
 
 Playlist.prototype.addBatch = function (items, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'items', type: types_.ARRAY, values: Content},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -128,6 +134,8 @@ Playlist.prototype.addBatch = function (items, successCallback, errorCallback) {
 };
 
 Playlist.prototype.remove = function (item) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem}
   ]);
@@ -144,6 +152,8 @@ Playlist.prototype.remove = function (item) {
 };
 
 Playlist.prototype.removeBatch = function (items, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'items', type: types_.ARRAY, values: PlaylistItem},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -172,6 +182,8 @@ Playlist.prototype.removeBatch = function (items, successCallback, errorCallback
 };
 
 Playlist.prototype.get = function (successCallback, errorCallback, count, offset) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'successCallback', type: types_.FUNCTION},
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -211,6 +223,8 @@ Playlist.prototype.get = function (successCallback, errorCallback, count, offset
 };
 
 Playlist.prototype.setOrder = function (items, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'items', type: types_.ARRAY, values: PlaylistItem},
     {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
@@ -246,6 +260,8 @@ Playlist.prototype.setOrder = function (items, successCallback, errorCallback) {
 };
 
 Playlist.prototype.move = function (item, delta, successCallback, errorCallback) {
+  xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
   var args = validator_.validateArgs(arguments, [
     {name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem},
     {name: 'delta', type: types_.LONG},