X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-web-engine.cpp;h=600374949cdc2e688e5a973863ad16b57ba9e56f;hp=c1d8700d0f7bf5dd5954f4cf6a2cde3284ad437c;hb=2f810b8a969d39e569b39107a02dfaf35c0c48bc;hpb=b0faad981257720e1a5fb15af45647f30b669adf diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp index c1d8700..6003749 100755 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp @@ -1,5 +1,5 @@ /* - * 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. @@ -17,24 +17,24 @@ #include "toolkit-timer.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -55,15 +55,16 @@ namespace Adaptor class WebEngine; class MockWebEngineContext; +class MockWebEngineCookieManager; namespace { - // Generally only one WebEngine instance exists. // If > 1, a new web engine has been created by CreateWindowSignal. -static WebEngine* gInstance = nullptr; -static int gInstanceCount = 0; -static MockWebEngineContext* gWebEngineContextInstance = nullptr; +WebEngine* gInstance = nullptr; +int gInstanceCount = 0; +MockWebEngineContext* gWebEngineContextInstance = nullptr; +MockWebEngineCookieManager* gMockWebEngineCookieManager = nullptr; bool OnGoBack(); bool OnGoForward(); @@ -83,6 +84,7 @@ bool OnStorageUsageAcquired(); bool OnFormPasswordAcquired(); bool OnDownloadStarted(); bool OnMimeOverridden(); +bool OnRequestIntercepted(); bool OnChangesWatch(); bool OnPlainTextReceived(); @@ -155,7 +157,7 @@ public: { } - bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) + bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override { if (callback) { @@ -165,12 +167,12 @@ public: return true; } - bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin) + bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin) override { return true; } - bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) + bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override { if (callback) { @@ -180,7 +182,7 @@ public: return true; } - bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback) + bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback) override { if (callback) { @@ -194,7 +196,7 @@ public: { } - bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin) + bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin) override { return true; } @@ -207,12 +209,12 @@ public: { } - bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin) + bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin) override { return true; } - void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback) + void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback) override { if (callback) { @@ -221,7 +223,7 @@ public: } } - void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback) + void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback) override { if (callback) { @@ -230,7 +232,7 @@ public: } } - void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback) + void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback) override { if (callback) { @@ -239,6 +241,15 @@ public: } } + void RegisterRequestInterceptedCallback(Dali::WebEngineContext::WebEngineRequestInterceptedCallback callback) override + { + if (callback) + { + ConnectToGlobalSignal(&OnRequestIntercepted); + mRequestInterceptedCallback = callback; + } + } + void EnableCache( bool cacheEnabled ) override { mockCacheEnabled = cacheEnabled; @@ -317,10 +328,11 @@ public: public: Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback mSecurityOriginAcquiredCallback; - Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback; - Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback; - Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback; - Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback; + Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback; + Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback; + Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback; + Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback; + Dali::WebEngineContext::WebEngineRequestInterceptedCallback mRequestInterceptedCallback; private: Dali::WebEngineContext::CacheModel mockModel; @@ -331,6 +343,15 @@ private: float mockZoomFactor; }; +Dali::WebEngineContext* GetContext() +{ + if (!gWebEngineContextInstance) + { + gWebEngineContextInstance = new MockWebEngineContext(); + } + return gWebEngineContextInstance; +} + class MockWebEngineCookieManager : public Dali::WebEngineCookieManager { public: @@ -373,6 +394,15 @@ private: Dali::WebEngineCookieManager::CookieAcceptPolicy mockCookieAcceptPolicy; }; +Dali::WebEngineCookieManager* GetCookieManager() +{ + if (!gMockWebEngineCookieManager) + { + gMockWebEngineCookieManager = new MockWebEngineCookieManager(); + } + return gMockWebEngineCookieManager; +} + class MockWebEngineBackForwardListItem : public Dali::WebEngineBackForwardListItem { public: @@ -457,7 +487,6 @@ public: } }; - class MockWebEngineCertificate : public Dali::WebEngineCertificate { public: @@ -599,39 +628,6 @@ private: MockWebEngineFrame mockWebFrame; }; -class MockWebEngineRequestInterceptor : public WebEngineRequestInterceptor -{ -public: - MockWebEngineRequestInterceptor() - { - } - - std::string GetUrl() const override - { - return "http://test.html"; - } - - bool Ignore() override - { - return true; - } - - bool SetResponseStatus(int statusCode, const std::string &customedStatusText) override - { - return true; - } - - bool AddResponseHeader(const std::string &fieldName, const std::string &fieldValue) override - { - return true; - } - - bool AddResponseBody(const std::string &body, uint32_t length) override - { - return true; - } -}; - class MockWebEngineConsoleMessage : public Dali::WebEngineConsoleMessage { public: @@ -835,7 +831,7 @@ public: return "test"; } - Dali::Property::Map& GetAttributes() const override + Dali::Property::Map GetAttributes() const override { return mockAttributesMap; } @@ -1150,6 +1146,186 @@ private: std::string mockDefaultTextEncodingName; }; +class MockWebEnginePlugin : public Dali::WebEnginePlugin +{ +public: + MockWebEnginePlugin(){} + void Create(uint32_t width, uint32_t height, const std::string& locale, const std::string& timezoneId) override {} + void Create(uint32_t width, uint32_t height, uint32_t argc, char** argv) override {} + void Destroy() override {} + WebEngineSettings& GetSettings() const override { return *((WebEngineSettings*)&settings); } + WebEngineBackForwardList& GetBackForwardList() const override { return *((WebEngineBackForwardList*)&backForwardList); } + void LoadUrl(const std::string& url) override {} + std::string GetTitle() const override { return std::string(); } + Dali::PixelData GetFavicon() const override { return Dali::PixelData(); } + NativeImageSourcePtr GetNativeImageSource() override { return nullptr; } + std::string GetUrl() const override { return std::string(); } + void LoadHtmlString(const std::string& htmlString) override {} + bool LoadHtmlStringOverrideCurrentEntry(const std::string& html, const std::string& basicUri, const std::string& unreachableUrl) override { return false; } + bool LoadContents(const std::string& contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) override { return false; } + void Reload() override {} + bool ReloadWithoutCache() override { return false; } + void StopLoading() override {} + void Suspend() override {} + void Resume() override {} + void SuspendNetworkLoading() override {} + void ResumeNetworkLoading() override {} + bool AddCustomHeader(const std::string& name, const std::string& value) override { return false; } + bool RemoveCustomHeader(const std::string& name) override { return false; } + uint32_t StartInspectorServer(uint32_t port) override { return 0; } + bool StopInspectorServer() override { return false; } + void ScrollBy(int32_t deltaX, int32_t deltaY) override {} + bool ScrollEdgeBy(int32_t deltaX, int32_t deltaY) override { return false; } + void SetScrollPosition(int32_t x, int32_t y) override {} + Dali::Vector2 GetScrollPosition() const override { return Dali::Vector2(); } + Dali::Vector2 GetScrollSize() const override { return Dali::Vector2(); } + Dali::Vector2 GetContentSize() const override { return Dali::Vector2(); } + bool CanGoForward() override { return false; } + void GoForward() override {} + bool CanGoBack() override { return false; } + void GoBack() override {} + void EvaluateJavaScript(const std::string& script, JavaScriptMessageHandlerCallback resultHandler) override {} + void AddJavaScriptMessageHandler(const std::string& exposedObjectName, JavaScriptMessageHandlerCallback handler) override {} + void RegisterJavaScriptAlertCallback(JavaScriptAlertCallback callback) override {} + void JavaScriptAlertReply() override {} + void RegisterJavaScriptConfirmCallback(JavaScriptConfirmCallback callback) override {} + void JavaScriptConfirmReply(bool confirmed) override {} + void RegisterJavaScriptPromptCallback(JavaScriptPromptCallback callback) override {} + void JavaScriptPromptReply(const std::string& result) override {} + std::unique_ptr CreateHitTest(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode) override { return nullptr; } + bool CreateHitTestAsynchronously(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode, WebEngineHitTestCreatedCallback callback) override { return false; } + void ClearHistory() override {} + void ClearAllTilesResources() override {} + std::string GetUserAgent() const override { return std::string(); } + void SetUserAgent(const std::string& userAgent) override {} + void SetSize(uint32_t width, uint32_t height) override {} + void SetDocumentBackgroundColor(Dali::Vector4 color) override {} + void ClearTilesWhenHidden(bool cleared) override {} + void SetTileCoverAreaMultiplier(float multiplier) override {} + void EnableCursorByClient(bool enabled) override {} + std::string GetSelectedText() const override { return std::string(); } + bool SendTouchEvent(const TouchEvent& touch) override { return false; } + bool SendKeyEvent(const KeyEvent& event) override { return false; } + void EnableMouseEvents(bool enabled) override {} + void EnableKeyEvents(bool enabled) override {} + void SetFocus(bool focused) override {} + void SetPageZoomFactor(float zoomFactor) override {} + float GetPageZoomFactor() const override { return 0.0f; } + void SetTextZoomFactor(float zoomFactor) override {} + float GetTextZoomFactor() const override { return 0.0f; } + float GetLoadProgressPercentage() const override { return 0.0f; } + void SetScaleFactor(float scaleFactor, Dali::Vector2 point) override {} + float GetScaleFactor() const override { return 0.0f; } + void ActivateAccessibility(bool activated) override {} + Accessibility::Address GetAccessibilityAddress() override { return Accessibility::Address(); } + bool SetVisibility(bool visible) override { return false; } + bool HighlightText(const std::string& text, FindOption options, uint32_t maxMatchCount) override { return false; } + void AddDynamicCertificatePath(const std::string& host, const std::string& certPath) override {} + Dali::PixelData GetScreenshot(Dali::Rect viewArea, float scaleFactor) override { return Dali::PixelData(); } + bool GetScreenshotAsynchronously(Dali::Rect viewArea, float scaleFactor, ScreenshotCapturedCallback callback) override { return false; } + bool CheckVideoPlayingAsynchronously(VideoPlayingCallback callback) override { return false; } + void RegisterGeolocationPermissionCallback(GeolocationPermissionCallback callback) override {} + void UpdateDisplayArea(Dali::Rect displayArea) override {} + void EnableVideoHole(bool enabled) override {} + bool SendHoverEvent(const HoverEvent& event) override { return false; } + bool SendWheelEvent(const WheelEvent& event) override { return false; } + WebEngineFrameRenderedSignalType& FrameRenderedSignal() override { return frameRenderedSignal; } + void RegisterPageLoadStartedCallback(WebEnginePageLoadCallback callback) override {} + void RegisterPageLoadInProgressCallback(WebEnginePageLoadCallback callback) override {} + void RegisterPageLoadFinishedCallback(WebEnginePageLoadCallback callback) override {} + void RegisterPageLoadErrorCallback(WebEnginePageLoadErrorCallback callback) override {} + void RegisterScrollEdgeReachedCallback(WebEngineScrollEdgeReachedCallback callback) override {} + void RegisterUrlChangedCallback(WebEngineUrlChangedCallback callback) override {} + void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) override {} + void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) override {} + void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) override {} + void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) override {} + void RegisterCertificateConfirmedCallback(WebEngineCertificateCallback callback) override {} + void RegisterSslCertificateChangedCallback(WebEngineCertificateCallback callback) override {} + void RegisterHttpAuthHandlerCallback(WebEngineHttpAuthHandlerCallback callback) override {} + void RegisterContextMenuShownCallback(WebEngineContextMenuShownCallback callback) override {} + void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) override {} + void GetPlainTextAsynchronously(PlainTextReceivedCallback callback) override {} +private: + MockWebEngineSettings settings; + MockWebEngineBackForwardList backForwardList; + WebEngineFrameRenderedSignalType frameRenderedSignal; +}; + +Dali::WebEnginePlugin* GetWebEnginePlugin() +{ + static MockWebEnginePlugin plugin; + return &plugin; +} + +class MockWebEngineRequestInterceptor : public WebEngineRequestInterceptor +{ +public: + MockWebEngineRequestInterceptor() + { + } + + Dali::WebEnginePlugin* GetWebEngine() const + { + return GetWebEnginePlugin(); + } + + std::string GetUrl() const override + { + return "http://test.html"; + } + + Dali::Property::Map GetHeaders() const override + { + return mockHeadersMap; + } + + std::string GetMethod() const override + { + return "GET"; + } + + bool Ignore() override + { + return true; + } + + bool SetResponseStatus(int statusCode, const std::string& customedStatusText) override + { + return true; + } + + bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) override + { + mockHeadersMap.Add(fieldName, fieldValue); + return true; + } + + bool AddResponseHeaders(const Dali::Property::Map& headers) override + { + mockHeadersMap.Merge(headers); + return true; + } + + bool AddResponseBody(const int8_t* body, uint32_t length) override + { + return true; + } + + bool AddResponse(const std::string& headers, const int8_t* body, uint32_t length) override + { + return true; + } + + bool WriteResponseChunk(const int8_t* chunk, uint32_t length) override + { + return true; + } + +private: + Dali::Property::Map mockHeadersMap; +}; + class WebEngine: public Dali::BaseObject { public: @@ -1170,13 +1346,6 @@ public: } mockWebEngineSettings = new MockWebEngineSettings(); - MockWebEngineContext* engineContext = new MockWebEngineContext(); - mockWebEngineContext = engineContext; - if ( gInstanceCount == 1 ) - { - gWebEngineContextInstance = engineContext; - } - mockWebEngineCookieManager = new MockWebEngineCookieManager(); mockWebEngineBackForwardList = new MockWebEngineBackForwardList(); } @@ -1185,13 +1354,10 @@ public: gInstanceCount--; if( !gInstanceCount ) { - gInstance = 0; - gWebEngineContextInstance = 0; + gInstance = nullptr; } delete mockWebEngineSettings; - delete mockWebEngineContext; - delete mockWebEngineCookieManager; delete mockWebEngineBackForwardList; } @@ -1200,16 +1366,6 @@ public: return *mockWebEngineSettings; } - Dali::WebEngineContext& GetContext() const - { - return *mockWebEngineContext; - } - - Dali::WebEngineCookieManager& GetCookieManager() const - { - return *mockWebEngineCookieManager; - } - Dali::WebEngineBackForwardList& GetBackForwardList() const { return *mockWebEngineBackForwardList; @@ -1414,6 +1570,11 @@ public: return mScaleFactor; } + Dali::Accessibility::Address GetAccessibilityAddress() + { + return {":9.99", "root"}; + } + Dali::PixelData GetScreenshot(Dali::Rect viewArea, float scaleFactor) { uint32_t bufferSize = viewArea.width * viewArea.height * 4 ; @@ -1493,11 +1654,6 @@ public: mFormRepostDecidedCallback = callback; } - void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback) - { - mRequestInterceptorCallback = callback; - } - void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback) { mConsoleMessageCallback = callback; @@ -1508,6 +1664,11 @@ public: mResponsePolicyDecisionCallback = callback; } + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback) + { + mNavigationPolicyDecisionCallback = callback; + } + void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback) { mCertificateConfirmCallback = callback; @@ -1558,36 +1719,34 @@ public: Dali::Vector2 mScrollSize; Dali::Vector2 mContentSize; WebEngineBackForwardList* mockWebEngineBackForwardList; - WebEngineContext* mockWebEngineContext; - WebEngineCookieManager* mockWebEngineCookieManager; WebEngineSettings* mockWebEngineSettings; std::vector mResultCallbacks; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadStartedCallback; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadInProgressCallback; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadFinishedCallback; - Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback mPageLoadErrorCallback; - Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback mScrollEdgeReachedCallback; - Dali::WebEnginePlugin::WebEngineUrlChangedCallback mUrlChangedCallback; - Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback; - Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; - Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback mRequestInterceptorCallback; - Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback mConsoleMessageCallback; - Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback mResponsePolicyDecisionCallback; - Dali::WebEnginePlugin::WebEngineCertificateCallback mCertificateConfirmCallback; - Dali::WebEnginePlugin::WebEngineCertificateCallback mSslCertificateChangedCallback; - Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback mHttpAuthHandlerCallback; - Dali::WebEnginePlugin::WebEngineContextMenuShownCallback mContextMenuShownCallback; - Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback mContextMenuHiddenCallback; - Dali::WebEnginePlugin::JavaScriptAlertCallback mJavaScriptAlertCallback; - Dali::WebEnginePlugin::JavaScriptConfirmCallback mJavaScriptConfirmCallback; - Dali::WebEnginePlugin::JavaScriptPromptCallback mJavaScriptPromptCallback; - Dali::WebEnginePlugin::ScreenshotCapturedCallback mScreenshotCapturedCallback; - Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback; - Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback; - Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback; - Dali::WebEnginePlugin::PlainTextReceivedCallback mPlainTextReceivedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadStartedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadInProgressCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadFinishedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback mPageLoadErrorCallback; + Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback mScrollEdgeReachedCallback; + Dali::WebEnginePlugin::WebEngineUrlChangedCallback mUrlChangedCallback; + Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback; + Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; + Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback mConsoleMessageCallback; + Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback mResponsePolicyDecisionCallback; + Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback mNavigationPolicyDecisionCallback; + Dali::WebEnginePlugin::WebEngineCertificateCallback mCertificateConfirmCallback; + Dali::WebEnginePlugin::WebEngineCertificateCallback mSslCertificateChangedCallback; + Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback mHttpAuthHandlerCallback; + Dali::WebEnginePlugin::WebEngineContextMenuShownCallback mContextMenuShownCallback; + Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback mContextMenuHiddenCallback; + Dali::WebEnginePlugin::JavaScriptAlertCallback mJavaScriptAlertCallback; + Dali::WebEnginePlugin::JavaScriptConfirmCallback mJavaScriptConfirmCallback; + Dali::WebEnginePlugin::JavaScriptPromptCallback mJavaScriptPromptCallback; + Dali::WebEnginePlugin::ScreenshotCapturedCallback mScreenshotCapturedCallback; + Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback; + Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback; + Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback; + Dali::WebEnginePlugin::PlainTextReceivedCallback mPlainTextReceivedCallback; }; @@ -1659,11 +1818,6 @@ bool OnLoadUrl() { gInstance->mFrameRenderedCallback(); } - if (gInstance->mRequestInterceptorCallback) - { - std::unique_ptr interceptor(new MockWebEngineRequestInterceptor()); - gInstance->mRequestInterceptorCallback(std::move(interceptor)); - } if (gInstance->mConsoleMessageCallback) { std::unique_ptr message(new MockWebEngineConsoleMessage()); @@ -1674,6 +1828,11 @@ bool OnLoadUrl() std::unique_ptr policyDecision(new MockWebEnginePolicyDecision()); gInstance->mResponsePolicyDecisionCallback(std::move(policyDecision)); } + if (gInstance->mNavigationPolicyDecisionCallback) + { + std::unique_ptr policyDecision(new MockWebEnginePolicyDecision()); + gInstance->mNavigationPolicyDecisionCallback(std::move(policyDecision)); + } if (gInstance->mCertificateConfirmCallback) { std::unique_ptr certificate(new MockWebEngineCertificate()); @@ -1879,19 +2038,24 @@ bool OnMimeOverridden() return false; } -bool OnChangesWatch() +bool OnRequestIntercepted() { - DisconnectFromGlobalSignal( &OnChangesWatch ); - - if ( gInstance ) + DisconnectFromGlobalSignal(&OnRequestIntercepted); + if (gWebEngineContextInstance) { - MockWebEngineCookieManager* temp = (MockWebEngineCookieManager *)(&(gInstance->GetCookieManager())); - if ( temp ) - { - temp->mChangesWatchCallback(); - } + Dali::WebEngineRequestInterceptorPtr interceptor = new MockWebEngineRequestInterceptor(); + gWebEngineContextInstance->mRequestInterceptedCallback(interceptor); } + return false; +} +bool OnChangesWatch() +{ + DisconnectFromGlobalSignal(&OnChangesWatch); + if (gMockWebEngineCookieManager) + { + gMockWebEngineCookieManager->mChangesWatchCallback(); + } return false; } @@ -1947,6 +2111,16 @@ WebEngine WebEngine::New() return WebEngine( baseObject ); } +Dali::WebEngineContext* WebEngine::GetContext() +{ + return Internal::Adaptor::GetContext(); +} + +Dali::WebEngineCookieManager* WebEngine::GetCookieManager() +{ + return Internal::Adaptor::GetCookieManager(); +} + WebEngine::WebEngine( const WebEngine& WebEngine ) : BaseHandle( WebEngine ) { @@ -1980,16 +2154,6 @@ WebEngineSettings& WebEngine::GetSettings() const return Internal::Adaptor::GetImplementation( *this ).GetSettings(); } -WebEngineContext& WebEngine::GetContext() const -{ - return Internal::Adaptor::GetImplementation( *this ).GetContext(); -} - -WebEngineCookieManager& WebEngine::GetCookieManager() const -{ - return Internal::Adaptor::GetImplementation( *this ).GetCookieManager(); -} - WebEngineBackForwardList& WebEngine::GetBackForwardList() const { return Internal::Adaptor::GetImplementation( *this ).GetBackForwardList(); @@ -2015,7 +2179,12 @@ std::string WebEngine::GetUrl() const return Internal::Adaptor::GetImplementation( *this ).GetUrl(); } -NativeImageInterfacePtr WebEngine::GetNativeImageSource() +Dali::WebEnginePlugin* WebEngine::GetPlugin() const +{ + return Internal::Adaptor::GetWebEnginePlugin(); +} + +NativeImageSourcePtr WebEngine::GetNativeImageSource() { Any source; Dali::NativeImageSourcePtr sourcePtr = Dali::NativeImageSource::New( source ); @@ -2174,6 +2343,11 @@ void WebEngine::ActivateAccessibility(bool activated) { } +Accessibility::Address WebEngine::GetAccessibilityAddress() +{ + return Internal::Adaptor::GetImplementation(*this).GetAccessibilityAddress(); +} + bool WebEngine::HighlightText(const std::string& text, Dali::WebEnginePlugin::FindOption options, uint32_t maxMatchCount) { return true; @@ -2373,11 +2547,6 @@ void WebEngine::RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngi Internal::Adaptor::GetImplementation( *this ).RegisterFormRepostDecidedCallback(callback); } -void WebEngine::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback) -{ - Internal::Adaptor::GetImplementation( *this ).RegisterRequestInterceptorCallback(callback); -} - void WebEngine::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback) { Internal::Adaptor::GetImplementation( *this ).RegisterConsoleMessageReceivedCallback(callback); @@ -2388,6 +2557,11 @@ void WebEngine::RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::Web Internal::Adaptor::GetImplementation( *this ).RegisterResponsePolicyDecidedCallback(callback); } +void WebEngine::RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback) +{ + Internal::Adaptor::GetImplementation(*this).RegisterNavigationPolicyDecidedCallback(callback); +} + void WebEngine::RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback) { Internal::Adaptor::GetImplementation( *this ).RegisterCertificateConfirmedCallback(callback); @@ -2419,4 +2593,3 @@ void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextRecei } } // namespace Dali; -