X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fcontrols%2Fweb-view%2Fweb-view.h;h=4d90fbdb43c638eeb13c85aa046f03da53822192;hp=744425a39a3d4c8b84b24005b2058ba31afc1341;hb=e1dfa20fee127dd3bcfabf0c9f1aea6b5dd99f5e;hpb=b807334c86d7c65fb7b190553d1e24a465ac6de5 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 744425a..4d90fbd 100755 --- a/dali-toolkit/devel-api/controls/web-view/web-view.h +++ b/dali-toolkit/devel-api/controls/web-view/web-view.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_WEB_VIEW_H /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -24,7 +24,7 @@ // INTERNAL INCLUDES #include -#include +#include namespace Dali { @@ -33,9 +33,7 @@ namespace Toolkit class ImageView; class WebBackForwardList; class WebContext; -class WebContextMenu; class WebCookieManager; -class WebFormRepostDecision; class WebSettings; namespace Internal DALI_INTERNAL @@ -192,71 +190,6 @@ public: */ using WebViewScreenshotCapturedCallback = std::function; - /** - * @brief WebView signal type related with page loading. - */ - using WebViewPageLoadSignalType = Signal; - - /** - * @brief WebView signal type related with page loading error. - */ - using WebViewPageLoadErrorSignalType = Signal)>; - - /** - * @brief WebView signal type related with scroll edge reached. - */ - using WebViewScrollEdgeReachedSignalType = Signal; - - /** - * @brief WebView signal type related with url changed. - */ - using WebViewUrlChangedSignalType = Signal; - - /** - * @brief WebView signal type related with form repost decision. - */ - using WebViewFormRepostDecisionSignalType = Signal)>; - - /** - * @brief WebView signal type related with frame rendered. - */ - using WebViewFrameRenderedSignalType = Signal; - - /** - * @brief WebView signal type related with http request interceptor. - */ - using WebViewRequestInterceptorSignalType = Signal)>; - - /** - * @brief WebView signal type related with console message. - */ - using WebViewConsoleMessageSignalType = Signal)>; - - /** - * @brief WebView signal type related with response policy decision. - */ - using WebViewResponsePolicyDecisionSignalType = Signal)>; - - /** - * @brief WebView signal type related with certificate changed. - */ - using WebViewCertificateSignalType = Signal)>; - - /** - * @brief WebView signal type related with http authentication. - */ - using WebViewHttpAuthHandlerSignalType = Signal)>; - - /** - * @brief WebView signal type related with context menu shown. - */ - using WebViewContextMenuShownSignalType = Signal)>; - - /** - * @brief WebView signal type related with context menu hidden. - */ - using WebViewContextMenuHiddenSignalType = Signal)>; - public: /** * @brief Create an initialized WebView. @@ -283,6 +216,16 @@ public: static WebView New(uint32_t argc, char** argv); /** + * @brief Get context of web engine. + */ + static Dali::WebEngineContext* GetContext(); + + /** + * @brief Get cookie manager of web engine. + */ + static Dali::WebEngineCookieManager* GetCookieManager(); + + /** * @brief Create an uninitialized WebView. */ WebView(); @@ -326,16 +269,6 @@ public: Dali::Toolkit::WebSettings* GetSettings() const; /** - * @brief Get WebContext of WebEngine. - */ - Dali::Toolkit::WebContext* GetContext() const; - - /** - * @brief Get CookieManager of WebEngine. - */ - Dali::Toolkit::WebCookieManager* GetCookieManager() const; - - /** * @brief Get WebBackForwardList of WebEngine. */ Dali::Toolkit::WebBackForwardList* GetBackForwardList() const; @@ -500,9 +433,9 @@ public: * @brief Evaluate JavaScript code represented as a string. * * @param[in] script The JavaScript code - * @param[in] resultHandler The callback function to be called by the JavaScript runtime. This carries evaluation result + * @param[in] resultHandler The callback to be called by the JavaScript runtime. This carries evaluation result */ - void EvaluateJavaScript(const std::string& script, std::function resultHandler); + void EvaluateJavaScript(const std::string& script, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback resultHandler); /** * @brief Evaluate JavaScript code represented as a string. @@ -535,7 +468,7 @@ public: * @param[in] exposedObjectName The name of exposed object * @param[in] handler The callback function */ - void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function handler); + void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler); /** * @brief Register alert callback for javascript. @@ -684,122 +617,128 @@ public: /** * @brief Set or unset TTS focus of the webview. * @param[in] focused True if it is gained, false lost. - * @return true if succeeded, false otherwise. * @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 Connect to this signal to be notified when page loading is started. + * @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 in progress. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewPageLoadSignalType& PageLoadStartedSignal(); + void RegisterPageLoadInProgressCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback); /** - * @brief Connect to this signal to be notified when page loading is in progress. + * @brief Callback to be called when page loading is finished. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewPageLoadSignalType& PageLoadInProgressSignal(); + void RegisterPageLoadFinishedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback); /** - * @brief Connect to this signal to be notified when page loading is finished. + * @brief Callback to be called when an error occurs in page loading. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewPageLoadSignalType& PageLoadFinishedSignal(); + void RegisterPageLoadErrorCallback(Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback callback); /** - * @brief Connect to this signal to be notified when an error occurs in page loading. + * @brief Callback to be called when scroll edge is reached. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewPageLoadErrorSignalType& PageLoadErrorSignal(); + void RegisterScrollEdgeReachedCallback(Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback callback); /** - * @brief Connect to this signal to be notified when scroll edge is reached. + * @brief Callback to be called when url is changed. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewScrollEdgeReachedSignalType& ScrollEdgeReachedSignal(); + void RegisterUrlChangedCallback(Dali::WebEnginePlugin::WebEngineUrlChangedCallback callback); /** - * @brief Connect to this signal to be notified when url is changed. + * @brief Callback to be called when form repost decision is requested. * - * @return A signal object to connect with + * @param[in] callback */ - WebViewUrlChangedSignalType& UrlChangedSignal(); + void RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback callback); /** - * @brief Connect to this signal to be notified when form repost decision is requested. + * @brief Callback to be called when frame is rendered. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewFormRepostDecisionSignalType& FormRepostDecisionSignal(); + void RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback); /** - * @brief Connect to this signal to be notified when frame is rendered. + * @brief Callback to be called when console message will be logged. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewFrameRenderedSignalType& FrameRenderedSignal(); + void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback); /** - * @brief Connect to this signal to be notified when http request need be intercepted. + * @brief Callback to be called when response policy would be decided. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewRequestInterceptorSignalType& RequestInterceptorSignal(); + void RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback callback); /** - * @brief Connect to this signal to be notified when console message will be logged. + * @brief Callback to be called when navigation policy would be decided. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewConsoleMessageSignalType& ConsoleMessageSignal(); + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback); /** - * @brief Connect to this signal to be notified when response policy would be decided. + * @brief Callback to be called when certificate need be confirmed. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal(); + void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); /** - * @brief Connect to this signal to be notified when certificate need be confirmed. + * @brief Callback to be called when ssl certificate is changed. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewCertificateSignalType& CertificateConfirmSignal(); + void RegisterSslCertificateChangedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); /** - * @brief Connect to this signal to be notified when ssl certificate is changed. + * @brief Callback to be called when http authentication need be confirmed. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewCertificateSignalType& SslCertificateChangedSignal(); + void RegisterHttpAuthHandlerCallback(Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback callback); /** - * @brief Connect to this signal to be notified when http authentication need be confirmed. + * @brief Callback to be called when context menu would be shown. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewHttpAuthHandlerSignalType& HttpAuthHandlerSignal(); + void RegisterContextMenuShownCallback(Dali::WebEnginePlugin::WebEngineContextMenuShownCallback callback); /** - * @brief Connect to this signal to be notified when context menu would be shown. + * @brief Callback to be called when context menu would be hidden. * - * @return A signal object to connect with. + * @param[in] callback */ - WebViewContextMenuShownSignalType& ContextMenuShownSignal(); + void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback); /** - * @brief Connect to this signal to be notified when context menu would be hidden. + * @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. */ - WebViewContextMenuHiddenSignalType& ContextMenuHiddenSignal(); + void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback); public: // Not intended for application developers /// @cond internal