fix bookmark API bug
authorSeongjun Yim <se201.yim@samsung.com>
Tue, 19 Mar 2013 09:02:57 +0000 (18:02 +0900)
committerSeongjun Yim <se201.yim@samsung.com>
Tue, 19 Mar 2013 09:20:26 +0000 (18:20 +0900)
Change-Id: Iac59a42ad52e1a69fbeced51ccf037a07d2e4c8a
Signed-off-by: Seongjun Yim <se201.yim@samsung.com>
src/FWeb_WebBookmarkImpl.cpp
src/FWeb_WebBookmarkImpl.h
src/controls/FWebCtrl_EflWebkit.cpp

index 412eae0..ed88111 100755 (executable)
@@ -63,6 +63,7 @@ _BookmarkForEachCb(favorites_bookmark_entry_s* pItem, void* pUserData)
 
 
 _WebBookmarkImpl::_WebBookmarkImpl(void)
+       : __rootFolderId(ROOT_FOLDER_ID)
 {
 }
 
@@ -77,11 +78,14 @@ _WebBookmarkImpl::Construct(void)
 {
        result r = E_SUCCESS;
 
+       int ret = favorites_bookmark_get_root_folder_id(&__rootFolderId);
+       SysTryReturnResult(NID_WEB, ret == FAVORITES_ERROR_NONE, E_SYSTEM, "Failed to get root folder id.");
+
        r = __bookmarkList.Construct();
        SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
-       int ret = favorites_bookmark_foreach(_BookmarkForEachCb, this);
-       SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to Set bookmark Callback.");
+       ret = favorites_bookmark_foreach(_BookmarkForEachCb, this);
+       SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to set bookmark callback.");
 
        return E_SUCCESS;
 
@@ -104,7 +108,7 @@ _WebBookmarkImpl::AddFolder(const String& title, RecordId parentId, RecordId& fo
 
        if (parentId == ROOT_FOLDER_ID)
        {
-               realParentId = GetRootFolderId();
+               realParentId = __rootFolderId;
        }
 
        int ret = favorites_bookmark_add(pTitle.get(), null, realParentId, 1, &folderId);
@@ -126,7 +130,7 @@ _WebBookmarkImpl::AddBookmark(const String& title, const String& url, RecordId p
 
        if (parentId == ROOT_FOLDER_ID)
        {
-               realParentId = GetRootFolderId();
+               realParentId = __rootFolderId;
        }
        
        int ret = favorites_bookmark_add(pTitle.get(), pUrl.get(), realParentId, 0, &bookmarkId);
@@ -211,7 +215,14 @@ _WebBookmarkImpl::AddItem(RecordId id, const String& url, const String& title, R
        _BookmarkItemImpl* pBookmarkItemImpl = _BookmarkItemImpl::GetInstance(pBookmarkItem.get());
        SysTryReturn(NID_WEB, pBookmarkItemImpl, GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
 
-       pBookmarkItemImpl->SetBookmarkItem(id, url, title, parentId, isFolder);
+       int realParentId = parentId;
+
+       if (parentId == __rootFolderId)
+       {
+               realParentId = ROOT_FOLDER_ID;
+       }
+
+       pBookmarkItemImpl->SetBookmarkItem(id, url, title, realParentId, isFolder);
 
        r = __bookmarkList.Add(*pBookmarkItem.get());
        SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
index bfe0b0d..6c8f663 100755 (executable)
@@ -66,6 +66,8 @@ public:
        static const _WebBookmarkImpl* GetInstance(const WebBookmark* pWebBookmark);
 
 private:
+       int __rootFolderId;
+
        Tizen::Base::Collection::ArrayList __bookmarkList;
 }; // _WebBookmarkImpl
 
index 6c40b11..e559c83 100755 (executable)
@@ -237,16 +237,16 @@ _EflWebkit::SetProxyAddress(void) const
        connection_h handle = null;
 
        ret = connection_create(&handle);
-       SysTryReturnResult(NID_WEB_CTRL, ret >= 0, E_SYSTEM, "A system error has been occurred. Failed to create connection.");
+       SysTryReturnResult(NID_WEB_CTRL, ret == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has been occurred. Failed to create connection.");
 
        char* pProxy = null;
        connection_address_family_e family = CONNECTION_ADDRESS_FAMILY_IPV4;
 
        ret = connection_get_proxy(handle, family, &pProxy);
-       SysTryReturnResult(NID_WEB_CTRL, ret >= 0, E_SYSTEM, "A system error has been occurred. Failed to get proxy address.");
+       SysTryReturnResult(NID_WEB_CTRL, ret == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has been occurred. Failed to get proxy address.");
 
        ret = connection_destroy(handle);
-       SysTryReturnResult(NID_WEB_CTRL, ret >= 0, E_SYSTEM, "A system error has been occurred. Failed to destroy connection.");
+       SysTryReturnResult(NID_WEB_CTRL, ret == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has been occurred. Failed to destroy connection.");
 
        Ewk_Context* pContext = ewk_view_context_get(__pWebFrame);
        SysAssertf(pContext, "Failed to get context.");