X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontrols%2FFWebCtrl_CertificateConfirmPopup.cpp;h=0ef39ae65eee184c2042e9b74daaf966b843de80;hb=68830af363a01550e0d5ad00d02ebd19688598ac;hp=e49cb4bec00f3a144412c79ea0f9ff9ddb810cf0;hpb=d9bbaf21fdee118bceb2f2052e5d09ce00373c20;p=framework%2Fosp%2Fweb.git diff --git a/src/controls/FWebCtrl_CertificateConfirmPopup.cpp b/src/controls/FWebCtrl_CertificateConfirmPopup.cpp index e49cb4b..0ef39ae 100755 --- a/src/controls/FWebCtrl_CertificateConfirmPopup.cpp +++ b/src/controls/FWebCtrl_CertificateConfirmPopup.cpp @@ -39,7 +39,7 @@ #include #include #include "FWebCtrl_CertificateConfirmPopup.h" -#include "FWebCtrl_EflWebkit.h" +#include "FWebCtrl_WebManager.h" #include "FWebCtrl_Utility.h" #include "FWebCtrl_WebImpl.h" @@ -66,6 +66,9 @@ _CertificateConfirmPopup::_CertificateConfirmPopup(void) : __certPopupMode(CERTIFICATE_POPUP_MODE_USER_CONFIRM) , __confirm(false) , __pCertificatePolicyData(null) + , __pParent(null) + , __pCertificatePopup(null) + , __reaction(false) { } @@ -76,11 +79,15 @@ _CertificateConfirmPopup::~_CertificateConfirmPopup(void) { HandleUserAction(false); } + if (__pCertificatePopup.get()) + { + __pCertificatePopup.reset(); + } } result -_CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy) +_CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy, Tizen::Web::Controls::_CertificateConfirmPopup* pParent) { SysTryReturnResult(NID_WEB_CTRL, pPolicy, E_INVALID_ARG, "Certificate Policy pointer is null."); result r = E_SUCCESS; @@ -97,6 +104,8 @@ _CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Cer int popupMaxHeight = 0; Rectangle rect(0, 0, 0, 0); + __pParent = pParent; + ArrayList idList; r = idList.Construct(); SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r)); @@ -107,19 +116,19 @@ _CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Cer if( __certPopupMode == CERTIFICATE_POPUP_MODE_VIEW ) { - titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_CERTIFICATES"); - popupMaxHeight = 4*pPopupData->labelDim.height + pPopupData->btnDim.height + 2*pPopupData->sideMargin; + titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_HEADER_SECURITY_CERTIFICATE_ABB"); + popupMaxHeight = 4*pPopupData->labelDim.height + pPopupData->panelHeight; rect.height = 4*pPopupData->labelDim.height; rect.width = pPopupData->labelDim.width; idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_CLOSE))); - titleList.Add(*(new String(pSysResource->GetString("sys_string", "IDS_COM_BODY_DONE")))); + titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BUTTON_OK")))); } else // CERTIFICATE_POPUP_MODE_CONFIRM { - titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_SECURITY_WARNING"); - popupMaxHeight = 2*pPopupData->labelDim.height + pPopupData->btnDim.height + 2*pPopupData->sideMargin; + titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_HEADER_SECURITY_WARNING_ABB"); + popupMaxHeight = 2*pPopupData->labelDim.height + pPopupData->panelHeight; rect.height = 2*pPopupData->labelDim.height; rect.width = pPopupData->labelDim.width; @@ -128,9 +137,9 @@ _CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Cer idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_VIEW))); idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_ALLOW))); - titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_OPT_CANCEL")))); - titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_OPT_VIEW")))); - titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_OPT_ALLOW")))); + titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BUTTON_CANCEL_ABB")))); + titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BUTTON2_VIEW_CERTIFICATE")))); + titleList.Add(*(new String(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BUTTON_CONTINUE_ABB")))); } r = _WebPopup::Construct(true, Dimension(pPopupData->popupDim.width, popupMaxHeight)); @@ -174,7 +183,7 @@ _CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Cer SysTryReturnResult(NID_WEB_CTRL, pLabel.get(), E_OUT_OF_MEMORY, "Memory Allocation failed."); String message = L""; - message = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_SECURITY_CERTIFICATE_PROBLEM_MSG"); + message = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_THERE_ARE_PROBLEMS_WITH_THE_SECURITY_CERTIFICATE_FOR_THIS_SITE_C"); message.Append(L"\n"); message.Append(ewk_certificate_policy_decision_url_get(__pCertificatePolicyData)); @@ -195,11 +204,6 @@ _CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Cer r = CreateAndAddButtons(idList, titleList, pButtonPanel); SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r)); - pLayout->SetHorizontalFitPolicy(*pButtonPanel, FIT_POLICY_PARENT); - pLayout->SetHorizontalAlignment(*pButtonPanel, LAYOUT_HORIZONTAL_ALIGN_CENTER); - - pLayout->SetSpacing(*pButtonPanel, 2*pPopupData->sideMargin); - SetPropagatedKeyEventListener(this); return E_SUCCESS; @@ -214,30 +218,57 @@ _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."); - r = pCertificatePopup->Construct(CERTIFICATE_POPUP_MODE_VIEW, __pCertificatePolicyData); + r = pCertificatePopup->Construct(CERTIFICATE_POPUP_MODE_VIEW, __pCertificatePolicyData, this); SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r)); - r = pCertificatePopup->ShowPopup(); - SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r)); + __pCertificatePopup = std::move(pCertificatePopup); - pCertificatePopup.release(); + r = __pCertificatePopup->ShowPopup(); + SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r)); return; } case ID_BUTTON_CERTIFICATE_CANCEL: + { + if (__reaction) + { + return; + } + HandleUserAction(false); break; + } case ID_BUTTON_CERTIFICATE_CLOSE: + { + if (__reaction) + { + return; + } + break; + } default: SysAssert(false); @@ -249,16 +280,40 @@ _CertificateConfirmPopup::OnActionPerformed(const Control& source, int actionId) { SysLogException(NID_WEB_CTRL, r, "[%s] Propagating.", GetErrorMessage(r)); } - if (__certPopupMode == CERTIFICATE_POPUP_MODE_VIEW ) + if (__certPopupMode == CERTIFICATE_POPUP_MODE_VIEW) + { + __pParent->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null); + } +} + + +void +_CertificateConfirmPopup::OnUserEventReceivedN(RequestId requestId, IList* pArgs) +{ + switch (requestId) + { + case ID_CERTIFICATE_CONFIRM_POPUP_CLOSE: { - GetOwner()->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null); + __pCertificatePopup.reset(); + + if (__reaction) + { + __reaction = false; + } + + break; + } + default: + break; } + } + bool _CertificateConfirmPopup::OnKeyPressed(Control& source, const KeyEventInfo& keyEventInfo) { - return true; + return false; } bool @@ -276,13 +331,13 @@ _CertificateConfirmPopup::OnKeyReleased(Control& source, const KeyEventInfo& key { SysLogException(NID_WEB_CTRL, r, "[%s] Propagating.", GetErrorMessage(r)); } - if (__certPopupMode == CERTIFICATE_POPUP_MODE_VIEW ) + if (__certPopupMode == CERTIFICATE_POPUP_MODE_VIEW) { - GetOwner()->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null); + __pParent->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null); } } - return true; + return false; } bool @@ -364,45 +419,45 @@ _CertificateConfirmPopup::GenerateCertifiate(String& certString) SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r)); //Issued to - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_ISSUED_TO_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_ISSUED_TO_C")); certString.Append(L"\n\n"); String subject = certificate.GetSubject(); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_COMMON_NAME_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_COMMON_NAME_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(subject, L"/CN=") + L"\n"); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_ORGANIZATION_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_ORGANISATION_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(subject, L"/O=") + L"\n"); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP ,"IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP ,"IDS_TPLATFORM_BODY_ORGANISATIONAL_UNIT_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(subject, L"/OU=") + L"\n"); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_CERTIFICATE_SERIAL_NUMBER")); - certString.Append(L":\n"); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_SERIAL_NUMBER_C")); + certString.Append(L"\n"); certString.Append(certificate.GetSerialNumber() + L"\n\n\n"); //Issued by - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_ISSUED_BY_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_ISSUED_BY_C")); certString.Append(L"\n\n"); String issuer = certificate.GetIssuer(); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_COMMON_NAME_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_COMMON_NAME_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(issuer, L"/CN=") + L"\n"); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_ORGANIZATION_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_ORGANISATION_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(issuer, L"/O=") + L"\n"); - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_ORGANISATIONAL_UNIT_C")); certString.Append(L"\n"); certString.Append(GetStringOfToken(issuer, L"/OU=") + L"\n\n"); //Validity - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_HEADER_VALIDITY_C")); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_VALIDITY_C")); certString.Append(L"\n\n"); certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_POP_CERTI_VALID_FROM_C")); certString.Append(L"\n"); @@ -413,8 +468,8 @@ _CertificateConfirmPopup::GenerateCertifiate(String& certString) certString.Append(certificate.GetNotAfter() + L"\n\n\n"); //FingerPrints - certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_ROOTCERTIFICATES_FINGER_PRINT")); - certString.Append(L":\n\n"); + certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_BODY_FINGERPRINTS_C")); + certString.Append(L"\n\n"); certString.Append(pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_SIGNATURE_ALGORITHM_VODA")); certString.Append(L":\n"); certString.Append(certificate.GetSignatureAlgorithm() + L"\n\n"); @@ -424,6 +479,7 @@ _CertificateConfirmPopup::GenerateCertifiate(String& certString) { String fingerPrint; StringUtil::Utf8ToString((const char*)pFingerPrint->GetPointer(), fingerPrint); + fingerPrint.SetLength(pFingerPrint->GetLimit()); certString.Append(fingerPrint + L"\n\n"); }