[power] - checking privileges moved to JS layer
authorAndrzej Popowski <a.popowski@samsung.com>
Mon, 4 May 2015 06:45:59 +0000 (08:45 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 4 May 2015 07:32:38 +0000 (16:32 +0900)
Change-Id: I7eae2d95ca7d218f42db5167253fa8f52056beae
Signed-off-by: Andrzej Popowski <a.popowski@samsung.com>
src/power/power_api.js
src/power/power_instance.cc

index 2316922e3126ea633ac36152d2fb0d76b5d02c41..ca0012500d598d7baa47aac1c07668a657310a93 100755 (executable)
@@ -3,6 +3,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 var validator_ = xwalk.utils.validator;
+var privilege_ = xwalk.utils.privilege;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
@@ -108,6 +109,8 @@ function PowerManager() {
  *     is desired to be.
  */
 PowerManager.prototype.request = function(resource, state) {
+   xwalk.utils.checkPrivilegeAccess(privilege_.POWER);
+
    var args = validator_.validateArgs(arguments, [
         {'name' : 'resource', 'type': types_.ENUM, 'values' : ['SCREEN', 'CPU']},
         {'name' : 'state', 'type': types_.ENUM, 'values' : ['SCREEN_OFF', 'SCREEN_DIM', 'SCREEN_NORMAL', 'SCREEN_BRIGHT', 'CPU_AWAKE']}
@@ -201,6 +204,8 @@ PowerManager.prototype.getScreenBrightness = function() {
  * @param {!number} brightness The screen brightness value to set.
  */
 PowerManager.prototype.setScreenBrightness = function(brightness) {
+    xwalk.utils.checkPrivilegeAccess(privilege_.POWER);
+
     var args = validator_.validateArgs(arguments, [
         {'name' : 'brightness', 'type': types_.DOUBLE}
     ]);
@@ -257,6 +262,8 @@ PowerManager.prototype.restoreScreenBrightness = function() {
  * Turns on the screen.
  */
 PowerManager.prototype.turnScreenOn = function() {
+    xwalk.utils.checkPrivilegeAccess(privilege_.POWER);
+
     var nativeParam = {
     };
 
@@ -272,6 +279,8 @@ PowerManager.prototype.turnScreenOn = function() {
  * Turns off the screen.
  */
 PowerManager.prototype.turnScreenOff = function() {
+    xwalk.utils.checkPrivilegeAccess(privilege_.POWER);
+
     var nativeParam = {
     };
 
index 5ce125dafd068be624cfd4420a0b021c9ec97a88..7363c9107ae46883f5d2dddce0360a8d006ce93e 100755 (executable)
@@ -20,9 +20,6 @@ namespace extension {
 namespace power {
 
 namespace {
-// The privileges that required in Power API
-const std::string kPrivilegePower = "http://tizen.org/privilege/power";
-
 const std::map<std::string, PowerResource> kPowerResourceMap = {
     {"SCREEN", POWER_RESOURCE_SCREEN},
     {"CPU", POWER_RESOURCE_CPU}
@@ -140,8 +137,6 @@ static void ReplyAsync(PowerInstance* instance, PowerCallbacks cbfunc,
     }
 
 void PowerInstance::PowerManagerRequest(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
-
   const std::string& resource = args.get("resource").get<std::string>();
   const std::string& state = args.get("state").get<std::string>();
 
@@ -177,8 +172,6 @@ void PowerInstance::PowerManagerGetscreenbrightness(const picojson::value& args,
 
 void PowerInstance::PowerManagerSetscreenbrightness(const picojson::value& args,
                                                     picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
-
   CHECK_EXIST(args, "brightness", out)
 
   double brightness = args.get("brightness").get<double>();
@@ -204,8 +197,6 @@ void PowerInstance::PowerManagerRestorescreenbrightness(const picojson::value& a
 }
 
 void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
-
   PlatformResult result = PowerManager::GetInstance()->SetScreenState(true);
   if (result.IsError())
     ReportError(result, &out);
@@ -214,8 +205,6 @@ void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojs
 }
 
 void PowerInstance::PowerManagerTurnscreenoff(const picojson::value& args, picojson::object& out) {
-  CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
-
   PlatformResult result = PowerManager::GetInstance()->SetScreenState(false);
   if (result.IsError())
     ReportError(result, &out);