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=377ea61358834d14023f2b08d7ae1b31683e912f;hp=ca1ec27271e1723bef6844193d021f39f0205afe;hb=e1dfa20fee127dd3bcfabf0c9f1aea6b5dd99f5e;hpb=8ebe42b2ca06a57a08b02a975146af34c1b9bcd6 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 ca1ec27..377ea61 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,19 @@ public: static Toolkit::WebView New(uint32_t argc, char** argv); /** - * @copydoc Dali::Toolkit::WebView::GetSettings() + * @copydoc Dali::Toolkit::WebView::GetContext() */ - Dali::Toolkit::WebSettings* GetSettings() const; + static Dali::WebEngineContext* GetContext(); /** - * @copydoc Dali::Toolkit::WebView::GetContext() + * @copydoc Dali::Toolkit::WebView::GetCookieManager() */ - Dali::Toolkit::WebContext* GetContext() const; + static Dali::WebEngineCookieManager* GetCookieManager(); /** - * @copydoc Dali::Toolkit::WebView::GetCookieManager() + * @copydoc Dali::Toolkit::WebView::GetSettings() */ - Dali::Toolkit::WebCookieManager* GetCookieManager() const; + Dali::Toolkit::WebSettings* GetSettings() const; /** * @copydoc Dali::Toolkit::WebView::GetBackForwardList() @@ -363,6 +363,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); @@ -418,6 +423,11 @@ private: // From Control void OnInitialize() override; /** + * @copydoc Toolkit::Internal::Control::CreateAccessibleObject() + */ + DevelControl::ControlAccessible* CreateAccessibleObject() override; + + /** * @copydoc Toolkit::Control::GetNaturalSize */ Vector3 GetNaturalSize() override; @@ -658,13 +668,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;