X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fweb-view%2Fweb-view-impl.h;h=6f5e38639d27e78313f0033aadc4b4929be3638a;hp=15f3ce35fe11cdb109929d21ba8823b7501baa04;hb=2f810b8a969d39e569b39107a02dfaf35c0c48bc;hpb=e3f5e0a1ab0c5e56418f3abbb4cf6983d767d48b 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 15f3ce3..6f5e386 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,15 @@ // EXTERNAL INCLUDES #include -#include +#include +#include #include #include #include +#include // INTERNAL INCLUDES +#include #include #include #include @@ -38,8 +41,6 @@ namespace Toolkit class KeyEvent; class TouchEvent; class WebBackForwardList; -class WebContext; -class WebCookieManager; class WebSettings; class WebView; @@ -73,19 +74,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() @@ -353,11 +359,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 +369,11 @@ public: void RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback callback); /** + * @copydoc Dali::Toolkit::WebView::RegisterNavigationPolicyDecidedCallback() + */ + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback); + + /** * @copydoc Dali::Toolkit::WebView::RegisterCertificateConfirmedCallback() */ void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); @@ -423,6 +429,11 @@ private: // From Control void OnInitialize() override; /** + * @copydoc Toolkit::Internal::Control::CreateAccessibleObject() + */ + DevelControl::ControlAccessible* CreateAccessibleObject() override; + + /** * @copydoc Toolkit::Control::GetNaturalSize */ Vector3 GetNaturalSize() override; @@ -454,6 +465,11 @@ private: WebView& operator=(const WebView& webView); /** + * @brief Gets web engine plugin. + */ + Dali::WebEnginePlugin* GetPlugin() const; + + /** * @brief Set an absolute scroll of the given view. * @param[in] x The coordinate x of scroll * @param[in] y The coordinate y of scroll @@ -663,13 +679,34 @@ 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::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; @@ -683,6 +720,8 @@ private: Dali::Toolkit::WebView::WebViewScreenshotCapturedCallback mScreenshotCapturedCallback; Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; + + static std::unordered_map> mPluginWebViewMap; }; } // namespace Internal