: __certPopupMode(CERTIFICATE_POPUP_MODE_USER_CONFIRM)
, __confirm(false)
, __pCertificatePolicyData(null)
+ , __pImpl(null)
{
}
result
-_CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy)
+_CertificateConfirmPopup::Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy, Tizen::Web::Controls::_WebImpl* pImpl)
{
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);
+ if (pImpl == null)
+ {
+ __pImpl = pImpl;
+ }
+
ArrayList idList;
r = idList.Construct();
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
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, null);
SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
r = pCertificatePopup->ShowPopup();
{
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);
+ __pImpl->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null);
}
}
{
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);
+ __pImpl->SendUserEvent(ID_CERTIFICATE_CONFIRM_POPUP_CLOSE, null);
}
}
* @file FWebCtrl_UserConfirmPopup.cpp
* @brief The file contains the definition of _UserConfirmPopup class.
*/
+#include <EWebKit2.h>
#include <FAppApp.h>
#include <FBaseColArrayList.h>
#include <FBaseSysLog.h>
, __userConfirmMode(USER_CONFIRM_USERMEDIA)
, __pCheckButton(null)
, __sync(false)
+ , __pImpl(null)
{
}
_UserConfirmPopup::~_UserConfirmPopup(void)
{
+
if (IsModalPopup())
{
HandleUserAction(EINA_FALSE);
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.");
bool hasTitle = true;
int popupMaxHeight = 2*pPopupData->labelDim.height + pPopupData->btnDim.height + 2*pPopupData->sideMargin;
+ if (pImpl == null)
+ {
+ __pImpl = pImpl;
+ }
+
if (__userConfirmMode == USER_CONFIRM_GEOLOCATION)
{
popupMaxHeight += pPopupData->checkDim.height;
{
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;
}
default:
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);
{
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:
#include <FUiAnim_EflNode.h>
#include <FUiAnim_VisualElement.h>
#include <FUiCtrl_FooterImpl.h>
-#include <FUiCtrl_Form.h>
+#include <FUiCtrl_FormImpl.h>
#include "FWeb_HistoryItemImpl.h"
#include "FWebCtrl_AppControlListener.h"
#include "FWebCtrl_AuthConfirmPopup.h"
SysLog(NID_WEB_CTRL, "The current value of message is %s", pMessage);
result r = E_SUCCESS;
+ _WebImpl* pImpl = reinterpret_cast< _WebImpl* >(pUserData);
String msg(pMessage);
- MessageBox messageBox;
- r = messageBox.Construct(L"", msg, MSGBOX_STYLE_OKCANCEL);
- SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, EINA_FALSE, r, "[%s] Propagating.", GetErrorMessage(r));
-
- int modalResult = 0;
-
- r = messageBox.ShowAndWait(modalResult);
+ r = pImpl->ShowUserConfirmPopup(USER_SCRIPT_CONFIRM, pView, msg);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, EINA_FALSE, r, "[%s] Propagating.", GetErrorMessage(r));
- if (modalResult == MSGBOX_RESULT_OK)
- {
- ewk_view_javascript_confirm_reply(pView, EINA_TRUE);
- }
- else
- {
- ewk_view_javascript_confirm_reply(pView, EINA_FALSE);
- }
-
return EINA_TRUE;
}
Ewk_Certificate_Policy_Decision* pPolicy = reinterpret_cast< Ewk_Certificate_Policy_Decision* >(pEventInfo);
SysAssertf(pImpl && pPolicy, "Failed to request");
+ _Web* pWebCore = dynamic_cast< _Web* >(&(pImpl->GetCore()));
+
switch (pImpl->GetSetting().GetCertificateErrorHandlingMode())
{
case WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM:
{
r = pImpl->ShowCertificateConfirmPopup(CERTIFICATE_POPUP_MODE_USER_CONFIRM, pPolicy);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
+
+ ewk_view_resume(pWebCore->GetWebNativeNode());
}
if (pImpl)
ewk_certificate_policy_decision_allowed_set(pPolicy, EINA_FALSE);
pImpl->SetCertificateConfirmed(false);
pImpl->SetCertificateRequested(true);
+
+ ewk_view_resume(pWebCore->GetWebNativeNode());
}
return;
}
- _Form* pFormCore = pImpl->GetParentFormCore(dynamic_cast< _Control* >(&pImpl->GetCore()));
- if (pFormCore)
+ _FormImpl* pFormImpl = pImpl->GetParentFormImpl(dynamic_cast< _ControlImpl* >(pImpl));
+ if (pFormImpl)
{
- pFormCore->DeflateClientRectHeight(pXformer->TransformVertical(rect.height));
+ pFormImpl->DeflateClientRectHeight(pXformer->TransformVertical(rect.height));
- if (pFormCore->HasFooter())
+ if (pFormImpl->HasFooter())
{
- pFormCore->SetKeypadShowState(true);
- pFormCore->Draw();
+ pFormImpl->GetCore().SetKeypadShowState(true);
+ pFormImpl->Draw();
}
}
_WebImpl* pImpl = reinterpret_cast< _WebImpl* >(pUserData);
SysAssertf(pImpl, "Failed to request");
- _Form* pFormCore = pImpl->GetParentFormCore(dynamic_cast< _Control* >(&pImpl->GetCore()));
- if (pFormCore)
+ _FormImpl* pFormImpl = pImpl->GetParentFormImpl(dynamic_cast< _ControlImpl* >(pImpl));
+ if (pFormImpl)
{
- pFormCore->DeflateClientRectHeight(0);
+ pFormImpl->DeflateClientRectHeight(0);
- if (pFormCore->HasFooter())
+ if (pFormImpl->HasFooter())
{
- pFormCore->SetKeypadShowState(false);
- pFormCore->Draw();
+ pFormImpl->GetCore().SetKeypadShowState(false);
+ pFormImpl->Draw();
}
}
, __pGeolocationConfirmPopup(null)
, __pNotificationConfirmPopup(null)
, __pScriptAlertConfirmPopup(null)
+ , __pScriptConfirmPopup(null)
, __pAppCacheConfirmPopup(null)
, __pDbQuotaConfirmPopup(null)
, __pLocalFsQuotaConfirmPopup(null)
, __policy(WEB_DECISION_CONTINUE)
, __defaultUserAgent(L"")
, __pFormDataList(null)
+ , __popupClosed(false)
{
__textSearch.__searchAll = false;
__textSearch.__searchForward = true;
std::unique_ptr<_CertificateConfirmPopup> pCertConfirmPopup(new (std::nothrow) _CertificateConfirmPopup());
SysTryReturnResult(NID_WEB_CTRL, pCertConfirmPopup.get(), E_OUT_OF_MEMORY, "Memory Allocation failed.");
- r = pCertConfirmPopup->Construct(userConfirmMode, pPolicy);
+ r = pCertConfirmPopup->Construct(userConfirmMode, pPolicy, this);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pCertConfirmPopup = std::move(pCertConfirmPopup);
std::unique_ptr<_UserConfirmPopup> pUserConfirmPopup(new (std::nothrow) _UserConfirmPopup());
SysTryReturnResult(NID_WEB_CTRL, pUserConfirmPopup.get(), E_OUT_OF_MEMORY, "Memory Allocation failed.");
- r = pUserConfirmPopup->Construct(userConfirmMode, pPolicy, true, msg);
+ r = pUserConfirmPopup->Construct(userConfirmMode, pPolicy, this, true, msg);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
int modalResult = 0;
{
case USER_CONTENT_HANDLER:
{
- __pContentHandlerConfirmPopup.reset();
-
__pContentHandlerConfirmPopup = std::move(pUserConfirmPopup);
r = __pContentHandlerConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pContentHandlerConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pContentHandlerConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
case USER_PROTOCOL_HANDLER:
{
- __pProtocolHandlerConfirmPopup.reset();
-
__pProtocolHandlerConfirmPopup = std::move(pUserConfirmPopup);
r = __pProtocolHandlerConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pProtocolHandlerConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pProtocolHandlerConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
case USER_CONFIRM_APP_CACHE:
{
- __pAppCacheConfirmPopup.reset();
-
__pAppCacheConfirmPopup = std::move(pUserConfirmPopup);
r = __pAppCacheConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pAppCacheConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pAppCacheConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
case USER_CONFIRM_DB_QUOTA_EXCEDED:
{
- __pDbQuotaConfirmPopup.reset();
-
__pDbQuotaConfirmPopup = std::move(pUserConfirmPopup);
r = __pDbQuotaConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pDbQuotaConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pDbQuotaConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
case USER_CONFIRM_LOCAL_FS_QUOTA_EXCEDED:
{
- __pLocalFsQuotaConfirmPopup.reset();
-
__pLocalFsQuotaConfirmPopup = std::move(pUserConfirmPopup);
r = __pLocalFsQuotaConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pLocalFsQuotaConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pLocalFsQuotaConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
case USER_CONFIRM_INDEXED_DB_QUOTA_EXCEDED:
{
- __pIndexedDbQuotaConfirmPopup.reset();
-
__pIndexedDbQuotaConfirmPopup = std::move(pUserConfirmPopup);
r = __pIndexedDbQuotaConfirmPopup->ShowAndWait(modalResult);
SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pIndexedDbQuotaConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pIndexedDbQuotaConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
+ break;
+ }
+ case USER_SCRIPT_CONFIRM:
+ {
+ __pScriptConfirmPopup = std::move(pUserConfirmPopup);
+
+ r = __pScriptConfirmPopup->ShowAndWait(modalResult);
+ SysTryCatch(NID_WEB_CTRL, r == E_SUCCESS, __pScriptConfirmPopup.reset(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pScriptConfirmPopup.reset();
+
+ ewk_view_resume(__pWebCore->GetWebNativeNode());
+
break;
}
default:
std::unique_ptr<_UserConfirmPopup> pUserConfirmPopup(new (std::nothrow) _UserConfirmPopup());
SysTryReturnResult(NID_WEB_CTRL, pUserConfirmPopup.get(), E_OUT_OF_MEMORY, "Memory Allocation failed.");
- r = pUserConfirmPopup->Construct(userConfirmMode, pPolicy, false, msg);
+ r = pUserConfirmPopup->Construct(userConfirmMode, pPolicy, this, false, msg);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
switch(userConfirmMode)
}
-_Form*
-_WebImpl::GetParentFormCore(_Control* pControlCore)
+_FormImpl*
+_WebImpl::GetParentFormImpl(_ControlImpl* pControlImpl)
{
String parentName;
- _Form* pFormCore = null;
+ _FormImpl* pFormImpl = null;
- _Control* pParentControlCore = dynamic_cast< _Control* >(pControlCore->GetParent());
- if (!pParentControlCore)
+ _ControlImpl* pParentControlImpl = dynamic_cast< _ControlImpl* >(pControlImpl->GetParent());
+ if (!pParentControlImpl)
{
return null;
}
- pFormCore = dynamic_cast< _Form* >(pParentControlCore);
- if (pFormCore)
+ pFormImpl = dynamic_cast< _FormImpl* >(pParentControlImpl);
+ if (pFormImpl)
{
- return pFormCore;
+ return pFormImpl;
}
- return GetParentFormCore(pParentControlCore);
+ return GetParentFormImpl(pParentControlImpl);
}
{
result r = E_SUCCESS;
+ if (IsVisible() == true)
+ {
+ _WebManager* pWebManager = _WebManager::GetInstance();
+ pWebManager->SetActiveWeb(this);
+ }
+
r = __pWebCore->InitializeWebNativeNode();
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
void
_WebImpl::OnAncestorVisibleStateChanged(const _Control& control)
{
+ _WebManager* pWebManager = _WebManager::GetInstance();
if (IsVisible() == true)
{
+ pWebManager->SetActiveWeb(this);
ewk_view_page_visibility_state_set(__pWebCore->GetWebNativeNode(), EWK_PAGE_VISIBILITY_STATE_VISIBLE, false);
}
else
{
+ pWebManager->RemoveActiveWeb(this);
ewk_view_page_visibility_state_set(__pWebCore->GetWebNativeNode(), EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
}
}
_WebImpl::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
{
_ContainerImpl::OnUserEventReceivedN(requestId, pArgs);
-
+
switch (requestId)
{
case ID_CERTIFICATE_CONFIRM_POPUP_CLOSE:
case ID_USER_SCRIPT_ALERT_CLOSE:
__pScriptAlertConfirmPopup.reset();
break;
+ case ID_USER_SCRIPT_CONFIRM_CLOSE:
+ __pScriptConfirmPopup.reset();
+ break;
default:
break;
}
*/\r
\r
#include <FBaseSysLog.h>\r
+#include <FUiControl.h>\r
+#include <FUiCtrl_FormImpl.h>\r
#include "FWebCtrl_WebImpl.h"\r
#include "FWebCtrl_WebManager.h"\r
+#include "FWebCtrl_WebPopup.h"\r
\r
using namespace Tizen::Base;\r
using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
\r
namespace Tizen { namespace Web { namespace Controls\r
{\r
_WebManager::_WebManager(void)\r
: __pWebList(null)\r
, __pCallbackList(null)\r
+ , __pActiveWeb(null)\r
+ , __pActivePopup(null)\r
{\r
}\r
\r
return ret;\r
}\r
\r
+void\r
+_WebManager::SetActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress)\r
+{\r
+ if (__pActiveWeb == null)\r
+ {\r
+ __pActiveWeb = pWebAddress;\r
+ }\r
+ else\r
+ {\r
+ if (__pActiveWeb->IsVisible() == true)\r
+ {\r
+ return;\r
+ }\r
+ __pActiveWeb = pWebAddress;\r
+ }\r
+\r
+ if (__pActivePopup != null)\r
+ {\r
+ __pActivePopup->SetShowState(false);\r
+\r
+ _FormImpl* pFormImpl = __pActiveWeb->GetParentFormImpl(__pActiveWeb);\r
+\r
+ if (pFormImpl != null)\r
+ {\r
+ __pActivePopup->SetOwner(&pFormImpl->GetPublic());\r
+ }\r
+ else\r
+ {\r
+ __pActivePopup->SetOwner(&__pActiveWeb->GetPublic());\r
+ }\r
+\r
+ __pActivePopup->SetShowState(true);\r
+ __pActivePopup->Show();\r
+ }\r
+\r
+}\r
+\r
+void\r
+_WebManager::RemoveActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress)\r
+{\r
+ if (__pActiveWeb == pWebAddress)\r
+ {\r
+ __pActiveWeb = null;\r
+ }\r
+}\r
+\r
+void\r
+_WebManager::SetActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress)\r
+{\r
+ __pActivePopup = pPopupAddress;\r
+}\r
+\r
+void\r
+_WebManager::RemoveActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress)\r
+{\r
+ if (__pActivePopup == pPopupAddress)\r
+ {\r
+ __pActivePopup = null;\r
+ }\r
+}\r
+\r
} } }\r
namespace Tizen { namespace Web { namespace Controls\r
{\r
class _WebImpl;\r
+class _WebPopup;\r
\r
class _WebManager\r
: public Tizen::Base::Object\r
result RemoveCallback(int callerAdress, int callbackAdress);\r
bool IsValidCallback(int callerAdress, int callbackAdress) const;\r
\r
+ void SetActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress);\r
+ void RemoveActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress);\r
+ void SetActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress);\r
+ void RemoveActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress);\r
+\r
private:\r
_WebManager(void);\r
_WebManager(const _WebManager& rhs);\r
private:\r
std::unique_ptr<Tizen::Base::Collection::ArrayListT< int > > __pWebList;\r
std::unique_ptr<Tizen::Base::Collection::MultiHashMapT< int, int > > __pCallbackList;\r
+\r
+ _WebImpl* __pActiveWeb;\r
+ _WebPopup* __pActivePopup;\r
};\r
\r
} } }\r
#endif\r
\r
-
\ No newline at end of file
+ \r
#include <FUiCtrlPanel.h>
#include <FUiVerticalBoxLayout.h>
#include <FUi_ResourceManager.h>
+#include "FWebCtrl_WebManager.h"
#include "FWebCtrl_WebPopup.h"
_WebPopup::~_WebPopup(void)
{
+ _WebManager* pWebManager = _WebManager::GetInstance();
+ pWebManager->RemoveActivePopup(this);
+
if (IsModalPopup() == true)
{
HidePopup(0);
if (__isModal)
{
+ _WebManager* pWebManager = _WebManager::GetInstance();
+ pWebManager->RemoveActivePopup(this);
+
__modal = modalResult;
__isModal = false;
result
_WebPopup::ShowAndWait(int& modalResult)
{
+ _WebManager* pWebManager = _WebManager::GetInstance();
+ pWebManager->SetActivePopup(this);
+
__isModal = true;
return DoModal(modalResult);
namespace Tizen { namespace Web { namespace Controls
{
+class _WebImpl;
enum _IdButtonCertificatePopup
{
*/
virtual ~_CertificateConfirmPopup(void);
- result Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy);
+ result Construct(_CertificatePopupMode certPopupMode, Ewk_Certificate_Policy_Decision* pPolicy, Tizen::Web::Controls::_WebImpl* pImpl);
void HandleUserAction(bool allow);
bool __confirm;
Ewk_Certificate_Policy_Decision* __pCertificatePolicyData;
+ Tizen::Web::Controls::_WebImpl* __pImpl;
}; // _CertificateConfirmPopup
}}} // Tizen::Web::Controls
namespace Tizen { namespace Web { namespace Controls
{
+class _WebImpl;
enum _UserConfirmPopupButtonId
{
USER_CONFIRM_GEOLOCATION,
USER_CONFIRM_NOTIFICATION,
USER_SCRIPT_ALERT,
+ USER_SCRIPT_CONFIRM,
USER_CONFIRM_APP_CACHE,
USER_CONFIRM_DB_QUOTA_EXCEDED,
USER_CONFIRM_LOCAL_FS_QUOTA_EXCEDED,
*/
virtual ~_UserConfirmPopup(void);
- result Construct(_UserConfirmMode userConfirmMode, void* pEventInfo, bool sync = false, Tizen::Base::String msg = L"");
+ result Construct(_UserConfirmMode userConfirmMode, void* pEventInfo, Tizen::Web::Controls::_WebImpl* pImpl, bool sync = false, Tizen::Base::String msg = L"");
virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
Tizen::Ui::Controls::CheckButton* __pCheckButton;
bool __sync;
+ Tizen::Web::Controls::_WebImpl* __pImpl;
}; // _UserConfirmPopup
}}} // Tizen::Web::Controls
namespace Tizen { namespace Ui
{
-class Contorl;
-class _Contorl;
-class _ContorlImpl;
+class Control;
+class _Control;
+class _ControlImpl;
}} // Tizen::Ui
namespace Tizen { namespace Ui { namespace Controls
{
class Keypad;
-class _Form;
+class _FormImpl;
}}} // Tizen::Ui::Controls
namespace Tizen { namespace Web { namespace Json
ID_USER_CONFIRM_USERMEDIA_CLOSE,
ID_USER_CONFIRM_GEOLOCATION_CLOSE,
ID_USER_CONFIRM_NOTIFICATION_CLOSE,
- ID_USER_SCRIPT_ALERT_CLOSE
+ ID_USER_SCRIPT_ALERT_CLOSE,
+ ID_USER_SCRIPT_CONFIRM_CLOSE
};
class _OSP_EXPORT_ _WebImpl
result ShowUserConfirmPopup(_UserConfirmMode userConfirmMode, void* pPolicy, Tizen::Base::String msg = L"");
result ShowUserConfirmPopupAsync(_UserConfirmMode userConfirmMode, void* pPolicy, Tizen::Base::String msg = L"");
- Tizen::Ui::Controls::_Form* GetParentFormCore(Tizen::Ui::_Control* pControlCore);
+ Tizen::Ui::Controls::_FormImpl* GetParentFormImpl(Tizen::Ui::_ControlImpl* pControlImpl);
result ShowSelectBoxPopup(bool isMultiSelect, const Tizen::Base::String& title, Eina_List* pItems, Evas_Object* pWebView, int selectedIndex);
result UpdateSelectBoxPopup(Eina_List* pItems, int selectedIndex, bool isGroupedList);
std::unique_ptr<_UserConfirmPopup> __pGeolocationConfirmPopup;
std::unique_ptr<_UserConfirmPopup> __pNotificationConfirmPopup;
std::unique_ptr<_UserConfirmPopup> __pScriptAlertConfirmPopup;
+ std::unique_ptr<_UserConfirmPopup> __pScriptConfirmPopup;
std::unique_ptr<_UserConfirmPopup> __pAppCacheConfirmPopup;
std::unique_ptr<_UserConfirmPopup> __pDbQuotaConfirmPopup;
std::unique_ptr<_UserConfirmPopup> __pLocalFsQuotaConfirmPopup;
Tizen::Base::String __defaultUserAgent;
Eina_List* __pFormDataList;
+
+ bool __popupClosed;
}; // _WebImpl
}}} // Tizen::Web::Controls