From: dongsug.song Date: Wed, 7 Aug 2024 06:31:51 +0000 (+0900) Subject: [Tizen] Add WebView's JavascriptMessageHandler callback X-Git-Tag: accepted/tizen/unified/20240909.154229~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bd6669f19ebdfc002d712a7946e6320ee4718eb1;p=platform%2Fcore%2Fuifw%2Fdali-csharp-binder.git [Tizen] Add WebView's JavascriptMessageHandler callback - JavascriptMessageHandler callback which has two arguments of msg name and body Change-Id: Ib4ee5144411e248ec4cd15c6d0e8b2ffe762d663 --- 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;