Fix for prevent issues
[framework/osp/web.git] / src / controls / FWebCtrl_WebStorageManagerImpl.cpp
index 486fc73..3fd9552 100755 (executable)
@@ -139,24 +139,27 @@ result
 _WebStorageManagerImpl::SetQuotaForOrigin(WebStorageType storageType, const String& origin, long quota)
 {
        Ewk_Context* pDefaultContext = ewk_context_default_get();
-
-       SysTryReturnResult(NID_WEB_CTRL, (storageType == WEB_STORAGE_TYPE_WEB_SQL_DATABASE) || (storageType == WEB_STORAGE_TYPE_APPLICATION_CACHE), E_UNSUPPORTED_TYPE, "This storage type is not supported.");
-
-       Ewk_Security_Origin* pOrigin = CompareOrigin(storageType, origin);
-       SysTryReturnResult(NID_WEB_CTRL, pOrigin, E_INVALID_ARG, "This origin does not exist.");
+       Ewk_Security_Origin* pOrigin = null;
 
        switch (storageType)
        {
        case WEB_STORAGE_TYPE_APPLICATION_CACHE:
+               pOrigin = CompareOrigin(WEB_STORAGE_TYPE_APPLICATION_CACHE, origin);
+               SysTryReturnResult(NID_WEB_CTRL, pOrigin, E_INVALID_ARG, "This origin does not exist.");
+
                ewk_context_application_cache_quota_for_origin_set(pDefaultContext, pOrigin, quota);
                break;
 
        case WEB_STORAGE_TYPE_WEB_SQL_DATABASE:
-               ewk_context_web_database_quota_for_origin_set(pDefaultContext, pOrigin, quota); 
+               pOrigin = CompareOrigin(WEB_STORAGE_TYPE_WEB_SQL_DATABASE, origin);
+               SysTryReturnResult(NID_WEB_CTRL, pOrigin, E_INVALID_ARG, "This origin does not exist.");
+
+               ewk_context_web_database_quota_for_origin_set(pDefaultContext, pOrigin, quota);
                break;
 
        default:
-               break;
+               SysLogException(NID_WEB_CTRL, E_UNSUPPORTED_TYPE, "This storage type %d is not supported.", storageType);
+               return E_UNSUPPORTED_TYPE;
        }
        return E_SUCCESS;
 }
@@ -176,19 +179,7 @@ _WebStorageManagerImpl::GetQuotaForOrigin(WebStorageType storageType, const Stri
        _WebPresenter presenter;
        presenter.InitAsyncProcess();
 
-       switch (storageType)
-       {
-       case WEB_STORAGE_TYPE_APPLICATION_CACHE:
-               ewk_context_application_cache_usage_for_origin_get(pDefaultContext, pOrigin, OnIntReceived, &presenter);
-               break;
-
-       case WEB_STORAGE_TYPE_WEB_SQL_DATABASE:
-               ewk_context_web_database_quota_for_origin_get(pDefaultContext, OnUIntReceived, &presenter, pOrigin);
-               break;
-
-       default:
-               break;
-       }
+       ewk_context_web_database_quota_for_origin_get(pDefaultContext, OnUIntReceived, &presenter, pOrigin);
 
        presenter.WaitAsyncProcess(quota);
 
@@ -341,7 +332,7 @@ _WebStorageManagerImpl::CompareOrigin(WebStorageType storageType, const String&
        {
                Ewk_Security_Origin* pOrigin = static_cast<Ewk_Security_Origin*>(eina_list_data_get(pOriginList));
                int cmp = origin.CompareTo(_Utility::CreateOrigin(pOrigin));
-               
+
                if (cmp ==0)
                {
                        return pOrigin;