Merge "fix certificatePopup" into tizen_2.2
authorSeongjun Yim <se201.yim@samsung.com>
Tue, 27 Aug 2013 07:55:43 +0000 (07:55 +0000)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Tue, 27 Aug 2013 07:55:43 +0000 (07:55 +0000)
src/controls/FWebCtrl_CertificateConfirmPopup.cpp
src/controls/inc/FWebCtrl_CertificateConfirmPopup.h

index 00aecba..8e32321 100755 (executable)
@@ -68,6 +68,7 @@ _CertificateConfirmPopup::_CertificateConfirmPopup(void)
                                                , __pCertificatePolicyData(null)
                                                , __pParent(null)
                                                , __pCertificatePopup(null)
+                                               , __reaction(false)
 {
 }
 
@@ -222,11 +223,24 @@ _CertificateConfirmPopup::OnActionPerformed(const Control& source, int actionId)
        switch (actionId)
        {
        case ID_BUTTON_CERTIFICATE_ALLOW:
+       {
+               if (__reaction)
+               {
+                       return;
+               }
+
                HandleUserAction(true);
                break;
+       }
 
        case ID_BUTTON_CERTIFICATE_VIEW:
        {
+               if (__reaction)
+               {
+                       return;
+               }
+
+               __reaction = true;
                std::unique_ptr<_CertificateConfirmPopup> pCertificatePopup(new (std::nothrow) _CertificateConfirmPopup());
                SysTryReturnVoidResult(NID_WEB_CTRL, pCertificatePopup.get(), E_OUT_OF_MEMORY, "Memory Allocation failed.");
 
@@ -241,11 +255,25 @@ _CertificateConfirmPopup::OnActionPerformed(const Control& source, int actionId)
        }
 
        case ID_BUTTON_CERTIFICATE_CANCEL:
+       {
+               if (__reaction)
+               {
+                       return;
+               }
+
                HandleUserAction(false);
                break;
+       }
 
        case ID_BUTTON_CERTIFICATE_CLOSE:
+       {
+               if (__reaction)
+               {
+                       return;
+               }
+
                break;
+       }
 
        default:
                SysAssert(false);
@@ -270,8 +298,16 @@ _CertificateConfirmPopup::OnUserEventReceivedN(RequestId requestId, IList* pArgs
        switch (requestId)
        {
        case ID_CERTIFICATE_CONFIRM_POPUP_CLOSE:
+       {
                __pCertificatePopup.reset();
+
+               if (__reaction)
+               {
+                       __reaction = false;
+               }
+
                break;
+       }
        default:
                break;
        }
index 4c1260a..abe701a 100755 (executable)
@@ -97,6 +97,7 @@ private:
 private:
        _CertificatePopupMode __certPopupMode;
        bool __confirm;
+       bool __reaction;
 
        Ewk_Certificate_Policy_Decision* __pCertificatePolicyData;
        _CertificateConfirmPopup* __pParent;