Fix for issue
authorhyun lee <hyunn.lee@samsung.com>
Thu, 11 Jul 2013 12:30:34 +0000 (21:30 +0900)
committerhyun lee <hyunn.lee@samsung.com>
Thu, 11 Jul 2013 13:19:05 +0000 (22:19 +0900)
Change-Id: I186ddabbeb214c762c53ef2280a175624ef7901b
Signed-off-by: hyun lee <hyunn.lee@samsung.com>
src/controls/FWebCtrl_AuthConfirmPopup.cpp
src/controls/FWebCtrl_CertificateConfirmPopup.cpp
src/controls/FWebCtrl_InputPickerPopup.cpp
src/controls/FWebCtrl_InputPickerPopup.h
src/controls/FWebCtrl_UserConfirmPopup.cpp
src/controls/FWebCtrl_WebImpl.cpp
src/controls/FWebCtrl_WebPopup.cpp

index a0ce387..4f23f08 100755 (executable)
@@ -65,6 +65,10 @@ _AuthConfirmPopup::_AuthConfirmPopup(void)
 
 _AuthConfirmPopup::~_AuthConfirmPopup(void)
 {
+       if (IsModalPopup())
+       {
+               __pAuthHandler->Cancel();
+       }
 }
 
 
index 9a23ff0..0ffec33 100755 (executable)
@@ -72,6 +72,10 @@ _CertificateConfirmPopup::_CertificateConfirmPopup(void)
 
 _CertificateConfirmPopup::~_CertificateConfirmPopup(void)
 {
+       if (IsModalPopup() == true)
+       {
+               HandleUserAction(false);
+       }
 }
 
 
index 270b007..e6fc7be 100755 (executable)
@@ -63,6 +63,7 @@ _InputPickerPopup::_InputPickerPopup(void)
        , __pEditTime(null)
        , __pSelectionBtn(null)
        , __modal(0)
+       , __isModal(false)
        , __popupHeight(0)
        , __popupWidth(0)
        , __btnHeight(0)
@@ -73,6 +74,10 @@ _InputPickerPopup::_InputPickerPopup(void)
 
 _InputPickerPopup::~_InputPickerPopup(void)
 {
+       if (__isModal == true)
+       {
+               HidePopup();
+       }
 }
 
 
@@ -480,6 +485,8 @@ _InputPickerPopup::ShowPopup(void)
        r = __pPopup->SetShowState(true);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
+       __isModal = true;
+
        r = __pPopup->DoModal(__modal);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
@@ -495,6 +502,8 @@ _InputPickerPopup::HidePopup(void)
        r = __pPopup->SetShowState(false);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
+       __isModal = false;
+
        r = __pPopup->EndModal(__modal);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
index 9da03f8..93151ce 100755 (executable)
@@ -125,6 +125,8 @@ private:
        Tizen::Ui::Controls::ColorPicker* __pColorPicker;
 
        int __modal;
+       bool __isModal;
+
        int __popupHeight;
        int __popupWidth;
        int __btnHeight;
index fe2f5e3..90d89b3 100755 (executable)
@@ -70,6 +70,10 @@ _UserConfirmPopup::_UserConfirmPopup(void)
 
 _UserConfirmPopup::~_UserConfirmPopup(void)
 {
+       if (IsModalPopup())
+       {
+               HandleUserAction(EINA_FALSE);
+       }
 }
 
 
index 59682ff..2e5d672 100755 (executable)
@@ -462,7 +462,10 @@ OnCertificateRequested(void* pUserData, Evas_Object* pView, void* pEventInfo)
                        SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
-               pImpl->SetCertificateRequested(true);
+               if (pImpl)
+               {
+                       pImpl->SetCertificateRequested(true);
+               }
                break;
        }
        case WEB_CERTIFICATE_ERROR_HANDLING_MODE_CANCEL:
@@ -1140,6 +1143,8 @@ OnWebDataReceived(void* pUserData, Evas_Object* pView, void* pEventInfo)
                                r = selectBox.Construct(false, L"Select application", 1); //+1 for Downloader
                                SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
 
+                               selectBox.SetOwner(&pImpl->GetPublic());
+
                                selectBox.AddListItem(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_DOWNLOAD"), _SelectBox::LIST_ITEM_TYPE_NORMAL, false);
                                r = selectBox.ShowAndWait(selectedIndex);
                                SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
@@ -1743,6 +1748,11 @@ OnWebKeypadStateChanged(void* pUserData, Evas_Object* pView, void* pEventInfo)
        Eina_Rectangle* pEinaRect = reinterpret_cast< Eina_Rectangle* >(pEventInfo);
        SysAssertf(pImpl && pEinaRect, "Failed to request");
 
+       if (pImpl->IsVisible() == false)
+       {
+               evas_object_focus_set(pView, EINA_FALSE);
+       }
+
        if (pImpl->GetSetting().GetInputStyle() == INPUT_STYLE_OVERLAY)
        {
                _ICoordinateSystemTransformer* pXformer = _CoordinateSystem::GetInstance()->GetInverseTransformer();
@@ -4615,7 +4625,10 @@ _WebImpl::ShowAuthenticationPopup(const String& host, const String& realm, Authe
        SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
 
 CATCH:
-       __pAuthPopup.reset();
+       if (__pAuthPopup)
+       {
+               __pAuthPopup.reset();
+       }
 
        return r;
 }
@@ -4641,13 +4654,16 @@ _WebImpl::ShowCertificateConfirmPopup(_CertificatePopupMode userConfirmMode, Ewk
        r = __pCertConfirmPopup->ShowAndWait(modalResult);
        SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       if (userConfirmMode == CERTIFICATE_POPUP_MODE_USER_CONFIRM)
+       if (__pCertConfirmPopup.get() && userConfirmMode == CERTIFICATE_POPUP_MODE_USER_CONFIRM)
        {
                __isCertificateConfirmed = __pCertConfirmPopup->GetConfirmResult();
        }
 
 CATCH:
-       __pCertConfirmPopup.reset();
+       if (__pCertConfirmPopup.get())
+       {
+               __pCertConfirmPopup.reset();
+       }
 
        return r;
 }
@@ -5019,12 +5035,16 @@ _WebImpl::ShowColorPicker(int red, int green, int blue, int alpha, Color& color)
        r = __pColorPicker->ShowPopup();
        SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       color = __pColorPicker->GetColor();
-
-       return E_SUCCESS;
+       if (__pColorPicker)
+       {
+               color = __pColorPicker->GetColor();
+       }
 
 CATCH:
-       __pColorPicker.reset();
+       if (__pColorPicker)
+       {
+               __pColorPicker.reset();
+       }
 
        return r;
 }
@@ -5046,10 +5066,16 @@ _WebImpl::ShowDatePicker(Ewk_Input_Type inputType, const char* inputValue, Strin
        r = __pDatePicker->ShowPopup();
        SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       dateStr = __pDatePicker->GetDate();
+       if (__pDatePicker)
+       {
+               dateStr = __pDatePicker->GetDate();
+       }
 
 CATCH:
-       __pDatePicker.reset();
+       if (__pDatePicker)
+       {
+               __pDatePicker.reset();
+       }
 
        return r;
 }
index 5b4948b..1c35aab 100644 (file)
@@ -50,6 +50,11 @@ _WebPopup::_WebPopup(void)
 
 _WebPopup::~_WebPopup(void)
 {
+       if (IsModalPopup() == true)
+       {
+               HidePopup(0);
+       }
+
        __pWebPopupData.reset();
 }