X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fweb-view%2Fweb-view-impl.h;h=61834a2d0604bdf2b389467b6ce36ce8387142b6;hb=c70520ff81c009acafc2a2cfd1ac38adb64ffcae;hp=c2d674233964352a46d3ffa0c5846bb4676e6e60;hpb=41e9b753d4490c1d20d35dc411653fecc16772cc;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.h b/dali-toolkit/internal/controls/web-view/web-view-impl.h index c2d6742..61834a2 100755 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.h +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_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. @@ -20,12 +20,14 @@ // EXTERNAL INCLUDES #include -#include +#include +#include #include #include #include // INTERNAL INCLUDES +#include #include #include #include @@ -38,8 +40,6 @@ namespace Toolkit class KeyEvent; class TouchEvent; class WebBackForwardList; -class WebContext; -class WebCookieManager; class WebSettings; class WebView; @@ -73,19 +73,24 @@ public: static Toolkit::WebView New(uint32_t argc, char** argv); /** - * @copydoc Dali::Toolkit::WebView::GetSettings() + * @copydoc Dali::Toolkit::WebView::FindWebView() */ - Dali::Toolkit::WebSettings* GetSettings() const; + static Toolkit::WebView FindWebView(Dali::WebEnginePlugin* plugin); /** * @copydoc Dali::Toolkit::WebView::GetContext() */ - Dali::Toolkit::WebContext* GetContext() const; + static Dali::WebEngineContext* GetContext(); /** * @copydoc Dali::Toolkit::WebView::GetCookieManager() */ - Dali::Toolkit::WebCookieManager* GetCookieManager() const; + static Dali::WebEngineCookieManager* GetCookieManager(); + + /** + * @copydoc Dali::Toolkit::WebView::GetSettings() + */ + Dali::Toolkit::WebSettings* GetSettings() const; /** * @copydoc Dali::Toolkit::WebView::GetBackForwardList() @@ -93,6 +98,11 @@ public: Dali::Toolkit::WebBackForwardList* GetBackForwardList() const; /** + * @copydoc Dali::Toolkit::WebView::GetPlugin() + */ + Dali::WebEnginePlugin* GetPlugin() const; + + /** * @copydoc Dali::Toolkit::WebView::GetFavicon() */ Dali::Toolkit::ImageView GetFavicon() const; @@ -353,11 +363,6 @@ public: void RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::RegisterRequestInterceptorCallback() - */ - void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback); - - /** * @copydoc Dali::Toolkit::WebView::RegisterConsoleMessageReceivedCallback() */ void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback); @@ -368,6 +373,16 @@ public: void RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback callback); /** + * @copydoc Dali::Toolkit::WebView::RegisterNavigationPolicyDecidedCallback() + */ + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback); + + /** + * @copydoc Dali::Toolkit::WebView::RegisterNewWindowCreatedCallback() + */ + void RegisterNewWindowCreatedCallback(Dali::WebEnginePlugin::WebEngineNewWindowCreatedCallback callback); + + /** * @copydoc Dali::Toolkit::WebView::RegisterCertificateConfirmedCallback() */ void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); @@ -392,6 +407,11 @@ public: */ void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback); + /** + * @copydoc Dali::Toolkit::WebView::GetPlainTextAsynchronously() + */ + void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback); + public: // Properties /** * @brief Called when a property of an object of this type is set. @@ -418,6 +438,11 @@ private: // From Control void OnInitialize() override; /** + * @copydoc Toolkit::Internal::Control::CreateAccessibleObject() + */ + DevelControl::ControlAccessible* CreateAccessibleObject() override; + + /** * @copydoc Toolkit::Control::GetNaturalSize */ Vector3 GetNaturalSize() override; @@ -572,12 +597,6 @@ private: bool SetVisibility(bool visible); /** - * @brief Update display area of web view. - * @param[in] source The soource triggers Notification. - */ - void UpdateDisplayArea(Dali::PropertyNotification& source); - - /** * @brief Enable/Disable video hole for video playing. * @param[in] enabled True if video hole is enabled, false otherwise. */ @@ -640,9 +659,10 @@ private: void OnFrameRendered(); /** - * @brief Callback function to be called when frame is rendered. This is to check initial buffer is ready. + * @brief Callback for updating display area of web view. + * @param[in] source The soource triggers Notification. */ - void OnInitialFrameRendered(); + void OnDisplayAreaUpdated(Dali::PropertyNotification& source); /** * @brief Callback function to be called when visibility is changed. @@ -658,13 +678,39 @@ private: */ void OnScreenshotCaptured(Dali::PixelData pixel); +protected: + class WebViewAccessible : public DevelControl::ControlAccessible + { + public: + WebViewAccessible() = delete; + + WebViewAccessible(Dali::Actor self, Dali::WebEngine& webEngine); + + protected: + /** + * @copydoc Dali::Accessibility::Accessible::GetAttributes() + */ + Dali::Accessibility::Attributes GetAttributes() const override; + + /** + * @copydoc Dali::Accessibility::ActorAccessible::DoGetChildren() + */ + void DoGetChildren(std::vector& children) override; + + private: + void OnAccessibilityEnabled(); + void OnAccessibilityDisabled(); + void SetRemoteChildAddress(Dali::Accessibility::Address address); + + Dali::Accessibility::ProxyAccessible mRemoteChild; + Dali::WebEngine& mWebEngine; + }; + private: Dali::Toolkit::Visual::Base mVisual; Dali::Size mWebViewSize; Dali::WebEngine mWebEngine; - std::unique_ptr mWebContext; - std::unique_ptr mWebCookieManager; std::unique_ptr mWebSettings; std::unique_ptr mWebBackForwardList;