Merge "Add a callback for navigation policy in web engine." into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / devel-api / adaptor-framework / web-engine-plugin.h
old mode 100755 (executable)
new mode 100644 (file)
index 69027c2..7a8aa63
  */
 
 // EXTERNAL INCLUDES
+#include <dali/public-api/images/native-image-interface.h>
+#include <dali/public-api/math/rect.h>
+#include <dali/public-api/signals/dali-signal.h>
 #include <functional>
 #include <memory>
 
 // INTERNAL INCLUDES
 #include <dali/devel-api/adaptor-framework/web-engine-hit-test.h>
 #include <dali/devel-api/common/bitwise-enum.h>
-#include <dali/public-api/images/native-image-interface.h>
-#include <dali/public-api/math/rect.h>
-#include <dali/public-api/signals/dali-signal.h>
+#include <dali/public-api/adaptor-framework/native-image-source.h>
 
 namespace Dali
 {
@@ -45,7 +46,6 @@ class WebEngineHitTest;
 class WebEngineHttpAuthHandler;
 class WebEngineLoadError;
 class WebEnginePolicyDecision;
-class WebEngineRequestInterceptor;
 class WebEngineSettings;
 class HoverEvent;
 class WheelEvent;
@@ -104,11 +104,6 @@ public:
   using VideoPlayingCallback = std::function<void(bool)>;
 
   /**
-   * @brief WebView callback related with http request interceptor.
-   */
-  using WebEngineRequestInterceptorCallback = std::function<void(std::unique_ptr<Dali::WebEngineRequestInterceptor>)>;
-
-  /**
    * @brief WebView callback related with console message logged.
    */
   using WebEngineConsoleMessageReceivedCallback = std::function<void(std::unique_ptr<Dali::WebEngineConsoleMessage>)>;
@@ -173,11 +168,21 @@ public:
   using WebEngineResponsePolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
 
   /**
+   * @brief WebView callback related with navigation policy would be decided.
+   */
+  using WebEngineNavigationPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
+
+  /**
    * @brief Hit test callback called after hit test is created asynchronously.
    */
   using WebEngineHitTestCreatedCallback = std::function<bool(std::unique_ptr<Dali::WebEngineHitTest>)>;
 
   /**
+   * @brief The callback to be called when the web engine received a plain text of current web page.
+   */
+  using PlainTextReceivedCallback = std::function<void(const std::string&)>;
+
+  /**
    * @brief Enumeration for the scroll edge.
    */
   enum class ScrollEdge
@@ -283,7 +288,7 @@ public:
   /**
    * @brief Get image to render.
    */
-  virtual NativeImageInterfacePtr GetNativeImageSource() = 0;
+  virtual NativeImageSourcePtr GetNativeImageSource() = 0;
 
   /**
    * @brief Return the URL of the Web.
@@ -814,25 +819,25 @@ public:
   virtual void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) = 0;
 
   /**
-   * @brief Callback to be called when http request need be intercepted.
+   * @brief Callback to be called when console message will be logged.
    *
    * @param[in] callback
    */
-  virtual void RegisterRequestInterceptorCallback(WebEngineRequestInterceptorCallback callback) = 0;
+  virtual void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) = 0;
 
   /**
-   * @brief Callback to be called when console message will be logged.
+   * @brief Callback to be called when response policy would be decided.
    *
    * @param[in] callback
    */
-  virtual void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) = 0;
+  virtual void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) = 0;
 
   /**
-   * @brief Callback to be called when response policy would be decided.
+   * @brief Callback to be called when navigation policy would be decided.
    *
    * @param[in] callback
    */
-  virtual void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) = 0;
+  virtual void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) = 0;
 
   /**
    * @brief Callback to be called when certificate need be confirmed.
@@ -868,6 +873,13 @@ public:
    * @param[in] callback
    */
   virtual void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) = 0;
+
+  /**
+   * @brief Get a plain text of current web page asynchronously.
+   *
+   * @param[in] callback The callback function called asynchronously.
+   */
+  virtual void GetPlainTextAsynchronously(PlainTextReceivedCallback callback) = 0;
 };
 
 // specialization has to be done in the same namespace