*/
var validator_ = xwalk.utils.validator;
*/
var validator_ = xwalk.utils.validator;
-var privilege_ = xwalk.utils.privilege;
var types_ = validator_.Types;
var native_ = new xwalk.utils.NativeManager(extension);
var types_ = validator_.Types;
var native_ = new xwalk.utils.NativeManager(extension);
function BookmarkManager() {}
BookmarkManager.prototype.get = function() {
function BookmarkManager() {}
BookmarkManager.prototype.get = function() {
- xwalk.utils.checkPrivilegeAccess(privilege_.BOOKMARK_READ);
-
var args = validator_.validateArgs(arguments, [
{
name: 'parentFolder',
var args = validator_.validateArgs(arguments, [
{
name: 'parentFolder',
};
BookmarkManager.prototype.add = function() {
};
BookmarkManager.prototype.add = function() {
- xwalk.utils.checkPrivilegeAccess(privilege_.BOOKMARK_WRITE);
-
var args = validator_.validateArgs(arguments, [
{
name: 'bookmark',
var args = validator_.validateArgs(arguments, [
{
name: 'bookmark',
if (args.bookmark.id) {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
}
if (args.bookmark.id) {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
}
- if (!provider.addToFolder(args.bookmark, provider.getRootId())) {
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
- }
+
+ provider.addToFolder(args.bookmark, provider.getRootId());
return;
}
if (!args.parentFolder.id) {
throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
}
return;
}
if (!args.parentFolder.id) {
throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
}
- if (!provider.addToFolder(args.bookmark, args.parentFolder.id)) {
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
- }
+
+ provider.addToFolder(args.bookmark, args.parentFolder.id);
};
BookmarkManager.prototype.remove = function() {
};
BookmarkManager.prototype.remove = function() {
- xwalk.utils.checkPrivilegeAccess(privilege_.BOOKMARK_WRITE);
-
var args = validator_.validateArgs(arguments, [
{
name: 'bookmark',
var args = validator_.validateArgs(arguments, [
{
name: 'bookmark',
]);
if (!arguments.length || args.bookmark === null) {
]);
if (!arguments.length || args.bookmark === null) {
- if (native_.isFailure(native_.callSync('Bookmark_removeAll')))
- throw new WebAPIException(WebAPIException.SECURITY_ERR);
+ var result = native_.callSync('Bookmark_removeAll');
+ if (native_.isFailure(result)) {
+ throw native_.getErrorObject(result);
+ }
+
- if (!args.bookmark.id)
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
- if (native_.isFailure(native_.callSync('Bookmark_remove', {
- id: args.bookmark.id})))
- throw new WebAPIException(WebAPIException.SECURITY_ERR);
+
+ if (!args.bookmark.id) {
+ throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
+ }
+
+ var result = native_.isFailure(native_.callSync('Bookmark_remove', {id: args.bookmark.id}));
+ if (native_.isFailure(result)) {
+ throw native_.getErrorObject(result);
+ }
_edit.allow();
args.bookmark.id = null;
_edit.allow();
args.bookmark.id = null;
type: args.bookmark instanceof tizen.BookmarkFolder ? 1 : 0
}
);
type: args.bookmark instanceof tizen.BookmarkFolder ? 1 : 0
}
);
if (native_.isFailure(ret)) {
if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
var ret_id = native_.getResultObject(ret);
_edit.allow();
args.bookmark.id = ret_id;
args.bookmark.parent = this.getFolder(args.parentId);
_edit.disallow();
var ret_id = native_.getResultObject(ret);
_edit.allow();
args.bookmark.id = ret_id;
args.bookmark.parent = this.getFolder(args.parentId);
_edit.disallow();
};
BookmarkProvider.prototype.getFolder = function() {
};
BookmarkProvider.prototype.getFolder = function() {
});
if (native_.isFailure(ret)) {
});
if (native_.isFailure(ret)) {
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ throw native_.getErrorObject(ret);
}
var folder = native_.getResultObject(ret);
}
var folder = native_.getResultObject(ret);
- if (folder === undefined || folder === null)
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ if (folder === undefined || folder === null) {
+ throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
+ }
var obj = new tizen.BookmarkFolder(folder[0].title);
obj.id = folder[0].id;
var obj = new tizen.BookmarkFolder(folder[0].title);
obj.id = folder[0].id;
});
if (native_.isFailure(ret)) {
});
if (native_.isFailure(ret)) {
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ throw native_.getErrorObject(ret);
}
var folder = native_.getResultObject(ret);
}
var folder = native_.getResultObject(ret);
- if (folder === undefined)
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ if (folder === undefined) {
+ throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
+ }
#include "common/platform_exception.h"
#include "common/converter.h"
#include "common/logger.h"
#include "common/platform_exception.h"
#include "common/converter.h"
#include "common/logger.h"
+#include "common/tools.h"
using common::ErrorCode;
using common::PlatformResult;
using common::ErrorCode;
using common::PlatformResult;
const char kType[] = "type";
const char kParentId[] = "parentId";
const char kUrl[] = "url";
const char kType[] = "type";
const char kParentId[] = "parentId";
const char kUrl[] = "url";
+
+ const std::string kPrivilegeBookmarkRead = "http://tizen.org/privilege/bookmark.read";
+ const std::string kPrivilegeBookmarkWrite = "http://tizen.org/privilege/bookmark.write";
} // namespace
BookmarkInstance::BookmarkInstance() {
} // namespace
BookmarkInstance::BookmarkInstance() {
void BookmarkInstance::BookmarkGet(
const picojson::value& arg, picojson::object& o) {
void BookmarkInstance::BookmarkGet(
const picojson::value& arg, picojson::object& o) {
+ CHECK_PRIVILEGE_ACCESS(kPrivilegeBookmarkRead, &o);
LoggerD("Enter");
Context ctx = {0};
LoggerD("Enter");
Context ctx = {0};
ctx.id = arg.get(kId).get<double>();
if (!bookmark_foreach(ctx, info)) {
ctx.id = arg.get(kId).get<double>();
if (!bookmark_foreach(ctx, info)) {
- LoggerE("BookmarkGet error");
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get bookmark"), &o);
void BookmarkInstance::BookmarkAdd(
const picojson::value& arg, picojson::object& o) {
void BookmarkInstance::BookmarkAdd(
const picojson::value& arg, picojson::object& o) {
+ CHECK_PRIVILEGE_ACCESS(kPrivilegeBookmarkWrite, &o);
LoggerD("Enter");
int saved_id =-1;
LoggerD("Enter");
int saved_id =-1;
LogAndReportError(result, &o);
return;
} else if (exists) {
LogAndReportError(result, &o);
return;
} else if (exists) {
- LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Bookmark already exists"), &o);
+ LogAndReportError(PlatformResult(ErrorCode::INVALID_VALUES_ERR, "Bookmark already exists"), &o);
LogAndReportError(result, &o);
return;
} else if (exists) {
LogAndReportError(result, &o);
return;
} else if (exists) {
- LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Bookmark already exists"), &o);
+ LogAndReportError(PlatformResult(ErrorCode::INVALID_VALUES_ERR, "Bookmark already exists"), &o);
ntv_ret = bp_bookmark_adaptor_create(&saved_id);
if (ntv_ret < 0) {
ntv_ret = bp_bookmark_adaptor_create(&saved_id);
if (ntv_ret < 0) {
- LoggerE("bp_bookmark_adaptor_create error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to create adaptor"), &o);
return;
}
ntv_ret = bp_bookmark_adaptor_set_title(saved_id, title.c_str());
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
return;
}
ntv_ret = bp_bookmark_adaptor_set_title(saved_id, title.c_str());
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
- LoggerE("bp_bookmark_adaptor_set_title error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to set title"), &o);
return;
}
ntv_ret = bp_bookmark_adaptor_set_parent_id(saved_id, parent);
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
return;
}
ntv_ret = bp_bookmark_adaptor_set_parent_id(saved_id, parent);
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
- LoggerE("bp_bookmark_adaptor_set_parent_id error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to set parent id"), &o);
return;
}
ntv_ret = bp_bookmark_adaptor_set_type(saved_id, type);
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
return;
}
ntv_ret = bp_bookmark_adaptor_set_type(saved_id, type);
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
- LoggerE("bp_bookmark_adaptor_set_type error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to set type"), &o);
return;
}
ntv_ret = bp_bookmark_adaptor_set_url(saved_id, url.c_str());
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
return;
}
ntv_ret = bp_bookmark_adaptor_set_url(saved_id, url.c_str());
if (ntv_ret < 0) {
bp_bookmark_adaptor_delete(saved_id);
- LoggerE("bp_bookmark_adaptor_set_url error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to set url"), &o);
return;
}
ReportSuccess(picojson::value(std::to_string(saved_id)), o);
return;
}
ReportSuccess(picojson::value(std::to_string(saved_id)), o);
void BookmarkInstance::BookmarkRemove(
const picojson::value& arg, picojson::object& o) {
void BookmarkInstance::BookmarkRemove(
const picojson::value& arg, picojson::object& o) {
+ CHECK_PRIVILEGE_ACCESS(kPrivilegeBookmarkWrite, &o);
LoggerD("Enter");
int id = common::stol(
LoggerD("Enter");
int id = common::stol(
int ntv_ret = bp_bookmark_adaptor_delete(id);
if (ntv_ret < 0) {
int ntv_ret = bp_bookmark_adaptor_delete(id);
if (ntv_ret < 0) {
- LoggerE("bp_bookmark_adaptor_delete error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to remove bookmark"), &o);
return;
}
ReportSuccess(o);
return;
}
ReportSuccess(o);
void BookmarkInstance::BookmarkRemoveAll(
const picojson::value& msg, picojson::object& o) {
void BookmarkInstance::BookmarkRemoveAll(
const picojson::value& msg, picojson::object& o) {
+ CHECK_PRIVILEGE_ACCESS(kPrivilegeBookmarkWrite, &o);
LoggerD("Enter");
int ntv_ret = bp_bookmark_adaptor_reset();
if (ntv_ret < 0) {
LoggerD("Enter");
int ntv_ret = bp_bookmark_adaptor_reset();
if (ntv_ret < 0) {
- LoggerE("bp_bookmark_adaptor_reset error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to remove bookmark"), &o);
return;
}
ReportSuccess(o);
return;
}
ReportSuccess(o);
int rootId(0);
int ntv_ret = bp_bookmark_adaptor_get_root(&rootId);
if (ntv_ret < 0) {
int rootId(0);
int ntv_ret = bp_bookmark_adaptor_get_root(&rootId);
if (ntv_ret < 0) {
- LoggerE("bp_bookmark_adaptor_get_root error: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- ReportError(o);
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to remove bookmark"), &o);
return;
}
ReportSuccess(picojson::value(std::to_string(rootId)), o);
return;
}
ReportSuccess(picojson::value(std::to_string(rootId)), o);