fix crash issue for authentication popup
[framework/osp/web.git] / src / controls / FWebCtrl_WebImpl.cpp
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);
+               }
        }
 }