From 85c60fbf57213eb5c4e8623f563aef830b21494f Mon Sep 17 00:00:00 2001 From: Jiyun Yang Date: Wed, 21 Aug 2024 13:32:51 +0900 Subject: [PATCH] Update WebView related modifications at once the following is the list of squashed 4 patches Fix VOA crash issue This reverts commit 199adec5b55d802ea0627c04066fc5d2230675c9. Change-Id: If810560a60bba309f9bb9dd94bc23c793622f396 Update WebView changes from tizen_7.0 This reverts commit 46fd5440938949a62af9636cc26beeb686fe8125. Change-Id: I958adfbf078a631ab9ab9df95f99fe264d329907 Add WebView Certificate policy decision error get and suspend Change-Id: I3f27591869684e4743add0fc5d036d9f7e53733c Add WebView's JavascriptMessageHandler callback - JavascriptMessageHandler callback which has two arguments of msg name and body Change-Id: Ib4ee5144411e248ec4cd15c6d0e8b2ffe762d663 --- .../dali-toolkit/web-view-wrap.cpp | 138 ++++++++++++++++++ .../widget-view-manager-wrap.cpp | 21 +++ .../widget-viewer-dali/widget-view-wrap.cpp | 44 ++++++ 3 files changed, 203 insertions(+) diff --git a/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp b/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp index 05702ac3..8a606b1b 100755 --- a/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp +++ b/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp @@ -225,6 +225,16 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_GetBackForwardList(void * jarg return jresult; } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ChangeOrientation(void * jarg1, int orientation) { + Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)jarg1; + + { + try { + arg1->ChangeOrientation(orientation); + } CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_GetSettings(void * jarg1) { void * jresult; Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0; @@ -636,6 +646,25 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_AddJavaScriptMessageHandler(void } } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_AddJavaScriptEntireMessageHandler(void * jarg1, char * jarg2, void * jarg3) { + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0); + return; + } + + Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1; + std::string exposedObjectName = jarg2; + void (*handler)(char*, char*) = (void (*)(char*, char*))jarg3; + + { + try { + webview->AddJavaScriptEntireMessageHandler(exposedObjectName, [handler](const std::string &messageName, const std::string &messageBody) { + handler(SWIG_csharp_string_callback(messageName.c_str()), SWIG_csharp_string_callback(messageBody.c_str())); + }); + } CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterJavaScriptAlertCallback(void * jarg1, void * jarg2) { Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1; bool (*handler)(const char*) = (bool (*)(const char*))jarg2; @@ -752,6 +781,17 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebView_CreateHitTestAsynchronously(void return result; } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ExitFullscreen(void * jarg1) { + Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0; + + arg1 = (Dali::Toolkit::WebView*)jarg1; + { + try { + (arg1)->ExitFullscreen(); + } CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ClearHistory(void * jarg1) { Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0; @@ -1124,6 +1164,25 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNavigationPolicyDecidedC } } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNewWindowPolicyDecidedCallback(void * jarg1, void * jarg2) { + Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1; + void (*handler)(Dali::WebEnginePolicyDecision*) = (void (*)(Dali::WebEnginePolicyDecision*))jarg2; + { + try { + if (handler) + { + (arg1)->RegisterNewWindowPolicyDecidedCallback([handler](std::unique_ptr decision) { + handler(decision.release()); + }); + } + else + { + (arg1)->RegisterNewWindowPolicyDecidedCallback(nullptr); + } + } CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNewWindowCreatedCallback(void * jarg1, void * jarg2) { Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1; void (*handler)(Dali::Toolkit::WebView*&) = (void (*)(Dali::Toolkit::WebView*&))jarg2; @@ -1243,6 +1302,63 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterContextMenuHiddenCallbac } } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterFullscreenEnteredCallback(void * jarg1, void * jarg2) { + Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1; + void (*handler)(void) = (void (*)(void))jarg2; + { + try { + if (handler) + { + (arg1)->RegisterFullscreenEnteredCallback([handler](void) { + handler(); + }); + } + else + { + (arg1)->RegisterFullscreenEnteredCallback(nullptr); + } + } CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterFullscreenExitedCallback(void * jarg1, void * jarg2) { + Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1; + void (*handler)(void) = (void (*)(void))jarg2; + { + try { + if (handler) + { + (arg1)->RegisterFullscreenExitedCallback([handler](void) { + handler(); + }); + } + else + { + (arg1)->RegisterFullscreenExitedCallback(nullptr); + } + } CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterTextFoundCallback(void * jarg1, void * jarg2) { + Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1; + void (*handler)(uint32_t) = (void (*)(uint32_t))jarg2; + { + try { + if (handler) + { + (arg1)->RegisterTextFoundCallback([handler](uint32_t count) { + handler(count); + }); + } + else + { + (arg1)->RegisterTextFoundCallback(nullptr); + } + } CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_GetPlainTextAsynchronously(void * nuiWebView, void * nuiCallback) { Dali::Toolkit::WebView *webview = (Dali::Toolkit::WebView *)nuiWebView; void (*handler)(const char*) = (void (*)(const char*))nuiCallback; @@ -1542,6 +1658,28 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebCertificate_IsContextSecure(void * ja return ret; } +SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WebCertificate_GetPolicyDecisionError(void * jarg1) { + Dali::WebEngineCertificate* arg1 = (Dali::WebEngineCertificate*)jarg1; + int ret = 1000; + { + try { + ret = (arg1)->GetPolicyDecisionError(); + } CALL_CATCH_EXCEPTION(1000); + } + return ret; +} + +SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebCertificate_SuspendPolicyDecision(void * jarg1) { + Dali::WebEngineCertificate* arg1 = (Dali::WebEngineCertificate*)jarg1; + bool ret = false; + { + try { + ret = (arg1)->SuspendPolicyDecision(); + } CALL_CATCH_EXCEPTION(0); + } + return ret; +} + //----------------------------------WebContext----------------------------------------------------- SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WebContext_GetCacheModel(void * jarg1) { Dali::WebEngineContext *arg1 = (Dali::WebEngineContext *)0; diff --git a/dali-csharp-binder/widget-viewer-dali/widget-view-manager-wrap.cpp b/dali-csharp-binder/widget-viewer-dali/widget-view-manager-wrap.cpp index efc20f44..de61c059 100755 --- a/dali-csharp-binder/widget-viewer-dali/widget-view-manager-wrap.cpp +++ b/dali-csharp-binder/widget-viewer-dali/widget-view-manager-wrap.cpp @@ -27,6 +27,27 @@ extern "C" { #endif + SWIGEXPORT Dali::BaseHandle *SWIGSTDCALL CSharp_Dali_WidgetViewManager_SWIGUpcast(Dali::WidgetView::WidgetViewManager *jarg1) + { + return (Dali::BaseHandle *)jarg1; + } + + SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_new_WidgetViewManager__SWIG_0() + { + void *jresult; + Dali::WidgetView::WidgetViewManager *result = 0; + + { + try + { + result = (Dali::WidgetView::WidgetViewManager *)new Dali::WidgetView::WidgetViewManager(); + } + CALL_CATCH_EXCEPTION(0); + } + + jresult = (void *)result; + return jresult; + } SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_WidgetViewManager_New(void *jarg1, char *jarg2) { diff --git a/dali-csharp-binder/widget-viewer-dali/widget-view-wrap.cpp b/dali-csharp-binder/widget-viewer-dali/widget-view-wrap.cpp index 4e1dcd3c..28db4701 100755 --- a/dali-csharp-binder/widget-viewer-dali/widget-view-wrap.cpp +++ b/dali-csharp-binder/widget-viewer-dali/widget-view-wrap.cpp @@ -42,6 +42,50 @@ extern "C" { #endif +SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_WidgetView_SWIGUpcast(Dali::WidgetView::WidgetView *jarg1) { + return (Dali::Toolkit::Control *)jarg1; +} + +SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetView_Property() { + void * jresult ; + Dali::WidgetView::WidgetView::Property *result = 0 ; + + { + try { + result = (Dali::WidgetView::WidgetView::Property *)new Dali::WidgetView::WidgetView::Property(); + } CALL_CATCH_EXCEPTION(0); + } + + jresult = (void *)result; + return jresult; +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WidgetView_Property(void * jarg1) { + Dali::WidgetView::WidgetView::Property *arg1 = (Dali::WidgetView::WidgetView::Property *) 0 ; + + arg1 = (Dali::WidgetView::WidgetView::Property *)jarg1; + { + try { + delete arg1; + } CALL_CATCH_EXCEPTION(); + } + +} + +SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetView__SWIG_0() { + void * jresult ; + Dali::WidgetView::WidgetView *result = 0 ; + + { + try { + result = (Dali::WidgetView::WidgetView *)new Dali::WidgetView::WidgetView(); + } CALL_CATCH_EXCEPTION(0); + } + + jresult = (void *)result; + return jresult; +} + SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WidgetView_Property_WIDGET_ID_get() { int jresult ; int result; -- 2.34.1