X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FFWeb_WebBookmarkImpl.cpp;h=f456449e71c2d7cd18577b96b396300e55e8ba37;hb=86daf9e9f4a4ec7fffd9b80556243f16ff1239ee;hp=412eae07025a7e85a3130effb65a099b72912fd9;hpb=532390cf38309eb554d601491a0bb1abea3af395;p=framework%2Fosp%2Fweb.git diff --git a/src/FWeb_WebBookmarkImpl.cpp b/src/FWeb_WebBookmarkImpl.cpp index 412eae0..f456449 100755 --- a/src/FWeb_WebBookmarkImpl.cpp +++ b/src/FWeb_WebBookmarkImpl.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include "FWeb_BookmarkItemImpl.h" #include "FWeb_WebBookmarkImpl.h" #include "FWebCtrl_Utility.h" @@ -36,6 +37,7 @@ using namespace Tizen::Base; using namespace Tizen::Graphics; +using namespace Tizen::Ui::Controls; using namespace Tizen::Web::Controls; @@ -63,12 +65,14 @@ _BookmarkForEachCb(favorites_bookmark_entry_s* pItem, void* pUserData) _WebBookmarkImpl::_WebBookmarkImpl(void) + : __rootFolderId(ROOT_FOLDER_ID) { } _WebBookmarkImpl::~_WebBookmarkImpl(void) { + __bookmarkList.RemoveAll(true); } @@ -77,11 +81,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; @@ -95,8 +102,6 @@ CATCH: result _WebBookmarkImpl::AddFolder(const String& title, RecordId parentId, RecordId& folderId) { - result r = E_SUCCESS; - std::unique_ptr pTitle(_StringConverter::CopyToCharArrayN(title)); SysTryReturn(NID_WEB, pTitle.get(), GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult())); @@ -104,11 +109,11 @@ _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); - SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret)); + SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret))); return E_SUCCESS; } @@ -126,11 +131,11 @@ _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); - SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret)); + SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret))); return E_SUCCESS; } @@ -139,36 +144,48 @@ _WebBookmarkImpl::AddBookmark(const String& title, const String& url, RecordId p result _WebBookmarkImpl::SetFavicon(RecordId bookmarkId, const Bitmap& favicon) { - SysTryReturnResult(NID_WEB, favicon.GetWidth() == 16 && favicon.GetHeight() == 16, E_INVALID_DATA, "The size of a favicon must be 16 X 16"); SysTryReturnResult(NID_WEB, favicon.GetPixelColorFormat() == BITMAP_PIXEL_FORMAT_ARGB8888, E_INVALID_DATA, "The pixel format of a favicon must be ARGB8888"); result r = E_SUCCESS; + Frame* pFrame = null; + + BufferInfo bufferInfo; + int ret = 0; - Evas* pEvas = _Utility::GetEvasFromUiApp(); - SysTryReturn(NID_WEB, pEvas, GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult())); + Evas_Object* pIcon = null; - Evas_Object* pIcon = evas_object_image_filled_add(pEvas); + Bitmap& temp = const_cast< Bitmap& >(favicon); + + Evas* pEvas = _Utility::GetEvasFromUiApp(pFrame); + SysTryCatch(NID_WEB, pEvas, r = GetLastResult(), r, "[%s] Propagating.", GetErrorMessage(r)); + + pIcon = evas_object_image_filled_add(pEvas); evas_object_image_colorspace_set(pIcon, EVAS_COLORSPACE_ARGB8888); evas_object_image_filled_set(pIcon, EINA_TRUE); evas_object_image_alpha_set(pIcon,EINA_TRUE); - Bitmap& temp = const_cast< Bitmap& >(favicon); - - BufferInfo bufferInfo; r = temp.Lock(bufferInfo); - SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", r); + SysTryCatch(NID_WEB, r == E_SUCCESS, , r, "[%s] Propagating.", r); evas_object_image_size_set(pIcon, bufferInfo.width, bufferInfo.height); evas_object_image_fill_set(pIcon, 0, 0, bufferInfo.width, bufferInfo.height); evas_object_image_data_set(pIcon, bufferInfo.pPixels); r = temp.Unlock(); - SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", r); + SysTryCatch(NID_WEB, r == E_SUCCESS, , r, "[%s] Propagating.", r); - int ret = favorites_bookmark_set_favicon(bookmarkId, pIcon); - SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret)); + ret = favorites_bookmark_set_favicon(bookmarkId, pIcon); + SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = ConvertErrorCode(ret), r, "[%s] Propagating.", GetErrorMessage(r)); + + + delete pFrame; return E_SUCCESS; + +CATCH: + delete pFrame; + + return r; } @@ -194,7 +211,7 @@ _WebBookmarkImpl::GetRootFolderId(void) const { int folderId = 0; int ret = favorites_bookmark_get_root_folder_id(&folderId); - SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, -1, ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret)); + SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, -1, ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret))); return folderId; } @@ -211,7 +228,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)); @@ -225,7 +249,7 @@ result _WebBookmarkImpl::RemoveAll(void) { int ret = favorites_bookmark_delete_all_bookmarks(); - SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret)); + SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret))); return E_SUCCESS; }