[Tizen] Add WebView's JavascriptMessageHandler callback 37/315737/1 accepted/tizen/8.0/unified/20240809.180150
authordongsug.song <dongsug.song@samsung.com>
Wed, 7 Aug 2024 06:28:09 +0000 (15:28 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Wed, 7 Aug 2024 06:29:54 +0000 (15:29 +0900)
- JavascriptMessageHandler callback which has two arguments of msg name and body

Change-Id: I4aadc9645fcab77124f1620c98e9475f3cdeca22

dali/devel-api/adaptor-framework/web-engine/web-engine-plugin.h
dali/devel-api/adaptor-framework/web-engine/web-engine.cpp
dali/devel-api/adaptor-framework/web-engine/web-engine.h
dali/internal/web-engine/common/web-engine-impl.cpp
dali/internal/web-engine/common/web-engine-impl.h

index 7b344199632cab46ef2888018f1309506a1b44b6..8dbd584bd575cbf7606a79d6a89911ce15f2dcb3 100755 (executable)
@@ -126,6 +126,11 @@ public:
    */
   using JavaScriptMessageHandlerCallback = std::function<void(const std::string&)>;
 
+  /**
+   * @brief Message result callback when JavaScript is executed with message name and body.
+   */
+  using JavaScriptEntireMessageHandlerCallback = std::function<void(const std::string&, const std::string&)>;
+
   /**
    * @brief Alert callback when JavaScript alert is called with a message.
    *  It returns true if a pop-up is created successfully, false otherwise.
@@ -489,6 +494,14 @@ public:
    */
   virtual void AddJavaScriptMessageHandler(const std::string& exposedObjectName, JavaScriptMessageHandlerCallback handler) = 0;
 
+  /**
+   * @brief Add a message handler into JavaScript.
+   *
+   * @param[in] exposedObjectName The name of exposed object
+   * @param[in] handler The callback function
+   */
+  virtual void AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, JavaScriptEntireMessageHandlerCallback handler) = 0;
+
   /**
    * @brief Register a callback for JavaScript alert.
    *
index 4d8fb89299165588452c18f7f7c5f42508d26b76..3549b507a699d4d93930b2ef3370ea17ce656e9e 100755 (executable)
@@ -270,6 +270,11 @@ void WebEngine::AddJavaScriptMessageHandler(const std::string& exposedObjectName
   GetImplementation(*this).AddJavaScriptMessageHandler(exposedObjectName, handler);
 }
 
+void WebEngine::AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler)
+{
+  GetImplementation(*this).AddJavaScriptEntireMessageHandler(exposedObjectName, handler);
+}
+
 void WebEngine::RegisterJavaScriptAlertCallback(Dali::WebEnginePlugin::JavaScriptAlertCallback callback)
 {
   GetImplementation(*this).RegisterJavaScriptAlertCallback(callback);
index bb62795db8142a3b8217ae0db6e013595aa2f6fd..8f8a8fb351cce2b2944ca267d5146e59430708a0 100755 (executable)
@@ -370,6 +370,14 @@ public:
    */
   void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler);
 
+  /**
+   * @brief Add a message handler into JavaScript.
+   *
+   * @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 a callback for JavaScript alert.
    *
index 2b557f1fae541561c6410c223665f4efa091e835..a96d227cbadbdce3aa9932b54a6829e6ef0e35a7 100644 (file)
@@ -530,6 +530,11 @@ void WebEngine::AddJavaScriptMessageHandler(const std::string& exposedObjectName
   mPlugin->AddJavaScriptMessageHandler(exposedObjectName, handler);
 }
 
+void WebEngine::AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler)
+{
+  mPlugin->AddJavaScriptEntireMessageHandler(exposedObjectName, handler);
+}
+
 void WebEngine::ClearAllTilesResources()
 {
   mPlugin->ClearAllTilesResources();
index e356133174d2f093985c69c4d4451ffbbfb53e8d..3e18f8d9f3f398b9474f7abe323fc0fbd40a5004 100755 (executable)
@@ -307,6 +307,11 @@ public:
    */
   void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler);
 
+  /**
+   * @copydoc Dali::WebEngine::AddJavaScriptEntireMessageHandler()
+   */
+  void AddJavaScriptEntireMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptEntireMessageHandlerCallback handler);
+
   /**
    * @copydoc Dali::WebEngine::ClearAllTilesResources()
    */