From: Jaehyun Cho Date: Tue, 27 Aug 2024 06:38:42 +0000 (+0900) Subject: [Tizen] Add WebView's JavascriptMessageHandler callback X-Git-Tag: accepted/tizen/unified/20240909.154217~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=efc68fb6d0d9da618df9af7a277af95667aec51e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Add WebView's JavascriptMessageHandler callback This reverts commit dbe9ada78c3e79a191504121fa68a245f69d0d6a. --- diff --git a/dali-toolkit/devel-api/controls/web-view/web-view.cpp b/dali-toolkit/devel-api/controls/web-view/web-view.cpp index 422acfd1d0..7900fc1d53 100755 --- a/dali-toolkit/devel-api/controls/web-view/web-view.cpp +++ b/dali-toolkit/devel-api/controls/web-view/web-view.cpp @@ -229,6 +229,11 @@ void WebView::AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::Toolkit::GetImpl(*this).AddJavaScriptMessageHandler(exposedObjectName, handler); } +void WebView::AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler) +{ + Dali::Toolkit::GetImpl(*this).AddJavaScriptEntireMessageHandler(exposedObjectName, handler); +} + void WebView::RegisterJavaScriptAlertCallback(Dali::WebEnginePlugin::JavaScriptAlertCallback callback) { Dali::Toolkit::GetImpl(*this).RegisterJavaScriptAlertCallback(callback); diff --git a/dali-toolkit/devel-api/controls/web-view/web-view.h b/dali-toolkit/devel-api/controls/web-view/web-view.h index 7585bab85f..6b5c5dd545 100755 --- a/dali-toolkit/devel-api/controls/web-view/web-view.h +++ b/dali-toolkit/devel-api/controls/web-view/web-view.h @@ -486,6 +486,14 @@ public: */ void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler); + /** + * @brief Inject a JavaScript object with a message handler into the WebView. + * + * @param[in] exposedObjectName The name of exposed object + * @param[in] handler The callback function + */ + void AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler); + /** * @brief Register alert callback for javascript. * diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp index 4c385e75e3..ff4665e71c 100644 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp @@ -532,6 +532,14 @@ void WebView::AddJavaScriptMessageHandler(const std::string& exposedObjectName, } } +void WebView::AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler) +{ + if(mWebEngine) + { + mWebEngine.AddJavaScriptEntireMessageHandler(exposedObjectName, std::move(handler)); + } +} + void WebView::RegisterJavaScriptAlertCallback(Dali::WebEnginePlugin::JavaScriptAlertCallback callback) { if(mWebEngine) diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.h b/dali-toolkit/internal/controls/web-view/web-view-impl.h index 0488471d4b..3a7ee88206 100644 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.h +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.h @@ -227,6 +227,11 @@ public: */ void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler); + /** + * @copydoc Dali::Toolkit::WebView::AddJavaScriptEntireMessageHandler() + */ + void AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler); + /** * @copydoc Dali::Toolkit::WebView::RegisterJavaScriptAlertCallback() */