[MediaController] Privilege checks moved to JS.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 4 May 2015 08:52:35 +0000 (10:52 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 5 May 2015 06:05:20 +0000 (15:05 +0900)
Privileges need to be checked before validation of arguments.

Change-Id: I82d84186e526f401231f8d84bf9b657df4b54eae
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/mediacontroller/mediacontroller_api.js
src/mediacontroller/mediacontroller_instance.cc
src/utils/utils_api.js

index 17c7c19..b080b09 100644 (file)
@@ -147,6 +147,7 @@ var MediaControllerPlaybackState = {
 function MediaControllerManager() {}
 
 MediaControllerManager.prototype.getClient = function() {
+  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.MEDIACONTROLLER_WRITE);
 
   var result = native_.callSync('MediaControllerManager_getClient', {});
 
@@ -158,6 +159,8 @@ MediaControllerManager.prototype.getClient = function() {
 };
 
 MediaControllerManager.prototype.createServer = function() {
+  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.MEDIACONTROLLER_READ);
+
   var result = native_.callSync('MediaControllerManager_createServer', {});
   if (native_.isFailure(result)) {
     throw native_.getErrorObject(result);
index 11aa4d4..a6b15d1 100644 (file)
 namespace extension {
 namespace mediacontroller {
 
-namespace {
-// The privileges required in MediaController API
-const std::string kPrivilegeMediaControllerClient =
-    "http://tizen.org/privilege/mediacontroller.write";
-const std::string kPrivilegeMediaControllerServer =
-    "http://tizen.org/privilege/mediacontroller.read";
-
-} // namespace
-
 using common::ErrorCode;
 using common::PlatformResult;
 using common::TaskQueue;
@@ -111,8 +102,6 @@ void MediaControllerInstance::MediaControllerManagerCreateServer(
     return;
   }
 
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeMediaControllerServer, &out);
-
   server_ = std::make_shared<MediaControllerServer>();
   const PlatformResult& result = server_->Init();
   if (!result) {
@@ -347,8 +336,6 @@ void MediaControllerInstance::MediaControllerManagerGetClient(
     return;
   }
 
-  CHECK_PRIVILEGE_ACCESS(kPrivilegeMediaControllerClient, &out);
-
   client_ = std::make_shared<MediaControllerClient>();
   const PlatformResult& result = client_->Init();
   if (!result) {
index a607436..239e7d3 100644 (file)
@@ -95,6 +95,8 @@ function Utils() {
     INTERNET: 'http://tizen.org/privilege/internet',
     LED: 'http://tizen.org/privilege/led',
     LOCATION: 'http://tizen.org/privilege/location',
+    MEDIACONTROLLER_READ: 'http://tizen.org/privilege/mediacontroller.read',
+    MEDIACONTROLLER_WRITE: 'http://tizen.org/privilege/mediacontroller.write',
     MESSAGING_READ: 'http://tizen.org/privilege/messaging.read',
     MESSAGING_WRITE: 'http://tizen.org/privilege/messaging.write',
     NETWORKBEARERSELECTION: 'http://tizen.org/privilege/networkbearerselection',