From b2e34935dc8b09154b8cf0c6409dc44f2f6c1c3a Mon Sep 17 00:00:00 2001 From: Jaehyun Cho Date: Tue, 27 Aug 2024 15:46:24 +0900 Subject: [PATCH] [Tizen] Add WebView's JavascriptMessageHandler callback This reverts commit 14c43ba74c39b2a3e6a7624f2cc2f57315d03ee9. --- .../dali-toolkit/web-view-wrap.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp b/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp index 588b55f5..8a606b1b 100755 --- a/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp +++ b/dali-csharp-binder/dali-toolkit/web-view-wrap.cpp @@ -646,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; -- 2.34.1