X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontrols%2FFWebCtrl_UserConfirmPopup.cpp;h=5f6543bc731cc43e45180c4bde1ae9eda8b10c5e;hb=497bab034793d5aed357041a51e867dadbc27475;hp=0f79b18cfd15d71094adf4fc4234d025b8cb9fd1;hpb=fbe8ac9e56e6bc411a289dfb36371b65e2ecc674;p=framework%2Fosp%2Fweb.git diff --git a/src/controls/FWebCtrl_UserConfirmPopup.cpp b/src/controls/FWebCtrl_UserConfirmPopup.cpp index 0f79b18..5f6543b 100755 --- a/src/controls/FWebCtrl_UserConfirmPopup.cpp +++ b/src/controls/FWebCtrl_UserConfirmPopup.cpp @@ -19,6 +19,7 @@ * @file FWebCtrl_UserConfirmPopup.cpp * @brief The file contains the definition of _UserConfirmPopup class. */ +#include #include #include #include @@ -64,12 +65,14 @@ _UserConfirmPopup::_UserConfirmPopup(void) , __userConfirmMode(USER_CONFIRM_USERMEDIA) , __pCheckButton(null) , __sync(false) + , __pImpl(null) { } _UserConfirmPopup::~_UserConfirmPopup(void) { + if (IsModalPopup()) { HandleUserAction(EINA_FALSE); @@ -78,7 +81,7 @@ _UserConfirmPopup::~_UserConfirmPopup(void) result -_UserConfirmPopup::Construct(_UserConfirmMode userConfirmMode, void* pEventInfo, bool sync, String msg) +_UserConfirmPopup::Construct(_UserConfirmMode userConfirmMode, void* pEventInfo, Tizen::Web::Controls::_WebImpl* pImpl, bool sync, String msg) { result r = E_SUCCESS; SysTryReturnResult(NID_WEB_CTRL, pEventInfo, E_INVALID_ARG, "Invalid argument(s) is used. pPolicy is null."); @@ -98,6 +101,9 @@ _UserConfirmPopup::Construct(_UserConfirmMode userConfirmMode, void* pEventInfo, bool hasTitle = true; int popupMaxHeight = 2*pPopupData->labelDim.height + pPopupData->btnDim.height + 2*pPopupData->sideMargin; + __pImpl = pImpl; + SysAssertf(__pImpl != null, "Failed to get _WebImpl"); + if (__userConfirmMode == USER_CONFIRM_GEOLOCATION) { popupMaxHeight += pPopupData->checkDim.height; @@ -240,22 +246,27 @@ _UserConfirmPopup::OnActionPerformed(const Control& source, int actionId) { case USER_CONFIRM_USERMEDIA: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_USERMEDIA_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_USERMEDIA_CLOSE, null); break; } case USER_CONFIRM_GEOLOCATION: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_GEOLOCATION_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_GEOLOCATION_CLOSE, null); break; } case USER_CONFIRM_NOTIFICATION: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_NOTIFICATION_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_NOTIFICATION_CLOSE, null); break; } case USER_SCRIPT_ALERT: { - GetOwner()->SendUserEvent(ID_USER_SCRIPT_ALERT_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_SCRIPT_ALERT_CLOSE, null); + break; + } + case USER_SCRIPT_CONFIRM: + { + __pImpl->SendUserEvent(ID_USER_SCRIPT_CONFIRM_CLOSE, null); break; } default: @@ -372,6 +383,12 @@ CATCH: ewk_view_javascript_alert_reply(pView); break; } + case USER_SCRIPT_CONFIRM: + { + Evas_Object* pView = reinterpret_cast< Evas_Object* >(__pUserPolicyData); + ewk_view_javascript_confirm_reply(pView, allow); + break; + } case USER_CONFIRM_APP_CACHE: { Evas_Object *pObj = reinterpret_cast< Evas_Object* >(__pUserPolicyData); @@ -500,7 +517,7 @@ _UserConfirmPopup::RegisterHandler(bool checkHandler, Eina_Bool allow) bool _UserConfirmPopup::OnKeyPressed(Control& source, const KeyEventInfo& keyEventInfo) { - return true; + return false; } bool @@ -521,22 +538,27 @@ _UserConfirmPopup::OnKeyReleased(Control& source, const KeyEventInfo& keyEventIn { case USER_CONFIRM_USERMEDIA: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_USERMEDIA_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_USERMEDIA_CLOSE, null); break; } case USER_CONFIRM_GEOLOCATION: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_GEOLOCATION_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_GEOLOCATION_CLOSE, null); break; } case USER_CONFIRM_NOTIFICATION: { - GetOwner()->SendUserEvent(ID_USER_CONFIRM_NOTIFICATION_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_CONFIRM_NOTIFICATION_CLOSE, null); break; } case USER_SCRIPT_ALERT: { - GetOwner()->SendUserEvent(ID_USER_SCRIPT_ALERT_CLOSE, null); + __pImpl->SendUserEvent(ID_USER_SCRIPT_ALERT_CLOSE, null); + break; + } + case USER_SCRIPT_CONFIRM: + { + __pImpl->SendUserEvent(ID_USER_SCRIPT_CONFIRM_CLOSE, null); break; } case USER_PROTOCOL_HANDLER: @@ -550,7 +572,7 @@ _UserConfirmPopup::OnKeyReleased(Control& source, const KeyEventInfo& keyEventIn SysAssert(false); } } - return true; + return false; } bool