#define DALI_WEB_ENGINE_PLUGIN_H
/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
using WebEngineNavigationPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
/**
+ * @brief WebView callback related with new window policy would be decided.
+ */
+ using WebEngineNewWindowPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
+
+ /**
* @brief WebView callback related with a new window would be created.
*/
using WebEngineNewWindowCreatedCallback = std::function<void(Dali::WebEnginePlugin*&)>;
using WebEngineHitTestCreatedCallback = std::function<bool(std::unique_ptr<Dali::WebEngineHitTest>)>;
/**
+ * @brief WebView callback called after fullscreen is entered.
+ */
+ using WebEngineFullscreenEnteredCallback = std::function<void(void)>;
+
+ /**
+ * @brief WebView callback called after fullscreen is exited.
+ */
+ using WebEngineFullscreenExitedCallback = std::function<void(void)>;
+
+ /**
+ * @brief WebView callback called after text is found.
+ */
+ using WebEngineTextFoundCallback = std::function<void(uint32_t)>;
+
+ /**
* @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&)>;
*
* @return true if successfully request, false otherwise
*/
- virtual bool LoadContents(const std::string& contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) = 0;
+ virtual bool LoadContents(const int8_t* contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) = 0;
/**
* @brief Reload the Web.
virtual bool SendWheelEvent(const WheelEvent& event) = 0;
/**
+ * @brief Exit fullscreen.
+ */
+ virtual void ExitFullscreen() = 0;
+
+ /**
* @brief Callback to be called when frame would be rendered.
*
* @param[in] callback
virtual void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) = 0;
/**
+ * @brief Callback to be called when new window policy would be decided.
+ *
+ * @param[in] callback
+ */
+ virtual void RegisterNewWindowPolicyDecidedCallback(WebEngineNewWindowPolicyDecidedCallback callback) = 0;
+
+ /**
* @brief Callback to be called when a new window would be created.
*
* @param[in] callback
virtual void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) = 0;
/**
+ * @brief Callback to be called when fullscreen would be entered.
+ *
+ * @param[in] callback
+ */
+ virtual void RegisterFullscreenEnteredCallback(WebEngineFullscreenEnteredCallback callback) = 0;
+
+ /**
+ * @brief Callback to be called when fullscreen would be exited.
+ *
+ * @param[in] callback
+ */
+ virtual void RegisterFullscreenExitedCallback(WebEngineFullscreenExitedCallback callback) = 0;
+
+ /**
+ * @brief Callback to be called when text would be found.
+ *
+ * @param[in] callback
+ */
+ virtual void RegisterTextFoundCallback(WebEngineTextFoundCallback callback) = 0;
+
+ /**
* @brief Get a plain text of current web page asynchronously.
*
* @param[in] callback The callback function called asynchronously.