Fix for issue about popup
authorhyun lee <hyunn.lee@samsung.com>
Thu, 25 Jul 2013 07:22:44 +0000 (16:22 +0900)
committerhyun lee <hyunn.lee@samsung.com>
Thu, 25 Jul 2013 07:32:08 +0000 (16:32 +0900)
Change-Id: I4d1ce0eb192549fe5f202e5dceabebde05f8cf4b
Signed-off-by: hyun lee <hyunn.lee@samsung.com>
src/controls/FWebCtrl_UserConfirmPopup.cpp
src/controls/FWebCtrl_WebImpl.cpp
src/controls/FWebCtrl_WebPopup.cpp

index 7304145..f42068d 100755 (executable)
@@ -266,6 +266,11 @@ _UserConfirmPopup::OnActionPerformed(const Control& source, int actionId)
                        __pImpl->SendUserEvent(ID_USER_SCRIPT_ALERT_CLOSE, null);
                        break;
                }
+               case USER_SCRIPT_CONFIRM:
+               {
+                       //__pImpl->SendUserEvent(ID_USER_SCRIPT_CONFIRM_CLOSE, null);
+                       break;
+               }
                default:
                        SysAssert(false);
                }
index 20ad47c..3302be6 100755 (executable)
@@ -365,9 +365,12 @@ OnScriptConfirmRequested(Evas_Object* pView, const char* pMessage, void* pUserDa
        _WebImpl* pImpl = reinterpret_cast< _WebImpl* >(pUserData);
        String msg(pMessage);
 
-       r = pImpl->ShowUserConfirmPopup(USER_SCRIPT_CONFIRM, pView, msg);
-       SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, EINA_FALSE, r, "[%s] Propagating.", GetErrorMessage(r));
+       r = pImpl->ShowUserConfirmPopupAsync(USER_SCRIPT_CONFIRM, pView, msg);
+       SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
+       return EINA_TRUE;
 
+CATCH:
+       ewk_view_javascript_confirm_reply(pView, EINA_FALSE);
        return EINA_TRUE;
 }
 
@@ -4589,19 +4592,6 @@ _WebImpl::ShowUserConfirmPopup(_UserConfirmMode userConfirmMode, void* pPolicy,
 
                break;
        }
-       case USER_SCRIPT_CONFIRM:
-       {
-               __pScriptConfirmPopup = std::move(pUserConfirmPopup);
-
-               r = __pScriptConfirmPopup->ShowAndWait(modalResult);
-               SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pScriptConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
-
-               __pScriptConfirmPopup.reset();
-
-               ewk_view_resume(__pWebCore->GetWebNativeNode());
-
-               break;
-       }
        default:
                break;
        }
@@ -4624,7 +4614,7 @@ _WebImpl::ShowUserConfirmPopupAsync(_UserConfirmMode userConfirmMode, void* pPol
        switch(userConfirmMode)
        {
        case USER_CONFIRM_USERMEDIA:
-    {
+       {
         __pUserMediaConfirmPopup.reset();
 
                __pUserMediaConfirmPopup = std::move(pUserConfirmPopup);
@@ -4671,6 +4661,19 @@ _WebImpl::ShowUserConfirmPopupAsync(_UserConfirmMode userConfirmMode, void* pPol
                __pScriptAlertConfirmPopup.release();
                break;
        }
+       case USER_SCRIPT_CONFIRM:
+       {
+               __pScriptConfirmPopup.reset();
+
+               __pScriptConfirmPopup = std::move(pUserConfirmPopup);
+
+               r = __pScriptConfirmPopup->ShowPopup();
+               SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pScriptConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+               __pScriptConfirmPopup.release();
+
+               break;
+       }
        default:
                break;
        }
index 3257d13..9d99d5e 100755 (executable)
@@ -51,6 +51,10 @@ _WebPopup::_WebPopup(void)
 
 _WebPopup::~_WebPopup(void)
 {
+       if (IsModalPopup())
+       {
+               HidePopup();
+       }
        __pWebPopupData.reset();
 }
 
@@ -252,7 +256,7 @@ _WebPopup::GetPopupData(bool refresh)
 result
 _WebPopup::OnTerminating(void)
 {
-       return HidePopup();
+       return E_SUCCESS;
 }