#include <FUiCtrlButton.h>
#include <FUiCtrlLabel.h>
#include <FUiCtrlPanel.h>
+#include <FUiKeyEventInfo.h>
#include <FUiLayout.h>
#include <FUiVerticalBoxLayout.h>
#include <FIo_DatabaseImpl.h>
#include <FUi_ControlManager.h>
#include <FUi_ResourceManager.h>
#include "FWebCtrl_CertificateConfirmPopup.h"
-#include "FWebCtrl_EflWebkit.h"
+#include "FWebCtrl_WebManager.h"
#include "FWebCtrl_Utility.h"
#include "FWebCtrl_WebImpl.h"
{
+static const int EDIT_TEXT_SIZE = 30;
+
+
_CertificateConfirmPopup::_CertificateConfirmPopup(void)
: __certPopupMode(CERTIFICATE_POPUP_MODE_USER_CONFIRM)
, __confirm(false)
, __pCertificatePolicyData(null)
+ , __pParent(null)
+ , __pCertificatePopup(null)
+ , __reaction(false)
{
}
_CertificateConfirmPopup::~_CertificateConfirmPopup(void)
{
+ if (IsModalPopup() == true)
+ {
+ 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;
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));
if( __certPopupMode == CERTIFICATE_POPUP_MODE_VIEW )
{
- titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_BR_BODY_CERTIFICATES");
- popupMaxHeight = pPopupData->popupDim.height;
+ titleText = pSysResource->GetString(_RESOURCE_DOMAIN_ID_OSP, "IDS_TPLATFORM_HEADER_SECURITY_CERTIFICATE_ABB");
+ popupMaxHeight = 4*pPopupData->labelDim.height + pPopupData->panelHeight;
- rect.height = pPopupData->popupDim.height - 4*pPopupData->sideMargin - 2*pPopupData->btnDim.height;
+ 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(_RESOURCE_DOMAIN_ID_OSP, "IDS_COM_SK_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 + 2*pPopupData->btnDim.height + 6*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;
- idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_ALLOW)));
- idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_VIEW)));
idList.Add(*(new Integer(ID_BUTTON_CERTIFICATE_CANCEL)));
+ 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_ALLOW"))));
- 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_CANCEL"))));
+ 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));
r = pTextBox->Construct(rect, TEXT_BOX_BORDER_ROUNDED);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
- r = pTextBox->SetTextSize(30);
+ r = pTextBox->SetTextSize(EDIT_TEXT_SIZE);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = pTextBox->SetAutoLinkMask(LINK_TYPE_NONE);
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));
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;
}
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));
- pCertificatePopup->SetOwner(this);
-
- 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);
{
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:
+ {
+ __pCertificatePopup.reset();
+
+ if (__reaction)
+ {
+ __reaction = false;
+ }
+
+ break;
+ }
+ default:
+ break;
+ }
+
+}
+
+
+bool
+_CertificateConfirmPopup::OnKeyPressed(Control& source, const KeyEventInfo& keyEventInfo)
+{
+ return false;
+}
+
+bool
+_CertificateConfirmPopup::OnKeyReleased(Control& source, const KeyEventInfo& keyEventInfo)
+{
+ result r = E_SUCCESS;
+ if ((keyEventInfo.GetKeyCode() == KEY_ESC || keyEventInfo.GetKeyCode() == KEY_BACK) && source.GetShowState() == true)
{
- GetOwner()->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null);
+ if (__certPopupMode == CERTIFICATE_POPUP_MODE_USER_CONFIRM)
+ {
+ HandleUserAction(false);
+ }
+ r = HidePopup();
+ if (IsFailed(r))
+ {
+ SysLogException(NID_WEB_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
+ if (__certPopupMode == CERTIFICATE_POPUP_MODE_VIEW)
+ {
+ __pParent->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null);
+ }
}
+
+ return false;
}
+bool
+_CertificateConfirmPopup::OnPreviewKeyPressed(Control& source, const KeyEventInfo& keyEventInfo)
+{
+ return false;
+}
+
+bool
+_CertificateConfirmPopup::OnPreviewKeyReleased(Control& source, const KeyEventInfo& keyEventInfo)
+{
+ return false;
+}
+
+bool
+_CertificateConfirmPopup::TranslateKeyEventInfo(Control& source, KeyEventInfo& keyEventInfo)
+{
+ return false;
+}
bool
_CertificateConfirmPopup::GetConfirmResult() const
db.CommitTransaction();
}
+
result
_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");
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");
{
String fingerPrint;
StringUtil::Utf8ToString((const char*)pFingerPrint->GetPointer(), fingerPrint);
+ fingerPrint.SetLength(pFingerPrint->GetLimit());
certString.Append(fingerPrint + L"\n\n");
}