INTERNAL_SERVER ///< Web server has an internal server error.
};
- /**
- * @brief WebView signal type related with page loading.
- */
- typedef Signal<void(WebView, const std::string&)> WebViewPageLoadSignalType;
-
- /**
- * @brief WebView signal type related with page loading error.
- */
- typedef Signal<void(WebView, const std::string&, LoadErrorCode)> WebViewPageLoadErrorSignalType;
-
- /**
- * @brief WebView signal type related with scroll edge reached.
- */
- typedef Signal<void(WebView, Dali::WebEnginePlugin::ScrollEdge)> WebViewScrollEdgeReachedSignalType;
-
public:
/**
* @brief Creates an initialized WebView.
Dali::Toolkit::WebBackForwardList* GetBackForwardList() const;
/**
- * @brief Get Favicon of web page.
+ * @brief Get favicon of web page.
*
- * @return Handle to a fav icon
+ * @return Handle to a favicon
*/
- Dali::Toolkit::ImageView& GetFavicon();
+ Dali::Toolkit::ImageView GetFavicon() const;
/**
* @brief Loads a web page based on a given URL.
* @param[in] script The JavaScript code
* @param[in] resultHandler The callback function to be called by the JavaScript runtime. This carries evaluation result.
*/
- void EvaluateJavaScript(const std::string& script, std::function<void(const std::string&)> resultHandler);
+ void EvaluateJavaScript(const std::string& script, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback resultHandler);
/**
* @brief Evaluates JavaScript code represented as a string.
* @param[in] exposedObjectName The name of exposed object
* @param[in] handler The callback function
*/
- void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function<void(const std::string&)> handler);
+ void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler);
/**
* @brief Clears all tiles resources of Web.
void ClearHistory();
/**
- * @brief Connects to this signal to be notified when page loading is started.
+ * @brief Set or unset TTS focus of the webview.
+ * @param[in] focused True if it is gained, false lost.
+ * @note It only works when the webview does not have keyinput focus. If it has keyinput focus, the TTS focus is set automatically.
+ */
+ void SetTtsFocus(bool focused);
+
+ /**
+ * @brief Callback to be called when page loading is started.
+ *
+ * @param[in] callback
+ */
+ void RegisterPageLoadStartedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback);
+
+ /**
+ * @brief Callback to be called when page loading is finished.
+ *
+ * @param[in] callback
+ */
+ void RegisterPageLoadFinishedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback);
+
+ /**
+ * @brief Callback to be called when an error occurs in page loading.
*
- * @return A signal object to connect with
+ * @param[in] callback
*/
- WebViewPageLoadSignalType& PageLoadStartedSignal();
+ void RegisterPageLoadErrorCallback(Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback callback);
/**
- * @brief Connects to this signal to be notified when page loading is finished.
+ * @brief Callback to be called when scroll edge is reached.
*
- * @return A signal object to connect with
+ * @param[in] callback
*/
- WebViewPageLoadSignalType& PageLoadFinishedSignal();
+ void RegisterScrollEdgeReachedCallback(Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback callback);
/**
- * @brief Connects to this signal to be notified when an error occurs in page loading.
+ * @brief Callback to be called when navigation policy would be decided.
*
- * @return A signal object to connect with.
+ * @param[in] callback
*/
- WebViewPageLoadErrorSignalType& PageLoadErrorSignal();
+ void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback);
/**
- * @brief Connects to this signal to be notified when scroll edge is reached.
+ * @brief Get a plain text of current web page asynchronously.
*
- * @return A signal object to connect with.
+ * @param[in] callback The callback function called asynchronously.
*/
- WebViewScrollEdgeReachedSignalType& ScrollEdgeReachedSignal();
+ void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback);
public: // Not intended for application developers
/// @cond internal