fix crash issue for authentication popup submit/tizen_2.2/20131107.062229
authorSeongjun Yim <se201.yim@samsung.com>
Mon, 4 Nov 2013 15:44:02 +0000 (00:44 +0900)
committerSeongjun Yim <se201.yim@samsung.com>
Mon, 4 Nov 2013 15:44:02 +0000 (00:44 +0900)
Change-Id: Ib41c2429a74db99758a68cc2ca26fcd1bd935fb9
Signed-off-by: Seongjun Yim <se201.yim@samsung.com>
src/controls/FWebCtrl_AuthConfirmPopup.cpp
src/controls/FWebCtrl_WebImpl.cpp

index 756dc92..eeaa139 100755 (executable)
@@ -191,6 +191,9 @@ _AuthConfirmPopup::OnActionPerformed(const Control& source, int actionId)
 {
        result r = E_SUCCESS;
 
+       r = HidePopup();
+       SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
+
        switch (actionId)
        {
        case ID_BUTTON_AUTH_PROCESS:
@@ -204,9 +207,6 @@ _AuthConfirmPopup::OnActionPerformed(const Control& source, int actionId)
        default:
                break;
        }
-
-       r = HidePopup();
-       SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
 }
 
 bool
index 29910e3..4e0d109 100755 (executable)
@@ -4804,20 +4804,13 @@ _WebImpl::ShowAuthenticationPopup(const String& host, const String& realm, Authe
        r = pAuthPopup->Construct(host, realm, pAuthChallenge);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
+       __pAuthPopup.reset();
        __pAuthPopup = std::move(pAuthPopup);
 
-       int modalResult = 0;
-
-       r = __pAuthPopup->ShowAndWait(modalResult);
-       SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
-
-CATCH:
-       if (__pAuthPopup)
-       {
-               __pAuthPopup.reset();
-       }
+       r = __pAuthPopup->ShowPopup();
+       SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
-       return r;
+       return E_SUCCESS;
 }
 
 
@@ -5278,12 +5271,26 @@ _WebImpl::OnAncestorVisibleStateChanged(const _Control& control)
        if (IsVisible() == true)
        {
                pWebManager->SetActiveWeb(this);
-               ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_VISIBLE, false);
+               if (IsLoading())
+               {
+//                     ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_VISIBLE, true);
+               }
+               else
+               {
+//                     ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_VISIBLE, false);
+               }
        }
        else
        {
                pWebManager->RemoveActiveWeb(this);
-               ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
+               if (IsLoading())
+               {
+//                     ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_HIDDEN, true);
+               }
+               else
+               {
+//                     ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
+               }
        }
 }